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.
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
Load ChatGPT plugins using manifest files or URLs.
Expose plugin functionalities as tools for AI agents.
Allow agents to query and interact with loaded plugins.
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
Handles multi-turn conversations within a defined domain.
Pulls structured data fields from unstructured text.
Searches the web and retrieves relevant sources.
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.