Jesús Pérez 44648e3206
chore: complete nickel migration and consolidate legacy configs
- Remove KCL ecosystem (~220 files deleted)
- Migrate all infrastructure to Nickel schema system
- Consolidate documentation: legacy docs → provisioning/docs/src/
- Add CI/CD workflows (.github/) and Rust build config (.cargo/)
- Update core system for Nickel schema parsing
- Update README.md and CHANGES.md for v5.0.0 release
- Fix pre-commit hooks: end-of-file, trailing-whitespace
- Breaking changes: KCL workspaces require migration
- Migration bridge available in docs/src/development/
2026-01-08 09:55:37 +00:00

149 lines
4.3 KiB
Django/Jinja

# RAG System Configuration - Nickel Format
# Auto-generated by provisioning TypeDialog
# Edit via: nu provisioning/.typedialog/provisioning/platform/scripts/configure.nu rag {mode}
# Or manually edit and validate with: nickel typecheck
let rag_schema = import "../schemas/rag.ncl" in
{
rag | rag_schema.RagConfig = {
# RAG System Control
{%- if rag_enabled is defined %}
rag = {
enabled = {{ rag_enabled | lower }},
},
{%- endif %}
# Embeddings Configuration
{%- if embeddings_provider or embeddings_model %}
embeddings = {
{{%- if embeddings_provider %}
provider = "{{ embeddings_provider }}",
{%- endif %}
{%- if embeddings_model %}
model = "{{ embeddings_model }}",
{%- endif %}
{%- if embeddings_dimension %}
dimension = {{ embeddings_dimension }},
{%- endif %}
{%- if embeddings_batch_size %}
batch_size = {{ embeddings_batch_size }},
{%- endif %}
{%- if embeddings_api_key %}
api_key = "{{ embeddings_api_key }}",
{%- endif %}
},
{%- endif %}
# Vector Database Configuration
{%- if vector_db_type or vector_db_url %}
vector_db = {
{%- if vector_db_type %}
db_type = "{{ vector_db_type }}",
{%- endif %}
{%- if vector_db_url %}
url = "{{ vector_db_url }}",
{%- endif %}
{%- if vector_db_namespace %}
namespace = "{{ vector_db_namespace }}",
{%- endif %}
{%- if vector_db_database %}
database = "{{ vector_db_database }}",
{%- endif %}
{%- if vector_db_hnsw_m %}
hnsw_m = {{ vector_db_hnsw_m }},
{%- endif %}
{%- if vector_db_hnsw_ef_construction %}
hnsw_ef_construction = {{ vector_db_hnsw_ef_construction }},
{%- endif %}
},
{%- endif %}
# Language Model Configuration
{%- if llm_provider or llm_model %}
llm = {
{%- if llm_provider %}
provider = "{{ llm_provider }}",
{%- endif %}
{%- if llm_model %}
model = "{{ llm_model }}",
{%- endif %}
{%- if llm_api_key %}
api_key = "{{ llm_api_key }}",
{%- endif %}
{%- if llm_api_url %}
api_url = "{{ llm_api_url }}",
{%- endif %}
{%- if llm_temperature %}
temperature = {{ llm_temperature }},
{%- endif %}
{%- if llm_max_tokens %}
max_tokens = {{ llm_max_tokens }},
{%- endif %}
},
{%- endif %}
# Retrieval Configuration
{%- if retrieval_top_k or retrieval_similarity_threshold %}
retrieval = {
{%- if retrieval_top_k %}
top_k = {{ retrieval_top_k }},
{%- endif %}
{%- if retrieval_similarity_threshold %}
similarity_threshold = {{ retrieval_similarity_threshold }},
{%- endif %}
{%- if retrieval_reranking is defined %}
reranking = {{ retrieval_reranking | lower }},
{%- endif %}
{%- if retrieval_hybrid is defined %}
hybrid = {{ retrieval_hybrid | lower }},
{%- endif %}
{%- if retrieval_mmr_lambda %}
mmr_lambda = {{ retrieval_mmr_lambda }},
{%- endif %}
},
{%- endif %}
# Document Ingestion Configuration
{%- if ingestion_auto_ingest is defined or ingestion_chunk_size %}
ingestion = {
{%- if ingestion_auto_ingest is defined %}
auto_ingest = {{ ingestion_auto_ingest | lower }},
{%- endif %}
{%- if ingestion_watch_files is defined %}
watch_files = {{ ingestion_watch_files | lower }},
{%- endif %}
{%- if ingestion_chunk_size %}
chunk_size = {{ ingestion_chunk_size }},
{%- endif %}
{%- if ingestion_overlap %}
overlap = {{ ingestion_overlap }},
{%- endif %}
{%- if ingestion_doc_types %}
doc_types = [{{ ingestion_doc_types }}],
{%- endif %}
},
{%- endif %}
# Logging Configuration (optional)
{%- if logging_level %}
logging = {
level = "{{ logging_level }}",
{%- if logging_format %}
format = "{{ logging_format }}",
{%- endif %}
},
{%- endif %}
# Monitoring Configuration (optional)
{%- if monitoring_enabled is defined %}
monitoring = {
enabled = {{ monitoring_enabled | lower }},
{%- if monitoring_metrics_interval %}
metrics_interval = {{ monitoring_metrics_interval }},
{%- endif %}
},
{%- endif %}
},
}