1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# ReasonKit Core Configuration
# Default settings for the knowledge base
[]
# Data directory (can be overridden via CLI or environment)
= "./data"
# Log level: trace, debug, info, warn, error
= "info"
[]
# Storage backend: "qdrant", "local"
= "qdrant"
[]
# Qdrant connection settings
= "localhost"
= 6334
= 6333
# Use embedded mode (no external server needed)
= true
# Collection name for documents
= "reasonkit_docs"
# Vector dimensions (depends on embedding model)
= 1024
# Distance metric: "Cosine", "Euclid", "Dot"
= "Cosine"
# Quantization for compression (reduces memory by 4x)
= true
[]
# Local JSON storage settings
= "./data/documents"
= "./data/indexes"
[]
# Embedding backend: "api", "local"
= "api"
[]
# API provider: "openai", "anthropic", "cohere", "voyage"
= "openai"
# Model for dense embeddings
= "text-embedding-3-small"
# Dimensions (some models allow customization)
= 1536
# Batch size for embedding requests
= 100
[]
# Local embedding using ONNX
= "./models/bge-m3-onnx"
= "cpu" # or "cuda"
[]
# BM25 index settings
= true
# HNSW parameters
= 16
= 200
[]
# Chunk settings
= 512 # tokens
= 50 # tokens
# Minimum chunk size to avoid tiny fragments
= 100
[]
# Default number of results
= 10
# Hybrid search alpha (0 = BM25 only, 1 = vector only)
= 0.7
# Minimum score threshold
= 0.0
# Enable reranking (requires ColBERT or cross-encoder)
= false
[]
# RAPTOR tree settings
= false
# Maximum tree depth
= 3
# Cluster size for summarization
= 10
# LLM for summarization
= "claude-3-haiku"
[]
# API server settings
= "127.0.0.1"
= 8080
# Enable CORS
= true
# Request timeout (seconds)
= 30