跳到正文
土土金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,我們幫你排查。