#!/usr/bin/env python3 """ Fixed LightRAG server startup with forced DeepSeek API configuration """ import os import sys from pathlib import Path # Force set environment variables for DeepSeek os.environ["LLM_BINDING"] = "openai" os.environ["LLM_MODEL"] = "deepseek-chat" os.environ["LLM_BINDING_HOST"] = "https://api.deepseek.com/v1" os.environ["LLM_BINDING_API_KEY"] = "sk-55f6e57f1d834b0e93ceaf98cc2cb715" os.environ["EMBEDDING_BINDING"] = "ollama" os.environ["EMBEDDING_MODEL"] = "snowflake-arctic-embed2:latest" os.environ["EMBEDDING_DIM"] = "1024" # Force storage backends os.environ["LIGHTRAG_KV_STORAGE"] = "RedisKVStorage" os.environ["LIGHTRAG_VECTOR_STORAGE"] = "QdrantVectorDBStorage" os.environ["LIGHTRAG_DOC_STATUS_STORAGE"] = "PGDocStatusStorage" os.environ["LIGHTRAG_GRAPH_STORAGE"] = "Neo4JStorage" # Database connections os.environ["REDIS_URI"] = "redis://localhost:6379" os.environ["NEO4J_URI"] = "bolt://localhost:7687" os.environ["NEO4J_USERNAME"] = "neo4j" os.environ["NEO4J_PASSWORD"] = "jleu1212" os.environ["QDRANT_URL"] = "http://localhost:6333" os.environ["POSTGRES_HOST"] = "localhost" os.environ["POSTGRES_PORT"] = "5432" os.environ["POSTGRES_USER"] = "jleu3482" os.environ["POSTGRES_PASSWORD"] = "jleu1212" os.environ["POSTGRES_DATABASE"] = "rag_anything" print("FIXED DeepSeek API configuration:") print(f" LLM: {os.environ['LLM_BINDING']} - {os.environ['LLM_MODEL']}") print(f" Embedding: {os.environ['EMBEDDING_BINDING']} - {os.environ['EMBEDDING_MODEL']}") print(f" Storage: {os.environ['LIGHTRAG_KV_STORAGE']}, {os.environ['LIGHTRAG_VECTOR_STORAGE']}") # Now start the server lightrag_dir = Path(__file__).parent / "LightRAG-main" os.chdir(lightrag_dir) import subprocess cmd = [ sys.executable, "-m", "lightrag.api.lightrag_server", "--port", "3015", "--host", "0.0.0.0", "--working-dir", "rag_storage", "--input-dir", "../inputs", "--key", "jleu1212", "--auto-scan-at-startup", "--llm-binding", os.environ["LLM_BINDING"], "--embedding-binding", os.environ["EMBEDDING_BINDING"], "--rerank-binding", "jina" ] print(f"Starting server with command: {' '.join(cmd)}") subprocess.run(cmd, check=True)