-
Couldn't load subscription status.
- Fork 497
Description
Is your feature request related to a problem? Please describe.
Yeah, I'd like to be able to support the assistant features like threads, runs, and files with assistants API.
I have a PR to start to explore the possibilities here.
Six new API endpoints are exposed in the APIPath to support the assistants API.
static let assistants = "/v1/assistants"
static let threads = "/v1/threads"
static let runs = "/v1/threads/THREAD_ID/runs"
static let runRetrieve = "/v1/threads/THREAD_ID/runs/RUN_ID"
static let threadsMessages = "/v1/threads/THREAD_ID/messages"
static let files = "/v1/files"
The OpenAIProtocol is modified as follows: added
func assistants(query: AssistantsQuery?, method: String, completion: @escaping (Result<AssistantsResult, Error>) -> Void)
func threads(query: ThreadsQuery, completion: @escaping (Result<ThreadsResult, Error>) -> Void)
func runs(threadId: String, query: RunsQuery, completion: @escaping (Result<RunsResult, Error>) -> Void)
func runRetrieve(threadId: String, runId:String, completion: @escaping (Result<RunRetreiveResult, Error>) -> Void)
func threadsMessages(threadId: String, before: String?, completion: @escaping (Result<ThreadsMessagesResult, Error>) -> Void)
func threadsAddMessage(threadId: String, query: ThreadAddMessageQuery, completion: @escaping (Result<ThreadAddMessageResult, Error>) -> Void)
func files(query: FilesQuery, completion: @escaping (Result<FilesResult, Error>) -> Void)
Assistants:
- Create
- Modify
- Attach 1 file (PDF only currently)
- Attach up to 10(20) files of all supported OpenAI types.
- List assistants
- Paging through assistants list
Tools can be passed to assistant creation.
- Code Interpreter
- Retrieval
- Functions
Threads/Runs
- Create Thread
- Create Run
- Retrieve Run
- Add Message to Thread
- Retrieve Threads Messages
Files
- Upload
Example App:
A new demonstration of the assistants API and its requirements of the polling has been added to the Demo app.
-
Now you can create a new assistant on the Chats tab by selecting "+" -> New Assistant -> Fill in details -> OK.
This should result in a "New Assistant" row being added to the chats, you can chat with your newly created assistant in this conversation. -
You can now list your OpenAI API Assistants on the "Assistants" tab. Select "+" -> Get Assistants to load the assistants list.
- I've implemented the file upload and assistant creation with up to 1 PDF. (For now, will be fixed to add support for all of OpenAIs supported file types.)
Describe the solution you'd like
Support for Assistants, Threads, Runs, Run Retrieval, Fetching messages from threads, and uploading files to OpenAI API.


