LightRAG/env.example

326 lines
12 KiB
Plaintext
Raw Normal View History

### This is sample file of .env
2025-07-15 17:08:23 +08:00
###########################
### Server Configuration
2025-07-15 17:08:23 +08:00
###########################
2025-05-14 13:22:03 +08:00
HOST=0.0.0.0
PORT=9621
WEBUI_TITLE='My Graph KB'
WEBUI_DESCRIPTION="Simple and Fast Graph Based RAG System"
# WORKERS=2
### gunicorn worker timeout(as default LLM request timeout if LLM_TIMEOUT is not set)
# TIMEOUT=150
# CORS_ORIGINS=http://localhost:3000,http://localhost:8080
2025-05-14 13:22:03 +08:00
### Optional SSL Configuration
# SSL=true
# SSL_CERTFILE=/path/to/cert.pem
# SSL_KEYFILE=/path/to/key.pem
### Directory Configuration (defaults to current working directory)
2025-05-14 13:25:05 +08:00
### Default value is ./inputs and ./rag_storage
# INPUT_DIR=<absolute_path_for_doc_input_dir>
2025-05-14 13:22:03 +08:00
# WORKING_DIR=<absolute_path_for_working_dir>
### Tiktoken cache directory (Store cached files in this folder for offline deployment)
# TIKTOKEN_CACHE_DIR=./temp/tiktoken
### Ollama Emulating Model and Tag
# OLLAMA_EMULATING_MODEL_NAME=lightrag
OLLAMA_EMULATING_MODEL_TAG=latest
2025-07-15 17:08:23 +08:00
### Max nodes return from grap retrieval in webui
2025-04-04 21:43:52 +08:00
# MAX_GRAPH_NODES=1000
2025-02-23 13:26:38 +08:00
### Logging level
# LOG_LEVEL=INFO
# VERBOSE=False
# LOG_MAX_BYTES=10485760
# LOG_BACKUP_COUNT=5
### Logfile location (defaults to current working directory)
# LOG_DIR=/path/to/log/directory
2025-02-23 13:26:38 +08:00
2025-07-15 17:08:23 +08:00
#####################################
### Login and API-Key Configuration
#####################################
# AUTH_ACCOUNTS='admin:admin123,user1:pass456'
# TOKEN_SECRET=Your-Key-For-LightRAG-API-Server
# TOKEN_EXPIRE_HOURS=48
# GUEST_TOKEN_EXPIRE_HOURS=24
# JWT_ALGORITHM=HS256
2025-07-14 15:53:48 +08:00
2025-07-15 17:08:23 +08:00
### API-Key to access LightRAG Server API
# LIGHTRAG_API_KEY=your-secure-api-key-here
# WHITELIST_PATHS=/health,/api/*
2025-07-14 15:53:48 +08:00
2025-07-31 13:00:09 +08:00
######################################################################################
2025-07-15 17:08:23 +08:00
### Query Configuration
2025-07-31 13:00:09 +08:00
###
### How to control the context lenght sent to LLM:
### MAX_ENTITY_TOKENS + MAX_RELATION_TOKENS < MAX_TOTAL_TOKENS
### Chunk_Tokens = MAX_TOTAL_TOKENS - Actual_Entity_Tokens - Actual_Reation_Tokens
######################################################################################
2025-07-24 10:09:24 +08:00
# LLM responde cache for query (Not valid for streaming response)
2025-07-15 17:08:23 +08:00
ENABLE_LLM_CACHE=true
2025-02-23 13:26:38 +08:00
# COSINE_THRESHOLD=0.2
2025-07-15 17:08:23 +08:00
### Number of entities or relations retrieved from KG
# TOP_K=40
2025-07-31 13:00:09 +08:00
### Maxmium number or chunks for naive vactor search
# CHUNK_TOP_K=20
2025-07-15 17:08:23 +08:00
### control the actual enties send to LLM
# MAX_ENTITY_TOKENS=6000
2025-07-15 17:08:23 +08:00
### control the actual relations send to LLM
# MAX_RELATION_TOKENS=8000
2025-07-15 17:08:23 +08:00
### control the maximum tokens send to LLM (include entities, raltions and chunks)
2025-07-27 10:33:06 +08:00
# MAX_TOTAL_TOKENS=30000
### maximum number of related chunks per source entity or relation
### The chunk picker uses this value to determine the total number of chunks selected from KG(knowledge graph)
### Higher values increase re-ranking time
# RELATED_CHUNK_NUMBER=5
2025-07-08 21:44:20 +08:00
### chunk selection strategies
### VECTOR: Pick KG chunks by vector similarity, delivered chunks to the LLM aligning more closely with naive retrieval
### WEIGHT: Pick KG chunks by entity and chunk weight, delivered more solely KG related chunks to the LLM
### If reranking is enabled, the impact of chunk selection strategies will be diminished.
# KG_CHUNK_PICK_METHOD=VECTOR
### Reranking configuration
### Reranker Set ENABLE_RERANK to true in reranking model is configed
2025-07-25 11:13:15 +08:00
# ENABLE_RERANK=True
### Minimum rerank score for document chunk exclusion (set to 0.0 to keep all chunks, 0.6 or above if LLM is not strong enought)
# MIN_RERANK_SCORE=0.0
### Rerank model configuration (required when ENABLE_RERANK=True)
2025-07-25 11:13:15 +08:00
# RERANK_MODEL=jina-reranker-v2-base-multilingual
# RERANK_BINDING_HOST=https://api.jina.ai/v1/rerank
2025-07-08 21:44:20 +08:00
# RERANK_BINDING_API_KEY=your_rerank_api_key_here
2025-07-15 17:08:23 +08:00
########################################
### Document processing configuration
########################################
2025-05-14 13:22:03 +08:00
### Language: English, Chinese, French, German ...
2025-03-24 02:02:34 +08:00
SUMMARY_LANGUAGE=English
2025-07-15 17:08:23 +08:00
ENABLE_LLM_CACHE_FOR_EXTRACT=true
### Chunk size for document splitting, 500~1500 is recommended
# CHUNK_SIZE=1200
# CHUNK_OVERLAP_SIZE=100
### Entity and relation summarization configuration
### Number of duplicated entities/edges to trigger LLM re-summary on merge (at least 3 is recommented) and max tokens send to LLM
2025-07-15 17:08:23 +08:00
# FORCE_LLM_SUMMARY_ON_MERGE=4
# SUMMARY_MAX_TOKENS=10000
2025-07-01 17:13:33 +08:00
### Maximum number of entity extraction attempts for ambiguous content
2025-07-01 17:14:02 +08:00
# MAX_GLEANING=1
2025-04-10 17:29:07 +08:00
2025-07-15 17:08:23 +08:00
###############################
### Concurrency Configuration
###############################
### Max concurrency requests of LLM (for both query and document processing)
MAX_ASYNC=4
2025-07-27 10:33:06 +08:00
### Number of parallel processing documents(between 2~10, MAX_ASYNC/3 is recommended)
2025-07-15 17:08:23 +08:00
MAX_PARALLEL_INSERT=2
### Max concurrency requests for Embedding
# EMBEDDING_FUNC_MAX_ASYNC=8
### Num of chunks send to Embedding in single request
# EMBEDDING_BATCH_NUM=10
2025-02-23 13:26:38 +08:00
###########################################################
### LLM Configuration
2025-08-17 02:23:14 +08:00
### LLM_BINDING type: openai, ollama, lollms, azure_openai, aws_bedrock
###########################################################
### LLM request timeout setting for all llm (set to TIMEOUT if not specified, 0 means no timeout for Ollma)
# LLM_TIMEOUT=150
### Some models like o1-mini require temperature to be set to 1, some LLM can fall into output loops with low temperature
2025-05-14 13:22:03 +08:00
LLM_BINDING=openai
LLM_MODEL=gpt-4o
LLM_BINDING_HOST=https://api.openai.com/v1
2025-02-23 13:26:38 +08:00
LLM_BINDING_API_KEY=your_api_key
2025-07-15 17:08:23 +08:00
### Optional for Azure
# AZURE_OPENAI_API_VERSION=2024-08-01-preview
# AZURE_OPENAI_DEPLOYMENT=gpt-4o
### Openrouter example
# LLM_MODEL=google/gemini-2.5-flash
# LLM_BINDING_HOST=https://openrouter.ai/api/v1
# LLM_BINDING_API_KEY=your_api_key
# LLM_BINDING=openai
### OpenAI Specific Parameters
# OPENAI_LLM_TEMPERATURE=1.0
# OPENAI_LLM_REASONING_EFFORT=low
### For models like Qwen3 with fewer than 32B param, it is recommended to set the presence penalty to 1.5
# OPENAI_LLM_PRESENCE_PENALTY=1.5
### If the presence penalty still can not stop the model from generates repetitive or unconstrained output
# OPENAI_LLM_MAX_COMPLETION_TOKENS=16384
### OpenRouter Specific Parameters
# OPENAI_LLM_EXTRA_BODY='{"reasoning": {"enabled": false}}'
### Qwen3 Specific Parameters depoly by vLLM
# OPENAI_LLM_EXTRA_BODY='{"chat_template_kwargs": {"enable_thinking": false}}'
### use the following command to see all support options for OpenAI, azure_openai or OpenRouter
### lightrag-server --llm-binding openai --help
### Ollama Server Specific Parameters
### OLLAMA_LLM_NUM_CTX must be provided, and should at least larger than MAX_TOTAL_TOKENS + 2000
OLLAMA_LLM_NUM_CTX=32768
# OLLAMA_LLM_TEMPERATURE=1.0
### Stop sequences for Ollama LLM
# OLLAMA_LLM_STOP='["</s>", "Assistant:", "\n\n"]'
2025-08-06 18:50:58 +08:00
### use the following command to see all support options for Ollama LLM
### lightrag-server --llm-binding ollama --help
2025-05-14 13:22:03 +08:00
### Bedrock Specific Parameters
# BEDROCK_LLM_TEMPERATURE=1.0
2025-07-15 17:08:23 +08:00
####################################################################################
### Embedding Configuration (Should not be changed after the first file processed)
####################################################################################
### Embedding Binding type: ollama, openai, azure_openai, jina, lollms
### see also env.ollama-binding-options.example for fine tuning ollama
2025-05-14 13:22:03 +08:00
EMBEDDING_BINDING=ollama
EMBEDDING_MODEL=bge-m3:latest
2025-02-23 13:26:38 +08:00
EMBEDDING_DIM=1024
2025-05-14 13:22:03 +08:00
EMBEDDING_BINDING_API_KEY=your_api_key
# If the embedding service is deployed within the same Docker stack, use host.docker.internal instead of localhost
2025-02-23 13:26:38 +08:00
EMBEDDING_BINDING_HOST=http://localhost:11434
2025-07-15 17:08:23 +08:00
### OpenAI compatible (VoyageAI embedding openai compatible)
2025-07-27 18:21:10 +08:00
# EMBEDDING_BINDING=openai
# EMBEDDING_MODEL=text-embedding-3-large
# EMBEDDING_DIM=3072
# EMBEDDING_BINDING_HOST=https://api.openai.com
# EMBEDDING_BINDING_API_KEY=your_api_key
2025-05-16 11:46:38 +08:00
### Optional for Azure
# AZURE_EMBEDDING_DEPLOYMENT=text-embedding-3-large
# AZURE_EMBEDDING_API_VERSION=2023-05-15
# AZURE_EMBEDDING_ENDPOINT=your_endpoint
# AZURE_EMBEDDING_API_KEY=your_api_key
2025-07-24 12:25:50 +08:00
### Jina AI Embedding
# EMBEDDING_BINDING=jina
# EMBEDDING_BINDING_HOST=https://api.jina.ai/v1/embeddings
# EMBEDDING_MODEL=jina-embeddings-v4
# EMBEDDING_DIM=2048
# EMBEDDING_BINDING_API_KEY=your_api_key
2025-08-06 18:50:58 +08:00
### Optional for Ollama embedding
OLLAMA_EMBEDDING_NUM_CTX=8192
2025-08-06 18:50:58 +08:00
### use the following command to see all support options for Ollama embedding
### lightrag-server --embedding-binding ollama --help
2025-07-24 14:17:49 +08:00
####################################################################
### WORKSPACE setting workspace name for all storage types
### in the purpose of isolating data from LightRAG instances.
### Valid workspace name constraints: a-z, A-Z, 0-9, and _
####################################################################
# WORKSPACE=space1
2025-07-15 17:08:23 +08:00
############################
### Data storage selection
2025-07-15 17:08:23 +08:00
############################
### Default storage (Recommended for small scale deployment)
# LIGHTRAG_KV_STORAGE=JsonKVStorage
# LIGHTRAG_DOC_STATUS_STORAGE=JsonDocStatusStorage
# LIGHTRAG_GRAPH_STORAGE=NetworkXStorage
# LIGHTRAG_VECTOR_STORAGE=NanoVectorDBStorage
2025-07-15 17:08:23 +08:00
### Redis Storage (Recommended for production deployment)
# LIGHTRAG_KV_STORAGE=RedisKVStorage
# LIGHTRAG_DOC_STATUS_STORAGE=RedisDocStatusStorage
### Vector Storage (Recommended for production deployment)
# LIGHTRAG_VECTOR_STORAGE=MilvusVectorDBStorage
# LIGHTRAG_VECTOR_STORAGE=QdrantVectorDBStorage
# LIGHTRAG_VECTOR_STORAGE=FaissVectorDBStorage
2025-07-15 17:08:23 +08:00
### Graph Storage (Recommended for production deployment)
# LIGHTRAG_GRAPH_STORAGE=Neo4JStorage
# LIGHTRAG_GRAPH_STORAGE=MemgraphStorage
2025-07-05 08:04:59 +08:00
### PostgreSQL
2025-05-14 13:22:03 +08:00
# LIGHTRAG_KV_STORAGE=PGKVStorage
# LIGHTRAG_DOC_STATUS_STORAGE=PGDocStatusStorage
2025-07-05 08:04:59 +08:00
# LIGHTRAG_GRAPH_STORAGE=PGGraphStorage
# LIGHTRAG_VECTOR_STORAGE=PGVectorStorage
2025-07-15 17:08:23 +08:00
2025-07-07 17:49:33 +08:00
### MongoDB (Vector storage only available on Atlas Cloud)
2025-07-05 08:04:59 +08:00
# LIGHTRAG_KV_STORAGE=MongoKVStorage
# LIGHTRAG_DOC_STATUS_STORAGE=MongoDocStatusStorage
# LIGHTRAG_GRAPH_STORAGE=MongoGraphStorage
# LIGHTRAG_VECTOR_STORAGE=MongoVectorDBStorage
### PostgreSQL Configuration
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_USER=your_username
2025-02-11 14:57:37 +08:00
POSTGRES_PASSWORD='your_password'
POSTGRES_DATABASE=your_database
2025-05-09 14:19:42 +08:00
POSTGRES_MAX_CONNECTIONS=12
# POSTGRES_WORKSPACE=forced_workspace_name
### PostgreSQL Vector Storage Configuration
### Vector storage type: HNSW, IVFFlat
POSTGRES_VECTOR_INDEX_TYPE=HNSW
POSTGRES_HNSW_M=16
POSTGRES_HNSW_EF=200
POSTGRES_IVFFLAT_LISTS=100
### PostgreSQL SSL Configuration (Optional)
# POSTGRES_SSL_MODE=require
# POSTGRES_SSL_CERT=/path/to/client-cert.pem
# POSTGRES_SSL_KEY=/path/to/client-key.pem
# POSTGRES_SSL_ROOT_CERT=/path/to/ca-cert.pem
# POSTGRES_SSL_CRL=/path/to/crl.pem
2025-05-14 13:22:03 +08:00
### Neo4j Configuration
NEO4J_URI=neo4j+s://xxxxxxxx.databases.neo4j.io
NEO4J_USERNAME=neo4j
NEO4J_PASSWORD='your_password'
# NEO4J_DATABASE=chunk-entity-relation
NEO4J_MAX_CONNECTION_POOL_SIZE=100
NEO4J_CONNECTION_TIMEOUT=30
NEO4J_CONNECTION_ACQUISITION_TIMEOUT=30
NEO4J_MAX_TRANSACTION_RETRY_TIME=30
NEO4J_MAX_CONNECTION_LIFETIME=300
NEO4J_LIVENESS_CHECK_TIMEOUT=30
NEO4J_KEEP_ALIVE=true
# NEO4J_WORKSPACE=forced_workspace_name
2025-05-14 13:22:03 +08:00
### MongoDB Configuration
2025-03-20 03:19:43 +08:00
MONGO_URI=mongodb://root:root@localhost:27017/
2025-07-08 03:06:19 +08:00
#MONGO_URI=mongodb+srv://xxxx
2025-03-20 03:19:43 +08:00
MONGO_DATABASE=LightRAG
# MONGODB_WORKSPACE=forced_workspace_name
2025-03-20 03:19:43 +08:00
### Milvus Configuration
MILVUS_URI=http://localhost:19530
MILVUS_DB_NAME=lightrag
# MILVUS_USER=root
# MILVUS_PASSWORD=your_password
# MILVUS_TOKEN=your_token
# MILVUS_WORKSPACE=forced_workspace_name
2025-03-20 03:19:43 +08:00
### Qdrant
QDRANT_URL=http://localhost:6333
2025-02-23 13:26:38 +08:00
# QDRANT_API_KEY=your-api-key
# QDRANT_WORKSPACE=forced_workspace_name
### Redis
2025-02-26 18:11:16 +08:00
REDIS_URI=redis://localhost:6379
REDIS_SOCKET_TIMEOUT=30
REDIS_CONNECT_TIMEOUT=10
REDIS_MAX_CONNECTIONS=100
REDIS_RETRY_ATTEMPTS=3
# REDIS_WORKSPACE=forced_workspace_name
2025-07-08 16:27:38 +02:00
### Memgraph Configuration
MEMGRAPH_URI=bolt://localhost:7687
MEMGRAPH_USERNAME=
MEMGRAPH_PASSWORD=
MEMGRAPH_DATABASE=memgraph
# MEMGRAPH_WORKSPACE=forced_workspace_name