Developing AI Systems with the OpenAI API
Francesca Donadoni
Curriculum Manager, DataCamp
function_definition = [{'type': 'function','function':
{'name': 'extract_job_info',
'description': 'Get the job information from the body of the input text',
'parameters': {
'type': 'object',
'properties': {
'job': {'type': 'string', 'description': 'Job title'},
'location': {'type': 'string', 'description': 'Location'}}
}}
}]
function_definition.append({'type': 'function',
'function':{
'name': 'get_timezone',
'description': 'Return the timezone corresponding to the location in the
job advert',
'parameters': {
'type': 'object',
'properties': {
'timezone': {'type': 'string','description': 'Timezone'}}}
}
}
)
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
tools=function_definition
)
# Print the arguments of the first function
print(response.choices[0].message.tool_calls[0].function.arguments)
{"job": "Data Scientist", "location": "San Francisco, CA"}
# Print the arguments of the second function
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": "Don't make assumptions about what
values to plug into functions. Don't make up values to fill the response with."})
messages.append({"role": "system", "content": "Ask for clarification if needed."})
messages.append({"role": "user", "content": "What is the starting salary
for the role?"})
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=messages,
tools=function_definition
)
print(response.choices[0].message.content)
I don't have information about the starting salary for the role. If you'd like, I
can help you extract the job information from the description and then provide
additional assistance.
Developing AI Systems with the OpenAI API