ChatGPT Plugins: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 1: Line 1:
==Introduction==
==Introduction==
Language models, such as [[ChatGPT]], have shown their utility in a range of applications, but they remain limited by their reliance on training data. To enhance their capabilities, plugins can serve as "eyes and ears" for language models, providing them with up-to-date, personal, or specific information that is not available in their training data. These plugins also enable language models to perform safe and constrained actions at a user's request, improving the overall usefulness of the system.
Although language models like [[ChatGPT]] have proven valuable in various applications, they continue to be constrained by their dependence on training data. To augment their abilities, plugins can act as "sensors" for language models, supplying current, individual, or specific information not found in their training data. Additionally, plugins allow language models to carry out secure and controlled actions based on user requests, enhancing the system's overall utility.


Open standards are expected to emerge for AI-facing interfaces, and efforts are underway to develop an early version of such a standard. Currently, existing plugins from early collaborators are being enabled for ChatGPT users, starting with ChatGPT Plus subscribers. Developers are also being given the ability to create their own plugins for ChatGPT.
It is anticipated that open standards will be established for AI-facing interfaces, and work is in progress to create an initial version of such a standard. Presently, ChatGPT users are gaining access to existing plugins from early collaborators, starting with ChatGPT Plus subscribers. Developers are also provided the opportunity to develop custom plugins for ChatGPT.


==Browsing==
==Browsing==
Drawing inspiration from previous works such as WebGPT, GopherCite, BlenderBot2, LaMDA2, and others, browsing-enabled language models can access information from the internet, expanding their knowledge beyond their training corpus. This allows ChatGPT to discuss up-to-date information and provide more relevant answers to user queries.
Influenced by prior projects like WebGPT, GopherCite, BlenderBot2, LaMDA2, and more, browsing-capable language models can retrieve information from the web, broadening their knowledge beyond their training dataset. This enables ChatGPT to engage with current information and deliver more pertinent responses to user inquiries.


Enabling language and chat models to conduct thorough and interpretable research on the internet has promising prospects for scalable alignment.
Empowering language and chat models to perform comprehensive and intelligible research online holds great potential for scalable alignment.


==Code Interpreter==
==Code Interpreter==
The code interpreter provides ChatGPT with a working Python interpreter in a sandboxed, firewalled execution environment, along with ephemeral disk space. Code run by the interpreter plugin is evaluated in a persistent session that is active for the duration of a chat conversation. Users can upload files to the workspace and download the results of their work.
The code interpreter supplies ChatGPT with a functional Python interpreter within a protected, firewalled execution environment, as well as temporary disk space. The interpreter plugin assesses code in a persistent session that remains active throughout a chat conversation. Users can upload files to the workspace and download their work results.


The integration of a code interpreter aims to create a natural interface for computer capabilities, making workflows more efficient and accessible. Initial user studies have identified several use cases for the code interpreter:
The incorporation of a code interpreter intends to establish a natural interface for computer functionalities, streamlining workflows and expanding accessibility. Preliminary user studies have recognized several use cases for the code interpreter:


*Solving mathematical problems
Resolving mathematical problems
*Performing data analysis and visualization
Conducting data analysis and visualization
*Converting files between formats
Converting files between different formats


==Retrieval==
==Retrieval==
The open-source retrieval plugin allows ChatGPT to access personal or organizational information sources, such as files, notes, emails, or public documentation, with user permission. By asking questions or expressing needs in natural language, users can obtain relevant document snippets from their data sources.
The open-source retrieval plugin lets ChatGPT access private or organizational information sources, including files, notes, emails, or public documentation, upon user authorization. By posing questions or conveying requirements in natural language, users can acquire pertinent document excerpts from their data sources.


Developers can deploy their own version of the plugin, which leverages OpenAI embeddings and integrates with various vector databases (Milvus, Pinecone, Qdrant, Redis, Weaviate, or Zilliz) for indexing and searching documents. Information sources can be synchronized with the database using webhooks.
Developers can deploy their own version of the plugin, which utilizes OpenAI embeddings and collaborates with an array of vector databases (Milvus, Pinecone, Qdrant, Redis, Weaviate, or Zilliz) for document indexing and searching. Information sources can be synchronized with the database via webhooks.


To get started, developers can visit the retrieval plugin repository.
Developers can begin by visiting the retrieval plugin repository.


==Third-Party Plugins==
==Third-Party Plugins==
Third-party plugins are defined by a manifest file that includes a machine-readable description of the plugin's capabilities, invocation instructions, and user-facing documentation. The process of creating a plugin involves the following steps:
Third-party plugins are characterized by a manifest file that contains a machine-readable outline of the plugin's features, execution guidelines, and user-oriented documentation. The process of developing a plugin comprises the following stages:


#Develop an API with endpoints that the language model can call. This can be a new API, an existing API, or a wrapper around an existing API specifically designed for language models.
Design an API with endpoints that the language model can access. This can be a new API, a pre-existing API, or a wrapper around an existing API specifically crafted for language models.
#Create an OpenAPI specification to document the API and a manifest file that links to the OpenAPI spec and includes plugin-specific metadata.
Generate an OpenAPI specification to outline the API and a manifest file that connects to the OpenAPI spec and comprises plugin-related metadata.
 
When initiating a conversation on chat.openai.com, users can choose which third-party plugins to activate. The language model is presented with documentation about the enabled plugins as part of the conversation context, permitting the model to call suitable plugin APIs as required to satisfy user intentions. Although current plugins are designed for accessing backend APIs, the investigation of plugins able to call client-side APIs continues.
Users can select which third-party plugins they want to enable when starting a conversation on chat.openai.com. The language model is shown documentation about the enabled plugins as part of the conversation context, allowing the model to invoke appropriate plugin APIs as needed to fulfill user intent. While current plugins are designed for calling backend APIs, the exploration of plugins capable of calling client-side APIs is ongoing.


==List of Plugins==
==List of Plugins==
370

edits