开发框架与 SDK 接入指南
这页只保留 2026-03-08 本地真实调用验证通过的示例。为了避免你把不同协议的模型和库混着填,先把它们分成 3 类。
当前边界(2026-03-08)
- 走 Chat Completions 的库:首测模型统一用
claude-sonnet-4-6 - 走 Responses 的库:首测模型统一用
gpt-5.4 - Gemini 系列模型:当前先走 Google GenAI SDK,不要先走 Gemini CLI
基础信息
- OpenAI 兼容地址:
https://anideaai.com/v1 - Gemini SDK 根地址:
https://anideaai.com - 密钥格式:
sk-xxxxx - 鉴权方式:
Authorization: Bearer <API_KEY>
OpenAI SDK(Python)
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxx",
base_url="https://anideaai.com/v1",
)
resp = client.chat.completions.create(
model="claude-sonnet-4-6",
messages=[{"role": "user", "content": "请只回复:Python OpenAI SDK 成功"}],
)
print(resp.choices[0].message.content)
OpenAI SDK(Node.js)
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-xxxxx",
baseURL: "https://anideaai.com/v1"
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-4-6",
messages: [{ role: "user", content: "请只回复:Node OpenAI SDK 成功" }]
});
console.log(resp.choices[0].message.content);
LangChain(Python)
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="claude-sonnet-4-6",
api_key="sk-xxxxx",
base_url="https://anideaai.com/v1",
temperature=0,
max_retries=0,
)
print(llm.invoke("请只回复:LangChain Python 成功").content)
LangChain(Node.js)
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({
model: "claude-sonnet-4-6",
apiKey: "sk-xxxxx",
maxRetries: 0,
configuration: {
baseURL: "https://anideaai.com/v1"
}
});
const output = await model.invoke("请只回复:LangChain Node 成功");
console.log(output.content);
Vercel AI SDK
import { createOpenAI } from "@ai-sdk/openai";
import { generateText } from "ai";
const openai = createOpenAI({
apiKey: process.env.ANIDEAAI_API_KEY,
baseURL: "https://anideaai.com/v1"
});
const { text } = await generateText({
model: openai("gpt-5.4"),
prompt: "请只回复:Vercel AI SDK 成功"
});
console.log(text);
Google GenAI SDK(Node.js)
import { GoogleGenAI } from "@google/genai";
const ai = new GoogleGenAI({
apiKey: process.env.ANIDEAAI_API_KEY,
httpOptions: { baseUrl: "https://anideaai.com" }
});
const resp = await ai.models.generateContent({
model: "gemini-3.1-pro-preview",
contents: "请只回复:Google GenAI SDK 成功"
});
console.log(resp.text);
PydanticAI
from pydantic_ai import Agent
from pydantic_ai.models.openai import OpenAIChatModel
from pydantic_ai.providers.openai import OpenAIProvider
provider = OpenAIProvider(
base_url="https://anideaai.com/v1",
api_key="sk-xxxxx",
)
model = OpenAIChatModel("claude-sonnet-4-6", provider=provider)
agent = Agent(model)
result = agent.run_sync("请只回复:PydanticAI 成功")
print(result.output)
LiteLLM
from litellm import completion
resp = completion(
model="openai/claude-sonnet-4-6",
api_key="sk-xxxxx",
api_base="https://anideaai.com/v1",
messages=[{"role": "user", "content": "请只回复:LiteLLM 成功"}],
)
print(resp["choices"][0]["message"]["content"])
常见问题
401:密钥无效或传参位置错误。404:通常是base_url未带/v1。429:请求频率超限,增加重试和退避。model not found:模型名不在账号可用范围内。- 返回体里只有
output、没有choices:说明你把gpt-5.4填进了仍按 Chat Completions 读取返回的库,先改回claude-sonnet-4-6。 - 想先用 Gemini 模型但 CLI 跑不通:先改用本页的 Google GenAI SDK 示例。
建议的重试策略
- 首次失败等待 1 秒后重试
- 第二次失败等待 2 秒后重试
- 最多重试 3 次,避免雪崩