簡介
Mixroute Api 完全相容 OpenAI API 格式,您可以直接使用官方 OpenAI SDK,只需簡單修改設定即可無縫切換。支援的官方 SDK
- Python (
openai) - Node.js (
openai) - .NET (
OpenAI) - Go (
go-openai) - Ruby / PHP / Java (第三方)
Python SDK
安裝
Copy
Ask AI
pip install openai
基礎設定
Copy
Ask AI
from openai import OpenAI
client = OpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://console.mixroute.io/v1"
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "user", "content": "Hello!"}
]
)
print(response.choices[0].message.content)
串流輸出
Copy
Ask AI
stream = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Write a short story"}],
stream=True
)
for chunk in stream:
if chunk.choices[0].delta.content is not None:
print(chunk.choices[0].delta.content, end="")
非同步使用
Copy
Ask AI
import asyncio
from openai import AsyncOpenAI
async def main():
client = AsyncOpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://console.mixroute.io/v1"
)
response = await client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)
asyncio.run(main())
Node.js SDK
安裝
Copy
Ask AI
npm install openai
基礎設定
Copy
Ask AI
import OpenAI from 'openai';
const openai = new OpenAI({
apiKey: 'sk-xxxxxxxxxx',
baseURL: 'https://console.mixroute.io/v1'
});
const response = await openai.chat.completions.create({
model: 'gpt-4o',
messages: [{ role: 'user', content: 'Hello!' }]
});
console.log(response.choices[0].message.content);
Go SDK
安裝
Copy
Ask AI
go get github.com/sashabaranov/go-openai
基礎設定
Copy
Ask AI
package main
import (
"context"
"fmt"
openai "github.com/sashabaranov/go-openai"
)
func main() {
config := openai.DefaultConfig("sk-xxxxxxxxxx")
config.BaseURL = "https://console.mixroute.io/v1"
client := openai.NewClientWithConfig(config)
resp, _ := client.CreateChatCompletion(
context.Background(),
openai.ChatCompletionRequest{
Model: "gpt-4o",
Messages: []openai.ChatCompletionMessage{
{Role: openai.ChatMessageRoleUser, Content: "Hello!"},
},
},
)
fmt.Println(resp.Choices[0].Message.Content)
}
模型切換
Copy
Ask AI
# GPT 模型
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}]
)
# Claude 模型
response = client.chat.completions.create(
model="claude-sonnet-4-20250514",
messages=[{"role": "user", "content": "Hello"}]
)
# Gemini 模型
response = client.chat.completions.create(
model="gemini-2.5-pro",
messages=[{"role": "user", "content": "Hello"}]
)
進階功能
Function Calling
Copy
Ask AI
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "取得指定城市的天氣資訊",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string"}
},
"required": ["location"]
}
}
}
]
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "北京天氣怎麼樣?"}],
tools=tools,
tool_choice="auto"
)
嵌入向量
Copy
Ask AI
response = client.embeddings.create(
model="text-embedding-3-small",
input="要嵌入的文字內容"
)
embedding = response.data[0].embedding
遷移指南
Copy
Ask AI
# 原來的設定
client = OpenAI(api_key="sk-...")
# 改為 Mixroute Api
client = OpenAI(
api_key="sk-xxxxxxxxxx",
base_url="https://console.mixroute.io/v1"
)