-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
87 lines (73 loc) · 2.9 KB
/
Copy path.env.example
File metadata and controls
87 lines (73 loc) · 2.9 KB
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
# BioAnalyzer Backend Configuration
# Copy this file to .env and fill in your API keys
# NCBI API Key (optional but recommended for higher rate limits)
# Get from: https://www.ncbi.nlm.nih.gov/account/settings/
NCBI_API_KEY=your_ncbi_api_key_here
# Your email address (required for NCBI API)
EMAIL=your_email@example.com
# Gemini API Key (required for AI analysis, unless using another provider below)
# Get from: https://makersuite.google.com/app/apikey
GEMINI_API_KEY=your_gemini_api_key_here
# Optional: alternative LLM providers (set one instead of/alongside Gemini)
OPENAI_API_KEY=
ANTHROPIC_API_KEY=
# Ollama runs locally; set one of these to point at your Ollama server
OLLAMA_BASE_URL=
OLLAMA_HOST=
# Optional: Model configuration
DEFAULT_MODEL=gemini
# Provider auto-detects from whichever *_API_KEY/OLLAMA_* var above is set.
# Set LLM_PROVIDER to override auto-detection (gemini | openai | anthropic | ollama).
LLM_PROVIDER=
# Override the default model for the selected provider.
LLM_MODEL=
# API base URL used by the CLI and dev/ops scripts.
# You can set either the root URL (recommended) or the /api/v1 base.
# Examples:
# BIOANALYZER_API_URL=http://localhost:8000
# BIOANALYZER_API_URL=http://127.0.0.1:8000
# BIOANALYZER_API_URL=https://your.domain.example
# BIOANALYZER_API_URL=https://your.domain.example/api/v1
BIOANALYZER_API_URL=http://localhost:8000
# Optional: Timeout settings (seconds)
API_TIMEOUT=30
ANALYSIS_TIMEOUT=45
GEMINI_TIMEOUT=30
FRONTEND_TIMEOUT=60
# Optional: RAG tuning (used by the v2 analysis pipeline, app/services/advanced_rag.py)
# Provider/model used for contextual summarization; defaults to the main LLM provider/model if unset.
RAG_SUMMARY_PROVIDER=
RAG_SUMMARY_MODEL=
RAG_SUMMARY_LENGTH=medium
RAG_SUMMARY_QUALITY=balanced
RAG_RERANK_METHOD=hybrid
RAG_USE_SUMMARY_CACHE=true
RAG_MAX_SUMMARY_KEY_POINTS=5
RAG_TOP_K_CHUNKS=10
# Optional: Cache settings
CACHE_VALIDITY_HOURS=24
MAX_CACHE_SIZE=1000
# Optional: how long a static-lookup ontology mapping's round-trip/obsolete/
# branch grounding check (app.normalization.grounding) is trusted before it's
# re-verified against live OLS. Default 720 (30 days) - long enough that a
# healthy OLS keeps this off the hot path, short enough to catch a static
# EFO/UBERON/NCBITaxon ID going obsolete without a code change.
GROUNDING_CACHE_VALIDITY_HOURS=720
# Optional
GROUNDING_BACKEND_MODE=chain
# Optional: where LocalOntologyBackend's SQLite/DuckDB store lives.
LOCAL_ONTOLOGY_DB_PATH=ontology_store/ontology_store.db
# Optional: Rate limiting (NCBI requests)
NCBI_RATE_LIMIT_DELAY=0.34
MAX_CONCURRENT_REQUESTS=3
# Optional: full-text retrieval from PMC (slower, more accurate)
USE_FULLTEXT=0
# Optional: Server configuration
ENVIRONMENT=development
# Comma-separated list of allowed CORS origins; defaults to "*" (all origins)
CORS_ORIGINS=*
ENABLE_RATE_LIMITING=true
RATE_LIMIT_PER_MINUTE=60
ENABLE_REQUEST_ID=true
# Optional: Logging
LOG_LEVEL=INFO