Os procedimentos de visão geralmente precisam analisar tempo e debate. E se fizermos dois LLM com idéias que os fizeram negociar com essas idéias? Parece interessante? Esta lição ilustra como construir uma poderosa solução de IA usa dois agentes LLM se associam a uma conversa formal. Ao descobrir isso, usaremos o Autogen para construir um agente com ChatGPT como um LLM em nosso agente.
1. Configuração e instalação
Insira os pacotes de instalação:
pip install -U autogen-agentchat
pip install autogen-ext[openai]
2. Nutrientes importantes
Vamos considerar as principais partes dos componentes automáticos que fazem o programa de ideias funcionar. Compreender essas coisas o ajudará a personalizar e estender o programa para necessidades específicas.
1. RoundRobgroupChat
- Tem uma equipe de agentes baseada na revitalização.
- Estima trocas e respostas, e todas as mensagens foram roubadas no contexto.
- Garante o ajuste sistemático e justo.
2. TextmentMinationMinationMination
- Massas a discussão quando uma palavra -chave específica (por exemplo, “acabamento”) está disponível.
- Útil na eliminação de conversas em que os agentes atingem um consenso ou concluam o trabalho.
3. Helper
- Representa um membro do grupo movido a LLM e um papel específico.
- Cada agente é descrito pelo programa de um sistema que direciona seu comportamento.
- Os agentes usam o histórico de discussão para produzir respostas exigentes.
Esses componentes trabalham juntos para criar um programa sistemático e conjunto no qual os agentes pensem, debatem e para obter bem decisões.
3. Criando um grupo de agente
Crie dois agentes especiais com papéis diferentes:
import asyncio
from autogen_agentchat.agents import AssistantAgent
from autogen_agentchat.base import TaskResult
from autogen_agentchat.conditions import ExternalTermination, TextMentionTermination
from autogen_agentchat.teams import RoundRobinGroupChat
from autogen_agentchat.ui import Console
from autogen_core import CancellationToken
from autogen_ext.models.openai import OpenAIChatCompletionClient
from apikey import API_KEY
# Create an OpenAI model client.
model_client = OpenAIChatCompletionClient(
model="gpt-4o-mini",
api_key=API_KEY,
)
# Create the primary agent.
primary_agent = AssistantAgent(
"participant1",
model_client=model_client,
system_message="You are a participant in an ideation and feedback session. You will be provided with a problem statement and asked to generate ideas. Your ideas will be
reviwed by another participant and then you together will narrow down ideas by debating over them. Respond with 'FINALIZE' when you have a final idea.",
)
# Create the critic agent.
critic_agent = AssistantAgent(
"participant2",
model_client=model_client,
system_message="You are a participant in an ideation and feedback session. Your teammate will be provide some ideas that you need to review with your
teammate and narrow down ideas by debating over them. Respond with 'FINALIZE' when you have a final idea.",
)
# Define a termination condition that stops the task if the critic approves.
text_termination = TextMentionTermination("FINALIZE")
# Create a team with the primary and critic agents.
team = RoundRobinGroupChat([primary_agent, critic_agent], termination_condition=text_termination)
4. Executando um grupo
Trabalhando por processamento assíncrono:
result = await team.run(task="Generate ideas for an applications of AI in healthcare.")
print(result)
5. Monitoramento é parceria
Você também pode rastrear a disputa em tempo real:
# When running inside a script, use a async main function and call it from `asyncio.run(...)`.
await team.reset() # Reset the team for a new task.
async for message in team.run_stream(task="Generate ideas for an applications of AI in healthcare."): # type: ignore
if isinstance(message, TaskResult):
print("Stop Reason:", message.stop_reason)
else:
print(message)
Autogen também nos oferece para visualizar a parceria das melhores maneiras que usam consolidação Trabalhar:
await team.reset() # Reset the team for a new task.
await Console(team.run_stream(task="Generate ideas for an applications of AI in healthcare.")) # Stream the messages to the console.
Agora o programa é perfeito. Mas há muito o que brincar com isso, mas vou deixar isso para você. Aqui estão algumas idéias para melhorar seu sistema:
- Adicionando agentes de domínio especiais (especialistas médicos, tecnologia técnica)
- Aplicando condições personalizadas
- Para fazer uma interface de usuário simples usando o streamlit
- Adicionando multiplayers em um grupo
Referências:

Weneet Kumar é estudante de um consultor em Marktechpost. Atualmente, ele perseguiu seu BS do Instituto Indiano de Tecnologia (IIT), Kanpur. Ele é um entusiasmo de aprendizado de máquina. Ela é apaixonada pela pesquisa recente e raiva na aprendizagem mais profunda, na ideia de computador e nos campos relacionados.
