orio-search/config.yaml
Максим Рябов f08b00dfd0 Cleanup: remove Ollama, dead code, optimize Docker/CI, fix search duplication
- Remove Ollama container from docker-compose and neutralize LLM config defaults
- Remove unused: pydantic-settings dep, google_api_key/google_cx/default_rate config fields, single-item cache methods
- CI: add pip caching, test depends on lint, add pytest-cov coverage
- Docker: multi-stage build, .dockerignore, remove silent FlashRank failure
- Move landing page files to docs/site/, keep docs/ for documentation
- Extract shared _process_backend_results() to eliminate search/stream duplication
- Fix infobox detection bug in search_stream (use is_infobox instead of heuristic)
- Narrow broad except Exception in extractor (brotli/gzip/readability)
- Add ThreadPoolExecutor cleanup for DuckDuckGo backend on shutdown
- Use model_dump(exclude=) instead of del for cache key
- Fix README: merge service tables, correct request_timeout, fix OpenAI example
2026-04-13 11:43:34 +03:00

84 lines
2.7 KiB
YAML

server:
host: "0.0.0.0"
port: 8000
search:
backend: "searxng" # "searxng" | "duckduckgo"
searxng_url: "http://searxng:8080"
extraction:
max_concurrent: 5
timeout: 10
max_content_length: 50000
domain_concurrency: 2
domain_semaphore_max_size: 1000
snippet_enrichment: true
snippet_enrichment_count: 2
js_fallback: false # Enable JS rendering fallback via Browserless (requires 'js' profile)
browserless_url: "ws://browserless:3000"
js_timeout: 15
js_wait_for: "networkidle" # load | networkidle | domcontentloaded
js_max_concurrent: 3
user_agents:
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:133.0) Gecko/20100101 Firefox/133.0"
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.2 Safari/605.1.15"
- "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0"
- "Mozilla/5.0 (X11; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0"
- "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:133.0) Gecko/20100101 Firefox/133.0"
- "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:133.0) Gecko/20100101 Firefox/133.0"
- "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/130.0.0.0 Safari/537.36"
cache:
enabled: true
redis_url: "redis://redis:6379"
search_ttl: 3600
extract_ttl: 86400
proxy:
enabled: false
url: ""
auth:
enabled: false
api_keys: []
# api_keys:
# - "your-secret-key-here"
rate_limit:
enabled: false
search_rate: "30/minute"
extract_rate: "30/minute"
rerank:
enabled: true
model: "ms-marco-MiniLM-L-12-v2"
top_k: 5
resilience:
circuit_breaker_failure_threshold: 5
circuit_breaker_recovery_timeout: 30
retry_max_attempts: 3
retry_backoff_base: 0.5
retry_on_status_codes: [429, 503, 502, 504]
request_timeout: 120
backend_fallback: true
logging:
format: "json" # "json" | "console"
level: "INFO"
cors:
allow_origins: ["*"]
llm:
enabled: false
provider: "" # label for logs (openai, groq, together, etc.)
base_url: "" # any OpenAI-compatible endpoint (must end with /v1)
api_key: "" # API key for the provider
model: "" # model name (e.g. gpt-4o-mini, llama-3.1-70b-versatile)
max_tokens: 1024
temperature: 0.1
timeout: 30