This is a comparison of calls made to either OpenAI gpt-35-turbo or Ollama Llama3.1 with a function calling request. The geneal goal of the function is to take a user query and turn it into a search query, along with optional price filter or brand filter. See the file below this one for the tools definition.
gpt-35: π
{"search_query":"Best shoe for hiking"}
llama3.1: π
{"brand_filter":null,"price_filter":null,"search_query":"best shoe for hiking"}'
gpt-35: π Includes a valid price_filter
{"search_query":"Climbing gear","price_filter":{"comparison_operator":"<","value":30}}'
llama3.1: π Completely makes up the structure of the price_filter object-typed argument!
{"brand_filter":"{}","price_filter":"{\'max\': 30}","search_query":""}
gpt-35: π Includes a valid brand_filter
{"search_query":"Shoes WildRunner","brand_filter":{"comparison_operator":"=","value":"WildRunner"}}
llama3.1: π Doesn't include a brand filter, plus sets them to "None" instead of "null", confusing my parsing.
{"brand_filter":"None","price_filter":"None","search_query":"shoes by wildrunner"}
gpt-35: π Includes a valid brand_filter
{"search_query":"WildRunner","brand_filter":{"comparison_operator":"=","value":"WildRunner"}}
llama3.1: π Completely makes up the structure of the object-typed argument!
{"brand_filter":"{\'brand\': \'Wildrunner\'}","price_filter":"{}","search_query":""}