Assistants can be equipped with OpenAI-hosted tools that drastically expand their capabilities.
You can upload up to 10,000 files to a Vector Store and attach it to an Assistant. When a user asks a question, the Assistant autonomously searches the vector store, retrieves relevant chunks, and cites its sources in the final answer.
Similar to Advanced Data Analysis in the ChatGPT UI, this tool allows your API Assistant to write and run Python code. It can process files uploaded to the Thread, generate CSVs, and create image plots, returning them as file IDs.
If you need the Assistant to interact with your own database or a third-party API, you define a Function. During a Run, the Assistant will halt and output a requires_action status, providing the JSON arguments for the function. Your code executes the function locally and submits the result back to the Run.