
MiniauTogen es una biblioteca innovadora de código abierto diseñada para la próxima generación de aplicaciones en modelos de idiomas grandes (LLM). Centrado en habilitar conversaciones de múltiples agentes, el miniautógeno se celebra por su estructura ligera y flexible. Es ideal para desarrolladores e investigadores que apuntan a explorar y expandir las fronteras de la IA conversacional.
Inspirándose en el autógeno, MiniautoGen ofrece un conjunto completo de herramientas:
chat ): facilita la creación y gestión de conversaciones de múltiples agentes.chatadmin ): garantiza la sincronización y el manejo eficientes de los agentes.agent ): proporciona la flexibilidad para adaptar a los agentes de acuerdo con las necesidades específicas.pipeline ): automatiza y racionaliza las operaciones de agentes, mejorando la escalabilidad y el mantenimiento.Incorporando a Litellm, Miniautogen ya se integra con más de 100 LLM. Use Bedrock, Azure, OpenAi, Cohere, Anthrope, Ollama, Sagemaker, Huggingface, replicada.
agent .Explore nuestro surtido de componentes preconstruidos, disponibles aquí.
Instalar pip install miniautogen
Iniciar una conversación con 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()
Las conversaciones de múltiples agentes representan interacciones que involucran múltiples agentes, ya sean autónomos o humanos, cada una dotada de autonomía y habilidades especializadas. Trabajan juntos para resolver problemas complejos, compartir información o realizar tareas específicas.
En este ejemplo, estableceremos una conversación entre dos agentes: uno que juega el papel de propietario de un producto y el otro que actúa como experto en el desarrollo de componentes de miniautógeno en Python.
El objetivo principal de esta prueba es demostrar la flexibilidad, la facilidad y la eficiencia del miniautógeno en la creación y coordinación de conversaciones de múltiples agentes, así como la simplicidad en el desarrollo de nuevos componentes, gracias al diseño flexible de la biblioteca.
El historial de conversación completo: chat_history.md
Vea el cuaderno aquí
Para obtener información e inspiración adicionales, visite nuestra carpeta de ejemplos. Aquí, encontrará una variedad de escenarios que demuestran la versatilidad y las capacidades del miniautógeno en diferentes contextos.
Invitamos a los entusiastas de la IA, los desarrolladores e investigadores a contribuir y dar forma al futuro de las conversaciones de múltiples agentes. Su experiencia puede ayudar a evolucionar el miniautógeno, creando aplicaciones más robustas y diversas.
Ver más: contribuir
Miniautógeno: pionero en el futuro de las conversaciones inteligentes e interactivas.