149 lines
4.3 KiB
Plaintext
149 lines
4.3 KiB
Plaintext
|
|
# 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 %}
|
||
|
|
},
|
||
|
|
}
|