Skip to main content

Autogen Assistant UI

Project description

AutoGen Research Assistant

AutoGen Research Assistant is an Autogen-powered AI research assistant that can converse with you to help you conduct research, write and execute code, run saved skills, learn new skills by demonstration, and adapt in response to your interactions.

Project Structure:

  • autogenra/ code for the backend classes and web api (FastAPI)
  • frontend/ code for the webui, built with Gatsby and Tailwind

Getting Started

Install requirements:

cd autogenra
pip install -e .

AutoGen requires access to an LLM. Please see the AutoGen docs on how to configure access to your LLM. We recommend setting the OAI_CONFIG_LIST environment variable to contain a list of OpenAI model configurations.

Build and Run Frontend UI

cd frontend
npm install
npm run build

The command above will build the frontend ui and copy the build artifacts to the autogenra web ui folder. Note that you may have to run npm install --force to force resolve some peer dependencies.

Run the web ui:

autogenra ui --port 8081

Navigate to http://localhost:8081/ to view the web ui.

To update the web ui, navigate to the frontend directory, make changes and rebuild the ui.

Capabilities

This demo focuses on the research assistant use case with some generalizations:

  • Skills: The agent is provided with a list of skills that it can leverage while attempting to address a user's query. Each skill is a python function that may be in any file in a folder made availabe to the agents. We separate the concept of global skills available to all agents backend/files/global_utlis_dir and user level skills backend/files/user/<user_hash>/utils_dir, relevant in a multi user environment. Agents are aware skills as they are appended to the system message. A list of example skills is available in the backend/global_utlis_dir folder. Modify the file or create a new file with a function in the same directory to create new global skills.

  • Conversation Persistence: Conversation history is persisted in an sqlite database database.sqlite.

  • Two Agent Workflow: The default sample supports a two agent workflow where a user proxy agent and an assistant agent communicate to address user requests.

Example Usage

Let us use a simple query demonstrating the capabilities of the research assistant.

Plot a chart of NVDA and TESLA stock price YTD. Save the result to a file named nvda_tesla.png

The agents responds by writing and executing code to create a python program to generate the chart with the stock prices.

Note than there could be multiple turns between the AssistantAgent and the UserProxyAgent to produce and execute the code in order to complete the task.

ARA

Note: You can also view the debug console that generates useful information to see how the agents are interacting in the background.

FAQ

  • How do I add more skills to the research assistant? This can be done by adding a new file with documented functions to autogenra/web/skills/global directory.
  • How do I reset the conversation? You can reset the conversation by deleting the database.sqlite file. You can also delete user files by deleting the autogenra/web/files/user/<userid_md5hash> folder.
  • How do I view messages generated by agents? You can view the messages generated by the agents in the debug console. You can also view the messages in the database.sqlite file.

Acknowledgements

Based on the AutoGen project. Adapted in October 2023 from a research prototype (original credits: Gagan Bansal, Adam Fourney, Victor Dibia, Piali Choudhury, Saleema Amershi, Ahmed Awadallah, Chi Wang)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autogenra-0.0.1a0.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

autogenra-0.0.1a0-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file autogenra-0.0.1a0.tar.gz.

File metadata

  • Download URL: autogenra-0.0.1a0.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for autogenra-0.0.1a0.tar.gz
Algorithm Hash digest
SHA256 79a2ba9bbf18585da15c4ebf34c19360f760f8252b42dd2c7e7236813aa773ca
MD5 74b92edc08ccf0b450a0f67b006b72ec
BLAKE2b-256 b72cb3b942c2310f65a000eacd893c1b75500fdcb06797ba6d60fddc73fdc98f

See more details on using hashes here.

File details

Details for the file autogenra-0.0.1a0-py3-none-any.whl.

File metadata

  • Download URL: autogenra-0.0.1a0-py3-none-any.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.16

File hashes

Hashes for autogenra-0.0.1a0-py3-none-any.whl
Algorithm Hash digest
SHA256 01e60e72a3c69c3b887260158135d17a62d580c8c63a5d1aeac56ff601baf9eb
MD5 ad6d41d15933d7dd33de05b473d344bb
BLAKE2b-256 16f2a1b29d16a508cc4af0d4a493a64bbaa1d272f59a87a0e636ed4d92343ec6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page