GPT Plugins 4All 
GPT Plugins 4All is a Python library designed to facilitate the integration of GPT and other large language models with various APIs, leveraging OpenAPI specifications. This library simplifies the process of parsing OpenAPI specs, managing different authentication methods, and dynamically interacting with APIs based on model responses.
Features
- Parse and validate OpenAPI 3.1.0 specifications.
- Handle diverse authentication methods, including OAuth 2.0, Basic Auth, Header Auth, and Query Parameter Auth.
- Generate structured API representations for AI interactions.
- Dynamically construct API calls based on OpenAPI specs.
- Support OAuth2.0 flow for token acquisition and usage.
- Easily create and manage instances of AI assistants and threads for interactive sessions
- Command-Line Interface (CLI) for convenient management of configurations and interactions.
Installation
Install GPT Plugins 4All using pip:
pip install GPTPlugins4All
Using the CLI
The GPT Plugins 4All CLI provides a convenient way to manage configurations and interact with your APIs from the command line. ###Common Commands Search for Configurations
gpt-plugins-4all search --query "your_search_query"
Fetch a Specific Configuration
gpt-plugins-4all get --id "config_id_or_name"
List Your Configurations
gpt-plugins-4all my-configs --api-key "your_api_key"
Submit a New Configuration
gpt-plugins-4all submit-config --url "config_url" --auth-type "auth_type" --visibility "visibility" --api-key "your_api_key"
Usage
The CLI supports various operations such as searching for configurations, retrieving specific configurations, listing user configurations, and submitting new configurations. You can use these commands directly from your terminal to interact with the GPT Plugins 4All library.
For detailed usage and available options for each command, use the --help flag with any command:
gptplugins4all [command] --help
Quick Start
Initializing with an OpenAPI Specification
We support initializing with an OpenAPI Spec in two ways. One way is to just give the name of the spec from https://gptplugins4all.com like this:
config = Config('alpha_vantage')
We also support directly making a config from an OpenAPI spec.
from GPTPlugins4All.config import Config
# Initialize the Config object with your OpenAPI spec
spec_string = """...""" # Your OpenAPI spec as a string
config = Config(spec_string)
Adding Authentication Methods
Add Basic Authentication
config.add_auth_method("BASIC", {"key": "your_api_key"})
Add OAuth Configuration
config.add_auth_method("OAUTH", {
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"auth_url": "https://example.com/auth",
"token_url": "https://example.com/token",
"redirect_uri": "https://yourapp.com/oauth-callback",
"scope": "read write"
})
Generating Simplified API Representations
simplified_api = config.generate_simplified_api_representation()
print(simplified_api)
Generate Object for use with OpenAI functions
tools = config.generate_tools_representation()
Using the Assistant Class
The Assistant class (for now) provides a simplified interface between your plugins and various OpenAI models via the Assistants API.
Initializing the Assistant
from assistant import Assistant
# Create an assistant instance
my_assistant = Assistant(config, "My Assistant", "Your instructions", "model_name")
Interacting with the assistant
# Getting a response from the assistant
response = my_assistant.get_assistant_response("Your query here")
print(response)
OAuth Flow
auth_url = config.start_oauth_flow()
# Redirect the user to auth_url...
tokens = config.handle_oauth_callback(code_from_redirect)
Making API Calls
response = config.make_api_call("/endpoint", "GET", {"param": "value"})
Oauth
url = config5.start_oauth_flow() #use this url to get code first
callback = config5.handle_oauth_callback(code)
#example
response = config5.make_api_call_by_path(path, "POST", params=your_params, user_token=callback, is_json=True)
Contributing
Contributions are welcome! Please check out the contributing guidelines.
License
GPT Plugins 4All is released under the MIT License.
Metadata
Release files for GPTPlugins4All 1.0.62
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gptplugins4all-1.0.62.tar.gz | 16.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| GPTPlugins4All-1.0.62-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.7 kB
Release files / gptplugins4all-1.0.62.tar.gz
| Download URL | gptplugins4all-1.0.62.tar.gz |
|---|---|
| Size | 16.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6a642316b669065185573988104193b1f41cf3eeadacf945acb674095823d0ca
|
|
BLAKE2b-256 checksum How to use checksums |
eb775536947019502f4e98e8b1834e6687ea36e700c8838bca83edb478640560
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|
Release files / GPTPlugins4All-1.0.62-py3-none-any.whl
| Download URL | GPTPlugins4All-1.0.62-py3-none-any.whl |
|---|---|
| Size | 17.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3a65928a436cdc51ace4ce1180668e28ad4cacf633d8e7c6b88713e47200924c
|
|
BLAKE2b-256 checksum How to use checksums |
8357773df6aa22a59692fa0dbe2101564532baaf14e6a3ce5db01410ca3456d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.9.16
|