Langchain 调用说明
接口信息
| 项 | 值 |
|---|---|
| Base URL(给 LangChain 用) | https://api-ai.gitcode.com/v1 |
| 完整 Chat 路径 | POST https://api-ai.gitcode.com/v1/chat/completions |
| 模型 ID | deepseek-ai/DeepSeek-R1 |
| 协议 | 与 OpenAI Chat Completions 兼容的 JSON |
ChatOpenAI会在base_url后自动拼接/chat/completions,不要把base_url写成带/chat/completions的完整 URL。
鉴权
一般为 Bearer Token(以平台实际说明为准):
Authorization: Bearer <AtomGit 访问令牌>
Content-Type: application/json
请求体(与 OpenAI 一致,示例)
{
"model": "deepseek-ai/DeepSeek-R1",
"messages": [
{ "role": "system", "content": "你是一个有帮助的助手。" },
{ "role": "user", "content": "用一句话介绍 LangChain。" }
],
"temperature": 0.7,
"max_tokens": 1024,
"stream": true
}
可选字段(若服务端支持):top_p、stop、presence_penalty、frequency_penalty 等。
环境准备
pip install langchain-openai
示例一:流式对话
import os
from langchain_openai import ChatOpenAI
from langchain_core.messages import HumanMessage, SystemMessage
llm = ChatOpenAI(
model="deepseek-ai/DeepSeek-R1",
base_url="https://api-ai.gitcode.com/v1",
api_key=os.environ["ATOMGit_AI_API_KEY"], # AtomGit 访问令牌(API 密钥)
temperature=0.7,
streaming=True,
)
messages = [
SystemMessage(content="你是一个有帮助的助手。"),
HumanMessage(content="用一句话介绍 LangChain。"),
]
for chunk in llm.stream(messages):
if chunk.content:
print(chunk.content, end="", flush=True)
print()
注意事项
base_url:末尾用/v1,不要重复/chat/completions。model:必须与平台model一致:deepseek-ai/DeepSeek-R1。- 访问令牌:勿将 AtomGit 访问令牌写入仓库,请用环境变量(如
ATOMGit_AI_API_KEY)注入或放到 Authorization: Bearer <AtomGit 访问令牌>。