Skip to content

调用示例 ​

以下是常见场景的代码示例,全部使用 https://api.1xm.ai/v1 接口。

💬 基础对话 ​

Python ​

python
from openai import OpenAI

client = OpenAI(
    api_key="sk-你的Key",
    base_url="https://api.1xm.ai/v1"
)

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[
        {"role": "system", "content": "你是一个专业的代码审查员"},
        {"role": "user", "content": "帮我审查这段 Python 代码是否有问题"}
    ]
)
print(response.choices[0].message.content)

Node.js ​

javascript
import OpenAI from 'openai';

const client = new OpenAI({
  apiKey: 'sk-你的Key',
  baseURL: 'https://api.1xm.ai/v1'
});

const response = await client.chat.completions.create({
  model: 'claude-sonnet-4-6',
  messages: [{ role: 'user', content: '用 TypeScript 写一个 REST API' }]
});
console.log(response.choices[0].message.content);

cURL ​

bash
curl -X POST https://api.1xm.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-你的Key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

🌊 流式输出 ​

Claude Code 默认使用流式输出。在 SDK 中开启 stream=True:

Python ​

python
stream = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "详细解释一下 TCP 三次握手"}],
    stream=True
)

for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="", flush=True)

Node.js ​

javascript
const stream = await client.chat.completions.create({
  model: 'claude-sonnet-4-6',
  messages: [{ role: 'user', content: '写一篇关于微服务架构的文章' }],
  stream: true
});

for await (const chunk of stream) {
  process.stdout.write(chunk.choices[0]?.delta?.content || '');
}

🔄 多轮对话 ​

python
messages = [
    {"role": "system", "content": "你是一个 Python 编程教练"},
    {"role": "user", "content": "什么是装饰器?"},
    {"role": "assistant", "content": "装饰器是 Python 中一种修改函数行为的语法糖..."},
    {"role": "user", "content": "能给一个实际的例子吗?"}
]

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=messages
)
print(response.choices[0].message.content)

🤖 切换不同模型 ​

只需修改 model 参数:

python
# Claude(Anthropic)- 推荐用于代码任务
response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "重构这段代码"}]
)

# GPT Codex(OpenAI)- 代码生成优化
response = client.chat.completions.create(
    model="gpt-5.1-codex",
    messages=[{"role": "user", "content": "实现一个 LRU 缓存"}]
)

# Claude Opus(旗舰)- 复杂任务
response = client.chat.completions.create(
    model="claude-opus-4-6",
    messages=[{"role": "user", "content": "设计一个分布式系统架构"}]
)

📊 查看 Token 用量 ​

python
response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "你好"}]
)

usage = response.usage
print(f"输入 Token: {usage.prompt_tokens}")
print(f"输出 Token: {usage.completion_tokens}")
print(f"总计 Token: {usage.total_tokens}")

🖼️ 异步图片任务 ​

gpt-image-2 的 4K、图片编辑、多参考图等任务建议使用异步接口,避免同步请求等待过久。

javascript
const apiKey = process.env.ONE_XM_API_KEY;

const createRes = await fetch('https://api.1xm.ai/v1/images/tasks', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
    'Idempotency-Key': 'order_20260507_0001'
  },
  body: JSON.stringify({
    model: 'gpt-image-2',
    prompt: '一张高端龙虾电商海报,写实摄影风格',
    size: '3840x2160',
    quality: 'high',
    output_format: 'png',
    n: 1
  })
});

const task = await createRes.json();

while (task.status !== 'succeeded') {
  await new Promise(resolve => setTimeout(resolve, (task.poll_after || 5) * 1000));
  const queryRes = await fetch(task.poll_url, {
    headers: { Authorization: `Bearer ${apiKey}` }
  });
  Object.assign(task, await queryRes.json());

  if (task.status === 'failed') {
    throw new Error(task.error?.message || 'image task failed');
  }
}

console.log(task.data[0].url);

完整说明见:GPT-Image-2 图片 API。


⚙️ Function Calling ​

python
tools = [{
    "type": "function",
    "function": {
        "name": "get_file_content",
        "description": "读取指定文件的内容",
        "parameters": {
            "type": "object",
            "properties": {
                "path": {"type": "string", "description": "文件路径"}
            },
            "required": ["path"]
        }
    }
}]

response = client.chat.completions.create(
    model="claude-sonnet-4-6",
    messages=[{"role": "user", "content": "读取 main.py 的内容"}],
    tools=tools
)

1XM.AI - 专为国内开发者打造的 AI API 中转服务