跳到正文
土土金API

集成指南

在 LangChain 中使用

LangChain 用 langchain-openai 的 ChatOpenAI 和 OpenAIEmbeddings 接入土土金 API,把 base_url 设为 https://www.tutujin.com/v1;Claude 也可以用 langchain-anthropic 的 ChatAnthropic 走原生接口。含 Python 与 JavaScript 示例。

LangChain 通过 langchain-openai 包接入土土金 API:ChatOpenAI 和 OpenAIEmbeddings 都支持自定义 base_url,设为 https://www.tutujin.com/v1,api_key 用土土金的 Key,model 填模型广场里的模型名。想走 Claude 原生接口,用 langchain-anthropic 的 ChatAnthropic,base_url 填 https://www.tutujin.com。

安装

pip install langchain-openai langchain-anthropic

对话模型

import os
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-5.4-mini",
    base_url="https://www.tutujin.com/v1",
    api_key=os.environ["TUTUJIN_API_KEY"],
    temperature=0.3,
    max_retries=3,
    timeout=60,
)

print(llm.invoke("用一句话解释向量数据库。").content)

# 流式
for chunk in llm.stream("写一段 100 字的产品介绍"):
    print(chunk.content, end="", flush=True)

换模型只改 model。目录里标注支持 Chat Completions 的模型,包括 DeepSeek、通义千问、Claude、Gemini 等,都可以用 ChatOpenAI 调用。

组合成链

Python
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages([
    ("system", "你是电商文案编辑,输出不超过 60 字。"),
    ("user", "为这件商品写一句卖点:{product}"),
])
chain = prompt | llm | StrOutputParser()
print(chain.invoke({"product": "304 不锈钢保温杯,500ml"}))

向量模型

Python
import os
from langchain_openai import OpenAIEmbeddings

embeddings = OpenAIEmbeddings(
    model="text-embedding-3-small",
    base_url="https://www.tutujin.com/v1",
    api_key=os.environ["TUTUJIN_API_KEY"],
)
vectors = embeddings.embed_documents(["退货政策是什么?", "多久发货?"])
query_vector = embeddings.embed_query("怎么退货")

使用 OpenAI 以外的向量模型(例如 qwen3-embedding-8b)时,加上 check_embedding_ctx_length=False。默认情况下 OpenAIEmbeddings 会先用 OpenAI 的分词器把文本转成 token 再发送,其他厂商的模型不认这种输入,关掉后直接发送原始文本:

Python
embeddings = OpenAIEmbeddings(
    model="qwen3-embedding-8b",
    base_url="https://www.tutujin.com/v1",
    api_key=os.environ["TUTUJIN_API_KEY"],
    check_embedding_ctx_length=False,
)

向量可以接 LangChain 支持的任意向量库(如 PGVector、Milvus、Qdrant、Chroma),做检索增强生成,完整方案见企业知识库与 RAG。

用原生接口调用 Claude

Python
import os
from langchain_anthropic import ChatAnthropic

claude = ChatAnthropic(
    model="claude-sonnet-5-5",
    base_url="https://www.tutujin.com",
    api_key=os.environ["TUTUJIN_API_KEY"],
    max_tokens=1024,
)
print(claude.invoke("用三点总结这份会议纪要的要点:……").content)

base_url 填站点根地址,不带 /v1。

常见问题

现象原因与处理
404ChatOpenAI 的 base_url 要带 /v1;ChatAnthropic 的不带
向量接口报 400非 OpenAI 向量模型没有加 check_embedding_ctx_length=False
503 并提示 model_not_foundKey 所在分组没有这个模型,见选择分组

没找到答案?加客服微信 JsnonoChat,发送报错信息里的 request id,我们帮你排查。