函数调用
from openai import OpenAI
import os, json
client = OpenAI(api_key=os.environ.get("TOPROUTER_API_KEY"),
base_url="https://api.toprouter.ai/api/openai/v1",)
tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取给定位置的当前温度。",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市和国家,例如波哥大,哥伦比亚"
}
},
"required": [
"location"
],
"additionalProperties": False
},
"strict": True
}
}]
completion = client.chat.completions.create(
model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
messages=[{"role": "user", "content": "今天巴黎的天气怎么样?"}],
tools=tools,
tool_choice="auto"
)
print(json.dumps(completion.choices[0].message.model_dump()['tool_calls'], indent=2))
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: process.env.TOPROUTER_API_KEY,
baseURL: 'https://api.toprouter.ai/api/openai/v1',
});
const tools = [{
"type": "function",
"function": {
"name": "get_weather",
"description": "获取给定位置的当前温度。",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "城市和国家,例如波哥大,哥伦比亚"
}
},
"required": [
"location"
],
"additionalProperties": false
},
"strict": true
}
}];
const completion = await openai.chat.completions.create({
model: "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo",
messages: [{ role: "user", content: "今天巴黎的天气怎么样?" }],
tools,
store: true,
});
console.log(completion.choices[0].message.tool_calls);
输出:
[
{
"id": "call_nu2ifnvqz083p5kngs3a3aqz",
"function": {
"arguments": "{\"location\":\"Paris, France\"}",
"name": "get_weather"
},
"type": "function",
"index": 0
}
]