Funktionsaufrufe

Modelle strukturierte Aktionen in Ihrer Anwendung ausführen lassen.

Übersicht

Funktionsaufrufe (auch „Tool Use" genannt) ermöglichen es Ihnen, dem Modell Funktionen zu beschreiben, die es mit strukturierten JSON-Parametern aufrufen kann. Dadurch können Modelle mit externen Systemen, Datenbanken und APIs interagieren.

Werkzeuge definieren

Übergeben Sie ein Array tools mit JSON-Schema-Definitionen in der Anfrage:

TypeScript
1const completion = await client.chat.completions.create({
2 model: 'gpt-4o',
3 messages: [{ role: 'user', content: 'Wie ist das Wetter in Tokio?' }],
4 tools: [
5 {
6 type: 'function',
7 function: {
8 name: 'get_weather',
9 description: 'Aktuelles Wetter für einen bestimmten Ort abrufen',
10 parameters: {
11 type: 'object',
12 properties: {
13 location: { type: 'string', description: 'Stadtname' },
14 unit: { type: 'string', enum: ['celsius', 'fahrenheit'] },
15 },
16 required: ['location'],
17 },
18 },
19 },
20 ],
21});

Werkzeugaufrufe verarbeiten

Wenn das Modell eine Funktion aufrufen möchte, enthält die Antwort ein Array tool_calls. Führen Sie die Funktion aus und senden Sie das Ergebnis zurück:

TypeScript
1const toolCall = completion.choices[0].message.tool_calls[0];
2const args = JSON.parse(toolCall.function.arguments);
3
4// Ihre Funktion ausführen
5const weather = await getWeather(args.location, args.unit);
6
7// Ergebnis zurücksenden
8const followUp = await client.chat.completions.create({
9 model: 'gpt-4o',
10 messages: [
11 { role: 'user', content: 'Wie ist das Wetter in Tokio?' },
12 completion.choices[0].message,
13 {
14 role: 'tool',
15 tool_call_id: toolCall.id,
16 content: JSON.stringify(weather),
17 },
18 ],
19});

Unterstützte Modelle

Modelle mit der Funktion „Funktionsaufrufe" unterstützen dieses Feature, darunter GPT-4o, Claude Sonnet/Opus und Gemini-Modelle. Filtern Sie auf der Modellseite nach der Funktion „Tools".