
MiniAutogen est une bibliothèque innovante et open source conçue pour la prochaine génération d'applications dans des modèles de grande langue (LLM). Axé sur l'activation des conversations multi-agents, le miniAutogène est célébré pour sa structure légère et flexible. Il est idéal pour les développeurs et les chercheurs qui visent à explorer et à étendre les frontières de l'IA conversationnelle.
S'inspirant d'Autogen, MiniAutogen propose une suite complète d'outils:
chat ): facilite la création et la gestion des conversations multi-agents.chatadmin ): assure une synchronisation et une gestion efficaces des agents.agent ): offre la flexibilité pour adapter les agents en fonction des besoins spécifiques.pipeline ): automatise et rationalise les opérations des agents, améliorant l'évolutivité et la maintenance.Incorporant le litellm, MiniAutogen s'intègre déjà à plus de 100 LLMS. Utilisez le substratum rocheux, azur, openai, cohere, anthropic, olllama, sagemaker, câlins, reproduire.
agent .Explorez notre assortiment de composants prédéfinis, disponibles ici.
Installer pip install miniautogen
Inciacer une conversation avec un LLM
#Initializing LLM Clients
import os
os.environ["OPENAI_API_KEY"] = "your-openai-key"
from miniautogen.llms.llm_client import LiteLLMClient
openai_client = LiteLLMClient(model='gpt-3.5-turbo-16k')
# Building the Chat Environment
from miniautogen.chat.chat import Chat
from miniautogen.agent.agent import Agent
from miniautogen.chat.chatadmin import ChatAdmin
from miniautogen.pipeline.pipeline import Pipeline
from miniautogen.pipeline.components.components import (
UserResponseComponent, AgentReplyComponent, TerminateChatComponent,
Jinja2SingleTemplateComponent, LLMResponseComponent, NextAgentSelectorComponent
)
# Define a Jinja2 template for formatting messages
template_str = """
[{"role": "system", "content": "{{ agent.role }}"}{% for message in messages %},
{% if message.sender_id == agent.agent_id %}
{"role": "assistant", "content": {{ message.message | tojson | safe }}}
{% else %}
{"role": "user", "content": {{ message.message | tojson | safe }}}
{% endif %}
{% endfor %}]
"""
# Initialize Jinja2 component with the template
jinja_component = Jinja2SingleTemplateComponent()
jinja_component.set_template_str(template_str)
# Set up pipelines for different components
pipeline_user = Pipeline([UserResponseComponent()])
pipeline_jinja = Pipeline([jinja_component, LLMResponseComponent(litellm_client)])
pipeline_admin = Pipeline([NextAgentSelectorComponent(), AgentReplyComponent(), TerminateChatComponent()])
# Create the chat environment
chat = Chat()
# Define agents with JSON data
json_data = {'agent_id': 'Bruno', 'name': 'Bruno', 'role': 'user'}
agent1 = Agent.from_json(json_data)
agent1.pipeline = pipeline_user # Assign the user pipeline to agent1
agent2 = Agent("dev", "Carlos", "Python Senior Developer")
agent2.pipeline = pipeline_jinja # Assign the LLM pipeline to agent2
# Add agents to the chat
chat.add_agent(agent1)
chat.add_agent(agent2)
# Add test messages to the chat
json_messages = [{'sender_id': 'Bruno', 'message': 'It’s a test, don’t worry'}]
chat.add_messages(json_messages)
# Initialize and configure ChatAdmin
chat_admin = ChatAdmin("admin", "Admin", "admin_role", pipeline_admin, chat, 10)
#running the chat
chat_admin.run()
Les conversations multi-agents représentent des interactions impliquant plusieurs agents, qu'ils soient autonomes ou humains, chacun doté d'autonomie et de capacités spécialisées. Ils travaillent ensemble pour résoudre des problèmes complexes, partager des informations ou effectuer des tâches spécifiques.
Dans cet exemple, nous allons organiser une conversation entre deux agents: l'un jouant le rôle d'un propriétaire de produit et l'autre agissant en tant qu'expert dans le développement de composants miniautogentes à Python.
L'objectif principal de ce test est de démontrer la flexibilité, la facilité et l'efficacité de la miniaitogène dans la création et la coordination des conversations multi-agents, ainsi que la simplicité du développement de nouveaux composants, grâce à la conception flexible de la bibliothèque.
L'historique complet de la conversation: chat_history.md
Consultez le cahier ici
Pour plus d'informations et d'inspiration, visitez notre dossier d'exemples. Ici, vous trouverez une variété de scénarios démontrant la polyvalence et les capacités du miniAutogène dans différents contextes.
Nous invitons les amateurs, les développeurs et les chercheurs d'IA à contribuer et à façonner l'avenir des conversations multi-agents. Votre expertise peut aider à faire évoluer MiniAutogen, créant des applications plus robustes et diverses.
Voir plus: contribuer
MiniAutogène: Pionnier de l'avenir des conversations intelligentes et interactives.