Sviluppare sistemi di AI con l'API di OpenAI
Francesca Donadoni
Curriculum Manager, DataCamp


function_definition = [{'type': 'function','function':
{'name': 'extract_job_info',
'description': 'Ottieni le informazioni sul lavoro dal corpo del testo in input',
'parameters': {
'type': 'object',
'properties': {
'job': {'type': 'string', 'description': 'Titolo di lavoro'},
'location': {'type': 'string', 'description': 'Località'}}
}}
}]
function_definition.append({'type': 'function',
'function':{
'name': 'get_timezone',
'description': 'Restituisce il fuso orario corrispondente alla località
nell'annuncio di lavoro',
'parameters': {
'type': 'object',
'properties': {
'timezone': {'type': 'string','description': 'Fuso orario'}}}
}
}
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
tools=function_definition
)
# Stampa gli argomenti della prima funzione
print(response.choices[0].message.tool_calls[0].function.arguments)
{"job": "Data Scientist", "location": "San Francisco, CA"}
# Stampa gli argomenti della seconda funzione
print(response.choices[0].message.tool_calls[1].function.arguments)
{"timezone": "America/Los_Angeles"}
response = client.chat.completions.create( model="gpt-4o-mini", messages=messages, tools=function_definition,tool_choice='auto')
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
tools=function_definition,
tool_choice={'type': 'function',
'function': {'name': 'extract_job_info'}
}
)
messages = []
messages.append({"role": "system", "content": "Non fare supposizioni sui valori
da passare alle funzioni. Non inventare valori per completare la risposta."})
messages.append({"role": "system", "content": "Chiedi chiarimenti se necessario."})
messages.append({"role": "user", "content": "Qual è lo stipendio iniziale
per il ruolo?"})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
tools=function_definition
)
print(response.choices[0].message.content)
Non ho informazioni sullo stipendio iniziale per il ruolo. Se vuoi, posso aiutarti
a estrarre le informazioni dal job post e poi fornire ulteriore supporto.
Sviluppare sistemi di AI con l'API di OpenAI