Appearance
API 总览
API 端点:
https://oneapi.zaiwenai.com/v1在问的 API 接口与
OpenAI的Chat 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)