Làm việc với nhiều hàm

Phát triển hệ thống AI với OpenAI API

Francesca Donadoni

Curriculum Manager, DataCamp

Gọi hàm song song

Sơ đồ minh họa một lệnh gọi API OpenAI dùng function calling

Phát triển hệ thống AI với OpenAI API

Gọi hàm song song

Sơ đồ minh họa gọi API OpenAI với nhiều hàm

Phát triển hệ thống AI với OpenAI API

Thông điệp ví dụ

 

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'}}
        }}
    }]
Phát triển hệ thống AI với OpenAI API

Thông điệp ví dụ

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'}}}
        }
    }
)
Phát triển hệ thống AI với OpenAI API

Thông điệp ví dụ

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition
)
Phát triển hệ thống AI với OpenAI API

Phản hồi ví dụ

 

# 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"}
Phát triển hệ thống AI với OpenAI API

Chọn hàm cụ thể

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition,

tool_choice='auto'
)
Phát triển hệ thống AI với OpenAI API

Chọn hàm cụ thể

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition,
    tool_choice={'type': 'function', 
                         'function': {'name': 'extract_job_info'}
                 }
)
Phát triển hệ thống AI với OpenAI API

Kiểm tra lại phản hồi

 

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?"})
Phát triển hệ thống AI với OpenAI API

Kiểm tra lại phản hồi

 

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.
Phát triển hệ thống AI với OpenAI API

Ayo berlatih!

Phát triển hệ thống AI với OpenAI API

Preparing Video For Download...