feat: add Anthropic API provider support and missing env vars
- Add LLM_PROVIDER env var (openai/anthropic) to switch cloud backend - Use ChatAnthropic for anthropic provider with custom base_url - Add CONTEXT_MAX_TOKENS, CONTEXT_KEEP_RECENT, SESSIONS_DIR, HISTORY_MAX_SNAPSHOTS to .env and .env.example - Add langchain-anthropic dependency to requirements.txt Note: E2E testing blocked — the configured MiniMax API key (sk-cp-...) returns 401 across all endpoints (Anthropic and OpenAI). The API key may be expired or lack text-generation model access.
This commit is contained in:
@@ -1,6 +1,9 @@
|
|||||||
# 大语言模型后端:cloud 或 local
|
# 大语言模型后端:cloud 或 local
|
||||||
LLM_BACKEND=cloud
|
LLM_BACKEND=cloud
|
||||||
|
|
||||||
|
# 云端提供商:openai 或 anthropic
|
||||||
|
LLM_PROVIDER=openai
|
||||||
|
|
||||||
# 云端配置(OpenAI 兼容)
|
# 云端配置(OpenAI 兼容)
|
||||||
OPENAI_API_KEY=sk-xxxx
|
OPENAI_API_KEY=sk-xxxx
|
||||||
OPENAI_BASE_URL=https://api.openai.com/v1
|
OPENAI_BASE_URL=https://api.openai.com/v1
|
||||||
|
|||||||
+12
-1
@@ -1,4 +1,4 @@
|
|||||||
"""大语言模型工厂:支持 OpenAI 兼容的云端 API 和本地 Ollama。"""
|
"""大语言模型工厂:支持 OpenAI 兼容的云端 API、Anthropic 兼容 API 和本地 Ollama。"""
|
||||||
|
|
||||||
import os
|
import os
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
@@ -13,6 +13,17 @@ def get_llm():
|
|||||||
|
|
||||||
model = os.getenv("LOCAL_LLM_MODEL", "qwen2.5-coder:7b")
|
model = os.getenv("LOCAL_LLM_MODEL", "qwen2.5-coder:7b")
|
||||||
return ChatOllama(model=model, temperature=0.1)
|
return ChatOllama(model=model, temperature=0.1)
|
||||||
|
|
||||||
|
provider = os.getenv("LLM_PROVIDER", "openai")
|
||||||
|
if provider == "anthropic":
|
||||||
|
from langchain_anthropic import ChatAnthropic
|
||||||
|
|
||||||
|
return ChatAnthropic(
|
||||||
|
model=os.getenv("LLM_MODEL", "claude-sonnet-4-6"),
|
||||||
|
api_key=os.getenv("OPENAI_API_KEY"),
|
||||||
|
base_url=os.getenv("OPENAI_BASE_URL", "https://api.anthropic.com"),
|
||||||
|
temperature=0.1,
|
||||||
|
)
|
||||||
else:
|
else:
|
||||||
from langchain_openai import ChatOpenAI
|
from langchain_openai import ChatOpenAI
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ streamlit>=1.28.0
|
|||||||
langgraph>=0.2.0
|
langgraph>=0.2.0
|
||||||
langchain>=0.3.0
|
langchain>=0.3.0
|
||||||
langchain-openai>=0.2.0
|
langchain-openai>=0.2.0
|
||||||
|
langchain-anthropic>=0.3.0
|
||||||
langchain-ollama>=0.2.0
|
langchain-ollama>=0.2.0
|
||||||
langchain-community>=0.3.0
|
langchain-community>=0.3.0
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user