여러 함수 사용하기

OpenAI API로 AI 시스템 개발하기

Francesca Donadoni

Curriculum Manager, DataCamp

병렬 함수 호출

OpenAI API 함수 호출 다이어그램

OpenAI API로 AI 시스템 개발하기

병렬 함수 호출

여러 함수를 사용하는 OpenAI API 함수 호출 다이어그램

OpenAI API로 AI 시스템 개발하기

메시지 예시

 

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'}}
        }}
    }]
OpenAI API로 AI 시스템 개발하기

메시지 예시

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'}}}
        }
    }
)
OpenAI API로 AI 시스템 개발하기

메시지 예시

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition
)
OpenAI API로 AI 시스템 개발하기

응답 예시

 

# 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"}
OpenAI API로 AI 시스템 개발하기

특정 함수 설정

 

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

tool_choice='auto'
)
OpenAI API로 AI 시스템 개발하기

특정 함수 설정

 

response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=messages,
    tools=function_definition,
    tool_choice={'type': 'function', 
                         'function': {'name': 'extract_job_info'}
                 }
)
OpenAI API로 AI 시스템 개발하기

응답 검증

 

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?"})
OpenAI API로 AI 시스템 개발하기

응답 검증

 

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.
OpenAI API로 AI 시스템 개발하기

연습해 봅시다!

OpenAI API로 AI 시스템 개발하기

Preparing Video For Download...