How to Get Started with Gorilla OpenFunctions v2

Apr 20, 2024 | Educational

Gorilla OpenFunctions v2 is a groundbreaking tool that brings the power of Large Language Models (LLM) into the realm of executable API calls based on natural language instructions. This guide will assist you in navigating the features of the Gorilla OpenFunctions v2 and offer insights on troubleshooting common challenges.

Introduction to Gorilla OpenFunctions v2

Imagine you’re a wizard, capable of conjuring different spells (functions) just by speaking (inputting natural language). Gorilla OpenFunctions v2 acts like a wise wizard’s spellbook, enhancing your communication with APIs and allowing you to perform multiple actions with a single command. With this tool, you can:

  • Choose multiple functions at once
  • Run multiple functions in parallel
  • Detect relevance while chatting—just ask for a function, and it will return one
  • Support various programming languages and data types with ease

Getting Started with Gorilla OpenFunctions

To use the Gorilla OpenFunctions v2, follow these steps:

1. Installation

You need to ensure that the required packages are installed. Begin with the OpenAI package:

bash
pip install openai==0.28.12

2. Setting Up the API Response Function

Next, create a Python function to get the response from the Gorilla model:

python
import openai

def get_gorilla_response(prompt, model='gorilla-openfunctions-v2', functions=[]):
    openai.api_key = 'YOUR_API_KEY'  # replace with your OpenAI key
    openai.api_base = 'http://luigi.millennium.berkeley.edu:8000/v1'
    
    try:
        completion = openai.ChatCompletion.create(
            model=model,
            temperature=0.0,
            messages=[{"role": "user", "content": prompt}],
            functions=functions,
        )
        return completion.choices[0]
    except Exception as e:
        print(e, model, prompt)

3. Crafting the API Call

To make an API call to get weather data in two cities, define your functions:

python
query = "What's the weather like in Boston and San Francisco?"
functions = [{
    "name": "get_current_weather",
    "description": "Get the current weather in a given location",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {
                "type": "string",
                "description": "The city and state, e.g. San Francisco, CA",
            },
            "unit": {
                "type": "string",
                "enum": ["celsius", "fahrenheit"],
            }
        },
        "required": ["location"],
    }
}]
get_gorilla_response(query, functions=functions)

4. Running the Example

To see the outcome of your commands, simply run the Python script:

bash
python inference_hosted.py

Expected output will include strings and JSON forms of the function calls, demonstrating the responses you can receive when employing the capabilities of Gorilla OpenFunctions v2.

Troubleshooting Common Issues

If you encounter issues while using Gorilla OpenFunctions v2, consider the following troubleshooting tips:

  • Double-check your API key and endpoint URLs for accuracy.
  • Ensure that you have installed all required packages and dependencies.
  • Review error messages carefully; they often lead directly to the issue.
  • If you’ve modified the models or settings, revert to the original settings to identify if that resolves your problem.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

Gorilla OpenFunctions v2 is designed to streamline API interactions through natural language, functioning almost like a digital assistant at your fingertips. With the steps provided above, you should be well-prepared to navigate this impressive tool and troubleshoot any roadblocks that arise.

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox