Today we’re releasing the Assistant API. This is the first step in enabling developers to build agent-like experiences within their own applications. An assistant is a specialized AI that has specific instructions, leverages additional knowledge, and can invoke models and tools to perform tasks. The new Assistant API enables you to build high-quality AI apps by providing new features like code interpreter and retrieval, as well as function calls that handle much of the heavy lifting that you previously had to do yourself.
This API is designed with flexibility in mind. Use cases range from natural language-based data analysis apps, coding assistants, AI-powered vacation planners, voice-controlled DJs, smart visual canvases, and more. The list goes on. The Assistant API is built on the same features that enable the new GPT product, including custom instructions and tools such as a code interpreter, retrieval, and function calls.
Important changes introduced by this API include: Persistent and infinitely long threadThis allows developers to hand off thread state management to OpenAI and avoid context window constraints. With the Assistant API, you simply append new messages to existing messages. thread
.
The assistant can also invoke new tools as needed, including:
- code interpreter: You can write and run Python code in a sandbox execution environment, generate graphs and charts, and process files containing a variety of data and formatting. This allows your assistant to run code repeatedly to solve difficult code, math problems, and more.
- search: Power your assistant with knowledge from outside the model, such as your own domain data, product information, and user-provided documentation. This means there is no need to compute and store document embeddings or implement chunking or search algorithms. The Assistants API optimizes the search techniques we use based on our experience building knowledge search in ChatGPT.
- function call: An assistant can call a function that you define and include the function’s response in a message.
As with the rest of the platform, the data and files passed to the OpenAI API are never used to train models, and developers can delete the data as needed.
Visit the Assistant Playground to try out the Assistant API beta without writing any code.