Documentation Index
Fetch the complete documentation index at: https://studio-docs.prem.io/llms.txt
Use this file to discover all available pages before exploring further.
Why Use Function Calling?
Function calling lets you extend LLM capabilities by allowing models to invoke external functions and tools. This enables your applications to perform actions like fetching real-time data, interacting with APIs, or executing computations based on the modelβs reasoning.Prerequisites
- An API key from Prem Studio
- Python β₯ 3.8 or Node.js β₯ 18
- premai or openai SDK installed
Supported Models
The list of supported models is constantly evolving. For the most up-to-date list of models that support function calling, please visit the models list page. Models that support function calling are clearly marked with a tools tag on the models page.Generate Function Calls with Prem
This quick guide shows you how to implement a weather assistant that can fetch current weather information using function calling. Youβll define a weather function, let the model decide when to call it, and handle the tool responses. Why itβs useful: It enables your AI assistant to perform real-world actions and access live data β not just generate text responses. When to use it: Perfect for building AI assistants, chatbots, or automation tools that need to interact with external APIs, databases, or perform calculations based on user queries.Full Copy-Paste Example
Pro Tips
- We use the json-repair package to automatically handle malformed JSON in function arguments, making the parsing much more robust than using
json.loads(). - Always validate function arguments before executing functions to prevent errors or security issues.
- Use descriptive function names and detailed descriptions to help the model understand when to call each function.
- Set
tool_choice: "auto"to let the model decide when to use functions, or set it to"none"to disable function calling for a specific request. - For production applications, implement proper error handling and logging for function executions.
- Consider implementing rate limiting and authentication for external API calls within your functions.
Common Use-Cases
- Building AI assistants that can fetch real-time data (weather, stock prices, news)
- Creating chatbots that can interact with databases or APIs
- Implementing AI agents that can perform calculations or data processing
- Developing automation tools that can execute actions based on natural language commands
Tool Choice Options
You can control when and how the model uses functions with thetool_choice parameter:
"auto"(default): Model decides whether to call functions"none": Model will not call any functions{"type": "function", "function": {"name": "function_name"}}: Force the model to call a specific function