Bekerja dengan banyak fungsi

Mengembangkan Sistem AI dengan OpenAI API

Francesca Donadoni

Curriculum Manager, DataCamp

Pemanggilan fungsi paralel

Diagram yang menunjukkan pemanggilan fungsi ke OpenAI API

Mengembangkan Sistem AI dengan OpenAI API

Pemanggilan fungsi paralel

Diagram yang menunjukkan pemanggilan fungsi ke OpenAI API dengan banyak fungsi

Mengembangkan Sistem AI dengan OpenAI API

Contoh pesan

 

function_definition = [{'type': 'function','function':
        {'name': 'extract_job_info',
        'description': 'Ambil info pekerjaan dari isi teks masukan',
        'parameters': {
            'type': 'object',
            'properties': {
                'job': {'type': 'string', 'description': 'Judul pekerjaan'},
                'location': {'type': 'string', 'description': 'Lokasi'}}
        }}
    }]
Mengembangkan Sistem AI dengan OpenAI API

Contoh pesan

function_definition.append({'type': 'function',
        'function':{
            'name': 'get_timezone',
            'description': 'Kembalikan zona waktu yang sesuai dengan lokasi dalam 
                            iklan kerja',
            'parameters': {
            'type': 'object',
            'properties': {
                'timezone': {'type': 'string','description': 'Zona waktu'}}}
        }
    }
)
Mengembangkan Sistem AI dengan OpenAI API

Contoh pesan

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition
)
Mengembangkan Sistem AI dengan OpenAI API

Contoh respons

 

# Cetak argumen fungsi pertama
print(response.choices[0].message.tool_calls[0].function.arguments)
{"job": "Data Scientist", "location": "San Francisco, CA"}
# Cetak argumen fungsi kedua
print(response.choices[0].message.tool_calls[1].function.arguments)
{"timezone": "America/Los_Angeles"}
Mengembangkan Sistem AI dengan OpenAI API

Menetapkan fungsi tertentu

 

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

tool_choice='auto'
)
Mengembangkan Sistem AI dengan OpenAI API

Menetapkan fungsi tertentu

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition,
    tool_choice={'type': 'function', 
                         'function': {'name': 'extract_job_info'}
                 }
)
Mengembangkan Sistem AI dengan OpenAI API

Memeriksa ulang respons

 

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?"})
Mengembangkan Sistem AI dengan OpenAI API

Memeriksa ulang respons

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition
)
print(response.choices[0].message.content)
Saya tidak memiliki informasi tentang gaji awal untuk peran tersebut. Jika Anda mau, 
saya dapat membantu mengekstrak info pekerjaan dari deskripsi lalu memberikan 
bantuan tambahan.
Mengembangkan Sistem AI dengan OpenAI API

Ayo berlatih!

Mengembangkan Sistem AI dengan OpenAI API

Preparing Video For Download...