Import source: axon/config
Import the existing local project snapshot. This commit organizes existing files; it does not represent newly developed functionality.
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
from pydantic_settings import BaseSettings
|
||||||
|
|
||||||
|
|
||||||
|
class Settings(BaseSettings):
|
||||||
|
brave_api_key: str | None = None
|
||||||
|
serper_api_key: str | None = None
|
||||||
|
redis_url: str | None = "redis://localhost:6379"
|
||||||
|
api_keys: str | None = None
|
||||||
|
litellm_base_url: str = "http://localhost:4000"
|
||||||
|
litellm_api_key: str | None = None
|
||||||
|
synthesis_model: str = "claude-sonnet-4-6"
|
||||||
|
reranker_model: str = "BAAI/bge-reranker-v2-m3"
|
||||||
|
port: int = 8000
|
||||||
|
max_concurrent_scrapes: int = 10
|
||||||
|
scrape_timeout: int = 5
|
||||||
|
rate_limit_per_minute: int = 60
|
||||||
|
extract_timeout: int = 10
|
||||||
|
crawl_max_pages: int = 50
|
||||||
|
crawl_max_depth: int = 3
|
||||||
|
index_db_path: str = "axon_index.sqlite3"
|
||||||
|
enable_browser_fallback: bool = False
|
||||||
|
|
||||||
|
@property
|
||||||
|
def api_key_list(self) -> list[str]:
|
||||||
|
if not self.api_keys:
|
||||||
|
return []
|
||||||
|
return [k.strip() for k in self.api_keys.split(",") if k.strip()]
|
||||||
|
|
||||||
|
model_config = {"env_file": ".env", "extra": "ignore"}
|
||||||
|
|
||||||
|
|
||||||
|
settings = Settings()
|
||||||
Reference in New Issue
Block a user