# AmaniQuery Configuration # Copy this file to config.yaml and customize as needed version: "1.0.0" environment: "development" server: grpc_port: 9090 http_port: 8080 graceful_timeout: 30s max_connections: 1000 vector_store: type: qdrant host: localhost port: 6334 # api_key: set via QDRANT_API_KEY env var collection: amaniquery dimension: 1536 distance: Cosine cache: redis_url: redis://localhost:6379 local_size: 10000 ttl: 1h max_retries: 3 pool_size: 10 # LLM Configuration with Multi-Provider Fallback # Fallback order: Gemini → Moonshot → Ollama → OpenAI → Anthropic # Set API keys via environment variables: # GEMINI_API_KEY or GOOGLE_API_KEY # MOONSHOT_API_KEY # OLLAMA_BASE_URL (for local Ollama, default: http://localhost:11434) # OPENAI_API_KEY # ANTHROPIC_API_KEY llm: default_model: gemini-1.5-flash # Used when provider doesn't specify model max_tokens: 4096 temperature: 0.7 timeout: 60s max_retries: 3 enable_fallback: true # Automatically try next provider on failure ollama_base_url: http://localhost:11434 # For local Ollama embedding: provider: openai # openai for text-embedding-3-small # api_key: falls back to OPENAI_API_KEY model: text-embedding-3-small dimension: 1536 batch_size: 100 observability: tracing_enabled: true tracing_endpoint: localhost:4317 metrics_enabled: true metrics_port: 9091 log_level: info # debug, info, warn, error log_format: json # json, console security: # jwt_secret: set via JWT_SECRET env var jwt_issuer: amaniquery enable_mtls: false # cert_file: /path/to/cert.pem # key_file: /path/to/key.pem # ca_file: /path/to/ca.pem