ÎncepețiÎncepe gratuit

Integrarea instrumentelor de tip function-calling

Ai creat un instrument de conversie a fusurilor orare folosind funcția convert_timezone() și l-ai definit în formatul de instrumente al OpenAI. Acum trebuie să implementezi fluxul complet de lucru pentru function-calling. client este deja inițializat, iar lista tools conține definiția instrumentului tău de conversie a fusurilor orare. Funcția convert_timezone() este și ea pregătită pentru utilizare.

O listă messages a fost deja începută și conține un mesaj de la utilizator care necesită informații despre fusul orar din instrumentul tău convert_timezone.

Acest exercițiu face parte din cursul

Lucrul cu Responses API de la OpenAI

Vezi cursul

Instrucțiuni pentru exercițiu

  • Parcurge elementele din răspunsul primei cereri Responses pentru a verifica dacă există un 'function_call' către 'convert_timezone'; apoi apelează convert_timezone() cu argumentele despachetate din element, stocând rezultatul în timezone_result.
  • Adaugă un mesaj de tip 'function_call_output' în lista de mesaje, conținând rezultatul returnat de convert_timezone().
  • Creează cererea Responses finală cu mesajele care includ rezultatul funcției și, din nou, transmițând lista tools.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

messages = [{"role": "user", "content": "What time is 2:30pm on January 20th in New York in Tokyo time?"}]
response = client.responses.create(model="gpt-5.4-mini", input=messages, tools=tools)
messages += response.output

# Process function calls and execute the timezone conversion
for item in response.output:
    if item.type == "____":
        if item.name == "____":
            timezone_result = ____(**json.loads(item.arguments))
            
            # Append function output to messages
            messages.append({"type": "____", "call_id": item.call_id, "output": json.dumps({"convert_timezone": ____})})

# Make second API request with function results
response = client.responses.create(model="gpt-5.4-mini", input=____, tools=____)
print(response.output_text)
Editează și rulează codul