Initial support for OpenAI Assitant API:
OpenAIAssistant is a sublcass of ChatAgent that leverages the Assistant API,
and can be used as a drop-in replacement for ChatAgent (in tasks, batch/async runs etc).
The main feature of a OpenAIAssistant is that instead of maintaining conversation state
(like a ChatAgent normally does), it relies on the Assistant API to do this.
This agent also leverages persistence of Assistant and Thread on OpenAI servers:
it caches the Assistant ID and Thread ID, and retrieves them and reuses them
based on config settings.
Class defn: langroid/agent/openai_assistant.py
Example uses: tests/main/test_openai_assistant.py, tests/main/test_openai_assistant_async.py
Note: File uploads, code-interpreter tools are not yet supported.
Example scripts coming soon.