Moxus AI兼容三种主流协议:OpenAI、Anthropic(Claude)与 Google(Gemini)。因此可直接使用这三家的官方 SDK,只需修改 Base URL 与 API Key,即可访问Moxus AI平台支持的所有模型。
本文档提供各语言 SDK 的配置示例。
OpenAI SDK
适合大多数文本、视觉、函数调用、结构化输出和流式场景。
Anthropic SDK
适合需要 Claude 原生 Messages 接口的项目。
LangChain
适合检索增强、代理流程和多工具编排应用。
SDK 接入时优先使用环境变量管理密钥。示例中的 sk-你的密钥 只用于说明,不应提交到代码仓库。
使用 OpenAI SDK
OpenAI SDK 是最通用的方式,支持最广泛的模型与功能。
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://moxus.ai/v1",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "你好"}],
)
print(response.choices[0].message.content)
Python
配置与调用
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://moxus.ai/v1",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "你好"}
],
)
print(response.choices[0].message.content)
流式调用
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "写一首诗"}],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content or ""
print(delta, end="", flush=True)
Node.js / TypeScript
配置与调用
import OpenAI from "openai";
const client = new OpenAI({
apiKey: "sk-你的密钥",
baseURL: "https://moxus.ai/v1",
});
const response = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "你好" }],
});
console.log(response.choices[0].message.content);
流式调用
const stream = await client.chat.completions.create({
model: "gpt-4o",
messages: [{ role: "user", content: "写一首诗" }],
stream: true,
});
for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content || "";
process.stdout.write(delta);
}
go get github.com/sashabaranov/go-openai
配置与调用
package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig("sk-你的密钥")
config.BaseURL = "https://moxus.ai/v1"
client := openai.NewClientWithConfig(config)
resp, err := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "gpt-4o",
Messages: []openai.ChatCompletionMessage{
{Role: "user", Content: "你好"},
},
},
)
if err != nil {
panic(err)
}
fmt.Println(resp.Choices[0].Message.Content)
}
Java
添加依赖(Maven)
<dependency>
<groupId>com.theokanning.openai-gpt3-java</groupId>
<artifactId>service</artifactId>
<version>0.18.2</version>
</dependency>
配置与调用
import com.theokanning.openai.service.OpenAiService;
import com.theokanning.openai.completion.chat.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
OpenAiService service = new OpenAiService("sk-你的密钥");
// 部分库需通过环境变量或反射设置 Base URL,具体参考库文档
List<ChatMessage> messages = Arrays.asList(
new ChatMessage("user", "你好")
);
ChatCompletionRequest request = ChatCompletionRequest.builder()
.model("gpt-4o")
.messages(messages)
.build();
ChatCompletionResult result = service.createChatCompletion(request);
System.out.println(result.getChoices().get(0).getMessage().getContent());
}
}
注意:部分 Java SDK 对自定义 Base URL 的支持方式不同,需参考对应库的文档。
使用 Anthropic SDK(调用 Claude 模型)
若要使用 Claude 原生接口(/v1/messages),可使用 Anthropic 官方 SDK。
Python
配置与调用
from anthropic import Anthropic
client = Anthropic(
api_key="sk-你的密钥",
base_url="https://moxus.ai",
)
response = client.messages.create(
model="claude-3-5-sonnet",
max_tokens=1024,
messages=[
{"role": "user", "content": "你好"}
],
)
print(response.content[0].text)
注意:Anthropic SDK 的 base_url 通常不带 /v1,具体以实际调用为准。
Node.js
npm install @anthropic-ai/sdk
配置与调用
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "sk-你的密钥",
baseURL: "https://moxus.ai",
});
const response = await client.messages.create({
model: "claude-3-5-sonnet",
max_tokens: 1024,
messages: [{ role: "user", content: "你好" }],
});
console.log(response.content[0].text);
使用 Google Gemini SDK
若要使用 Gemini 原生接口,可使用 Google 官方 SDK。
Python
pip install google-generativeai
配置与调用
Google SDK 的自定义 Base URL 配置方式较复杂,建议使用 OpenAI SDK 调用 Gemini 模型(通过 OpenAI 兼容格式)。如必须使用 Gemini 原生 SDK,需参考其官方文档配置自定义端点。
通过 OpenAI SDK 调用 Gemini(推荐)
Moxus AI兼容 Gemini 的 OpenAI 格式调用,因此可直接使用 OpenAI SDK:
from openai import OpenAI
client = OpenAI(
api_key="sk-你的密钥",
base_url="https://moxus.ai/v1",
)
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[{"role": "user", "content": "你好"}],
)
print(response.choices[0].message.content)
环境变量配置(推荐)
不要将密钥硬编码于源码。应从环境变量读取:
export ICEROCKY_API_KEY="sk-你的密钥"
export ICEROCKY_BASE_URL="https://moxus.ai/v1"
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["ICEROCKY_API_KEY"],
base_url=os.environ["ICEROCKY_BASE_URL"],
)
其他语言
Moxus AI兼容标准 HTTP RESTful API,任何支持 HTTP 请求的语言均可接入。参考 认证 与 快速入门 中的 cURL 示例,使用对应语言的 HTTP 库(如 Python 的 requests、PHP 的 Guzzle、Ruby 的 HTTParty)构造请求即可。
示例(Python + requests):
import requests
resp = requests.post(
"https://moxus.ai/v1/chat/completions",
headers={"Authorization": "Bearer sk-你的密钥"},
json={
"model": "gpt-4o",
"messages": [{"role": "user", "content": "你好"}],
},
)
data = resp.json()
print(data["choices"][0]["message"]["content"])
常见问题
SDK 提示 API Key 无效?
检查 api_key 参数是否正确,不应包含 Bearer 前缀(SDK 会自动添加)。
SDK 连接超时或无法获取模型列表?
检查 base_url 是否正确。OpenAI SDK 通常需要 /v1 后缀,Anthropic SDK 通常不需要。
是否可以同时使用多种 SDK?
可以。在同一项目中可分别创建 OpenAI、Anthropic 与 Gemini 客户端,按需调用不同模型。
后续步骤