provisioning/schemas/platform/rag.ncl

65 lines
1.6 KiB
Text

# RAG System Schema
# Retrieval-Augmented Generation with embeddings, vector DB, LLM
let docker_build_schema = import "schemas/platform/docker-build.ncl" in
{
RagConfig = {
rag | {
enabled | Bool,
},
embeddings | {
provider | String,
model | String,
dimension | Number | optional,
api_key | String | optional,
batch_size | Number | optional,
} | optional,
vector_db | {
db_type | String,
url | String | optional,
namespace | String | optional,
database | String | optional,
hnsw_m | Number | optional,
hnsw_ef_construction | Number | optional,
} | optional,
llm | {
provider | String,
model | String,
api_key | String | optional,
api_url | String | optional,
temperature | Number | optional,
max_tokens | Number | optional,
} | optional,
retrieval | {
top_k | Number | optional,
similarity_threshold | Number | optional,
reranking | Bool | optional,
hybrid | Bool | optional,
mmr_lambda | Number | optional,
} | optional,
ingestion | {
auto_ingest | Bool | optional,
watch_files | Bool | optional,
chunk_size | Number | optional,
overlap | Number | optional,
doc_types | Array String | optional,
} | optional,
monitoring | {
enabled | Bool | default = false,
} | optional,
logging | {
level | String | default = "info",
} | optional,
# Docker build configuration
build | docker_build_schema.DockerBuildConfig | optional,
},
}