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
| 1 | const 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
| 1 | const toolCall = completion.choices[0].message.tool_calls[0]; |
| 2 | const args = JSON.parse(toolCall.function.arguments); |
| 3 | |
| 4 | // Ihre Funktion ausführen |
| 5 | const weather = await getWeather(args.location, args.unit); |
| 6 | |
| 7 | // Ergebnis zurücksenden |
| 8 | const 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".