Skill

Integrate ChatGPT Plugins with Agents

A LlamaIndex tool that loads ChatGPT plugin manifests and enables AI agents to interact with plugin APIs through OpenAPI specifications.

Works with githubopenairequests

57
Spark score
out of 100
Updated 4 days ago
Version 0.14.22
Models

Add to Favorites

Why it matters

Enable your AI agents to interact with external services by loading ChatGPT plugins. This asset allows agents to understand and utilize plugin functionalities, expanding their capabilities beyond core LLM functions.

Outcomes

What it gets done

01

Load ChatGPT plugins using manifest files or URLs.

02

Expose plugin functionalities as tools for AI agents.

03

Allow agents to query and interact with loaded plugins.

04

Leverage OpenAPI specifications for tool integration.

Install

Add it to your toolbox

Run in your project directory:

curl -fsSL https://spark.entire.vc/get/li-tool-tools-chatgpt-plugin | bash

Capabilities

What this skill does

Chatbot

Handles multi-turn conversations within a defined domain.

Extract

Pulls structured data fields from unstructured text.

Search the web

Searches the web and retrieves relevant sources.

Translate

Converts text between languages while preserving meaning.

Overview

ChatGPT Plugin Tool

What it does

ChatGPT Plugin Tool

How it connects

When you need to integrate ChatGPT plugin manifests into LlamaIndex agent workflows

Source README

ChatGPT Plugin Tool

This tool allows Agents to load a plugin using a ChatGPT manifest file, and have the Agent interact with it.

Usage

This tool has more extensive example usage documented in a Jupyter notebook here

# Load the manifest
import requests
import yaml

f = requests.get(
    "https://raw.githubusercontent.com/sisbell/chatgpt-plugin-store/main/manifests/today-currency-converter.oiconma.repl.co.json"
).text
manifest = yaml.safe_load(f)

from llama_index.tools.chatgpt_plugin import ChatGPTPluginToolSpec
from llama_index.core.agent.workflow import FunctionAgent
from llama_index.llms.openai import OpenAI
from llama_index.tools.requests import RequestsToolSpec

requests_spec = RequestsToolSpec()
plugin_spec = ChatGPTPluginToolSpec(manifest)
# OR
plugin_spec = ChatGPTPluginToolSpec(
    manifest_url="https://raw.githubusercontent.com/sisbell/chatgpt-plugin-store/main/manifests/today-currency-converter.oiconma.repl.co.json"
)

agent = FunctionAgent(
    tools=[*plugin_spec.to_tool_list(), *requests_spec.to_tool_list()],
    llm=OpenAI(model="gpt-4.1"),
)
print(await agent.run("Convert 100 euros to CAD"))

describe_plugin: Describe the plugin that has been loaded.
load_openapi_spec: Returns the parsed OpenAPI spec that the class was initialized with

In addition to the above method, this tool makes all of the tools available from the OpenAPI Tool Spec and Requests Tool Spec available to the agent. The plugin OpenAPI definition is loaded into the OpenAPI tool spec, and authentication headers are passed in to the Requests tool spec

This loader is designed to be used as a way to load data as a Tool in a Agent.

Discussion

Questions & comments · 0

Sign In Sign in to leave a comment.