Files
2026-06-15 14:22:07 +08:00

115 lines
3.0 KiB
Bash

# agent_delta Environment Variables
# === Project ===
PROJECT_NAME=agent_delta
DEBUG=true
ENVIRONMENT=local
TIMEZONE=UTC # IANA timezone: UTC, Europe/Warsaw, America/New_York
MODELS_CACHE_DIR=./models_cache
# === Logfire ===
# Get your token at https://logfire.pydantic.dev
LOGFIRE_TOKEN=
LOGFIRE_SERVICE_NAME=agent_delta
LOGFIRE_ENVIRONMENT=development
# === PostgreSQL ===
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=agent_delta
# === JWT Auth ===
# Generate with: openssl rand -hex 32
SECRET_KEY=change-me-in-production-use-openssl-rand-hex-32
ACCESS_TOKEN_EXPIRE_MINUTES=10080
ALGORITHM=HS256
# === API Key Auth ===
API_KEY=change-me-in-production
API_KEY_HEADER=X-API-Key
# === Redis ===
REDIS_HOST=localhost
REDIS_PORT=6379
# REDIS_PASSWORD=
REDIS_DB=0
# === RAG Configuration ===
RAG_DEFAULT_COLLECTION=documents
RAG_TOP_K=10
RAG_CHUNK_SIZE=512
RAG_CHUNK_OVERLAP=50
RAG_CHUNKING_STRATEGY=recursive # recursive, markdown, or fixed
RAG_HYBRID_SEARCH=false # Enable BM25 + vector hybrid search
RAG_ENABLE_OCR=false # OCR fallback for scanned PDFs (requires tesseract-ocr installed)
# Vector Database (Qdrant)
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_API_KEY=
# Reranker
HF_TOKEN=
CROSS_ENCODER_MODEL=cross-encoder/ms-marco-MiniLM-L6-v2
# === Taskiq ===
TASKIQ_BROKER_URL=redis://localhost:6379/1
TASKIQ_RESULT_BACKEND=redis://localhost:6379/1
# === AI Agent (pydantic_deep, openai) ===
OPENAI_API_KEY=
AI_MODEL=gpt-5.5
AI_TEMPERATURE=0.7
# === Web Search (Tavily) ===
# Get your API key at https://tavily.com
TAVILY_API_KEY=
# === AntV charts (advanced diagrams via mcp-server-chart sidecar) ===
# Opt-in. The create_map tool works without this; only the AntV diagram tools
# need the sidecar, which `make dev` starts automatically.
ENABLE_ANTV_CHARTS=false
# MCP endpoint of the antvis-chart sidecar (default matches docker-compose).
ANTV_MCP_URL=http://antvis-chart:1122/mcp
# Optional self-hosted GPT-Vis render backend (empty = AntV's public service).
ANTV_VIS_REQUEST_SERVER=
# Comma-separated AntV tools to disable. Leave empty to use the sidecar's
# default (drops basic charts that overlap create_chart, and China-only maps).
ANTV_DISABLED_TOOLS=
# Embeddings
# OpenAI Embeddings
OPENAI_API_KEY=
EMBEDDING_MODEL=text-embedding-3-small
# Chunking
RAG_CHUNK_SIZE=512
RAG_CHUNK_OVERLAP=50
# Retrieval
RAG_DEFAULT_COLLECTION=documents
RAG_TOP_K=10
# Reranker
# PDF Parser
# Google Drive (optional, for document ingestion)
# === CORS ===
# JSON list of allowed origins (default: localhost:3000, localhost:8080)
# Note: "*" is blocked in production - specify explicit origins
CORS_ORIGINS=["http://localhost:3000","http://localhost:8080"]
# === Docker Production (Traefik) ===
# Domain for production deployment
DOMAIN=example.com
# Let's Encrypt email for SSL certificates
ACME_EMAIL=admin@example.com
# Traefik dashboard auth (generate with: htpasswd -nb admin password)
# TRAEFIK_DASHBOARD_AUTH=admin:$$apr1$$...
# Redis password for production
REDIS_PASSWORD=change-me-in-production