Skip to content

API 总览

API 端点: https://oneapi.zaiwenai.com/v1

在问的 API 接口与 OpenAIChat Completions 接口一致,可以接入兼容的 SDK 或应用。

Curl 示例

bash
curl https://oneapi.zaiwenai.com/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $YOUR_API_KEY" \
  -d '{
    "model": "gpt-4o",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'

OpenAI Python SDK 示例

python
from openai import OpenAI

client = OpenAI(
  base_url="https://oneapi.zaiwenai.com/v1",
  api_key="$YOUR_API_KEY",
)

completion = client.chat.completions.create(
  model="gpt-4o",
  messages=[
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "hello!"
    }
  ]
)

print(completion.choices[0].message.content)

LangChain 与工具调用示例

python
from pprint import pprint

from langchain.agents import create_agent
from langchain_openai import ChatOpenAI

model = ChatOpenAI(
    base_url="https://oneapi.zaiwenai.com/v1",
    api_key="$YOUR_API_KEY",
    model="gpt-4o",
)

_weather_db = {
    "Beijing": "Hazy, 28°C",
}


def get_user_city() -> str:
    print("+++++ TOOL USER ++++: try to get user's city")
    return "Beijing"


def get_weather(city: str) -> str:
    print(f"+++++ TOOL USER ++++: try to get weather for {city}")
    return _weather_db.get(
        city, f"Sorry, I don't have weather information for {city}."
    )

agent = create_agent(
    model=model,
    tools=[get_weather, get_user_city],
    system_prompt="You are a helpful assistant.",
)

r = agent.invoke(
    {"messages": [{"role": "user", "content": "What's the weather like?"}]}
)

pprint(r)