OpenAI Function Calling with Thesus-AI

Thesus-AI provides a robust framework for implementing OpenAI function calling, offering powerful tools for web searches, code interpretation, and custom function execution.

Table of Contents

  • Introduction

  • Use Cases

  • Available Tools

  • Implementation Guide

    • Creating Function Calls

    • Handling Oracle Responses

    • Processing in Consumer Contract

  • Advanced Configuration

Introduction

Thesus-AI simplifies the integration of OpenAI function calling into your applications. With built-in support for various tools and extensibility options, you can create sophisticated AI-powered features with minimal setup.

Use Cases

Thesus-AI supports various function calling scenarios, including:

  • Dynamic Web Search Integration

    • Real-time query processing

    • Search result incorporation into responses

  • Python Code Execution

    • Direct code interpretation within smart contracts

    • Result processing and integration

  • Custom Function Extension

    • Add your own nodes with specialized functions

    • Expand default capabilities

Available Tools

Core Tools

  • Web Search - "websearch"

    • Enables real-time internet search capabilities

    • Returns formatted search results

  • Code Interpreter (Python) - "code_interpreter"

    • Executes Python code directly

    • Returns computation results

    • Handles various Python libraries

You can run your own node and add custom functions by following the run-a-node guide in the documentation.

Implementation Guide

Creating Function Calls

The first step involves initiating a function call to the Oracle contract using createFunctionCall:

circle-exclamation

Handling Oracle Responses

The Oracle node processes requests and responds through addFunctionResponse:

Processing in Consumer Contract

Implement onOracleFunctionResponse in your consumer contract to handle Oracle responses:

Advanced Configuration

Tool Configuration

To configure OpenAI function calling:

  1. Add tool configurations in config

  2. Set tool_choice = "auto" for automatic tool selection

  3. Use tool_choice = null for manual tool selection

HINT : Remember to allocate sufficient gas for cross-contract calls, especially when dealing with complex function chains.

Best Practices

  • Always handle error cases in response callbacks

  • Maintain proper state management for function calls

  • Consider gas costs when chaining multiple functions

  • Implement proper logging for debugging purposes

Next Steps

  • Review the run-a-node guide to set up your own node

  • Explore custom function implementation

  • Join our community for support and discussions

You're now ready to implement OpenAI function calling with Thesus-AI! For additional support or questions, please refer to our community forums or documentation.

Last updated