Function calling in AI simply means that you can call external APIs from within your AI-powered application. Whenever you read that a model can do function calling, it means that it can take a natural language query of user and convert it to a function call. Then you can execute that function call to your API endpoint to get the data, and give it to LLM as additional context and get more grounded latest response as per your application requirement.
import openai
def Get_Beach_Patrol_Info(name, location):
if 'Bondi' in name:
print(f"The beach {name} at {location} is patrolled.")
elif 'Marley' in name:
print(f"The beach {name} of {location } is unpatrolled.")
else:
print(f"Beach not found.")
def get_gorilla_response(prompt="", model="gorilla-openfunctions-v2", functions=[]):
openai.api_key = "EMPTY" # Hosted for free with from UC Berkeley
openai.api_base = "http://luigi.millennium.berkeley.edu:8000/v1"
try:
completion = openai.ChatCompletion.create(
model="gorilla-openfunctions-v2",
temperature=0.0,
messages=[{"role": "user", "content": prompt}],
functions=functions,
)
return completion.choices[0]
except:
print("error occurred.")
beach_custom_functions = [
{
'name': 'Get_Beach_Patrol_Info',
'description': 'Get name and location of beach from the body of the input text',
'parameters': {
'type': 'object',
'properties': {
'name': {
'type': 'string',
'description': 'Name of the beach'
},
'location': {
'type': 'string',
'description': 'Location where beach is located.'
}
}
}
}
]
beach_1_description="""Bondi Beach is an iconic destination located in Sydney, Australia,
renowned for its golden sands and lively atmosphere. It attracts surfers,
sunbathers, and tourists alike, offering stunning ocean views and a
vibrant coastal culture."""
beach_2_description="""Marley Beach (also known as Big Marley Beach) is a stunning beach in the
upper Royal National Park, on the outskirts of southern Sydney, Australia.
The beach is one of eleven beaches located within the territory of the
Royal National Park."""
beach_description=[beach_1_description,beach_2_description]
for i in beach_description:
response=get_gorilla_response(prompt=i, functions=beach_custom_functions)
func=response.message.content
print(func)
eval(func)
No comments:
Post a Comment