Langchain 调用说明

接口信息

Base URL(给 LangChain 用)https://api-ai.gitcode.com/v1
完整 Chat 路径POST https://api-ai.gitcode.com/v1/chat/completions
模型 IDdeepseek-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_pstoppresence_penaltyfrequency_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()

注意事项

  1. base_url:末尾用 /v1,不要重复 /chat/completions
  2. model:必须与平台model一致:deepseek-ai/DeepSeek-R1
  3. 访问令牌:勿将 AtomGit 访问令牌写入仓库,请用环境变量(如 ATOMGit_AI_API_KEY)注入或放到 Authorization: Bearer <AtomGit 访问令牌>。