Private chat with local GPT with document, images, video, etc. 100% private, Apache 2.0. Supports oLLaMa, Mixtral, llama.cpp, and more. Demo: https://gpt.h2o.ai/ https://gpt-docs.h2o.ai/
Introduces new agent flow along with new agents (see the diagram above)
New agent flow can be the base for the future specialized agent orchestration
In the current flow, all the 'If' conditions and checks are piled up in CodeWriterAgent system prompt and weaker models easily struggle with this a lot of ifs.
With this flow, agents are aware of each others' presence and what they are capable.
Flexible to introduce new agents.
MainGroupChatManager decides when to select the next agent until the user request is met.
Or direct control over which agent to talk (in case it's needed, the manager can pick next agent via user instruction)
For now, as an alternative to Code Group, there is only Chat Agent that is only capable of simple chatting. If you ask questions like 'who are you', 'give me a joke' only that agent is expected to be picked up instead of going through code generation and execution steps.
For multi_agent type, I'm also bringing customized 'chat_history summarization'. As an example, if it's only chat_agent answer in the chat_history, then the last message will be the summary. If there were multiple agent interactions in the chat_history, then summarizing the process via LLM with a customized summarization prompt of mine.
Also added one more instruction in code_writer_agent system prompting to solve the following: In my tests, realized that sometimes, after code execution is completed, code writer agent wraps code output with output, and hence, code execution agent thinks there is a new code block and tries to execute it and fails. Later on, this runs into a loop.
More about AutoGen GroupChat: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#group-chat
Introduces new agent flow along with new agents (see the diagram above)
output
, and hence, code execution agent thinks there is a new code block and tries to execute it and fails. Later on, this runs into a loop.