第 15 章 / 共 21 章约 1 分钟

15. SDK 与客户端集成#

因完全兼容 OpenAI,几乎所有支持自定义 baseURL 的工具都能接入。

Python(OpenAI 官方 SDK)#

Python
from openai import OpenAI

client = OpenAI(
    base_url="http://183.240.79.21:52099/v1",
    api_key="sk-你的YiTuoToken-Key",
)

resp = client.chat.completions.create(
    model="gpt-4o",
    messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)

Node.js(openai npm 包)#

JavaScript
import OpenAI from "openai";

const client = new OpenAI({
  baseURL: "http://183.240.79.21:52099/v1",
  apiKey: "sk-你的YiTuoToken-Key",
});

const resp = await client.chat.completions.create({
  model: "gpt-4o",
  messages: [{ role: "user", content: "你好" }],
});
console.log(resp.choices[0].message.content);

LangChain(Python)#

Python
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(
    model="gpt-4o",
    base_url="http://183.240.79.21:52099/v1",
    api_key="sk-你的YiTuoToken-Key",
)
print(llm.invoke("你好").content)

Go#

Go
config := openai.DefaultConfig("sk-你的YiTuoToken-Key")
config.BaseURL = "http://183.240.79.21:52099/v1"
client := openai.NewClientWithConfig(config)

Anthropic SDK(走 /v1/messages)#

使用 Anthropic 官方 SDK 时,需让 SDK 以 Authorization: Bearer 头携带密钥(auth_token 参数),而非默认的 x-api-key:

Python
from anthropic import Anthropic

client = Anthropic(
    base_url="http://183.240.79.21:52099",   # SDK 会自动追加 /v1/messages
    auth_token="sk-你的YiTuoToken-Key",   # 以 Bearer 头发送
)

msg = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=256,
    messages=[{"role": "user", "content": "你好"}],
)

桌面 / Web 客户端#

以下客户端均支持自定义 OpenAI 接口,在设置中填入 API 地址 与 密钥 即可:

客户端API 地址填写密钥
Cherry Studiohttp://183.240.79.21:52099/v1你的 sk-...
LobeChathttp://183.240.79.21:52099/v1你的 sk-...
NextChathttp://183.240.79.21:52099你的 sk-...
Cursorhttp://183.240.79.21:52099/v1你的 sk-...
Difyhttp://183.240.79.21:52099/v1你的 sk-...

部分客户端要求填写不含 /v1 的根地址并自动追加 /v1;若调用报 404,尝试增删末尾的 /v1。