
Miniautogenは、大規模な言語モデル(LLM)の次世代用途向けに設計された革新的なオープンソースライブラリです。マルチエージェントの会話を可能にすることに焦点を当てたMiniautogenは、その軽量で柔軟な構造で祝われます。会話型AIのフロンティアを探求し、拡大することを目指している開発者や研究者にとって理想的です。
Autogenからインスピレーションを得て、Miniautogenは包括的なツールスイートを提供します。
chat ):マルチエージェント会話の作成と管理を促進します。chatadmin ):エージェントの効率的な同期と管理を保証します。agent ):特定のニーズに応じて、エージェントを調整する柔軟性を提供します。pipeline ):エージェントの操作を自動化および合理化し、スケーラビリティとメンテナンスを向上させます。Litellmを組み込むと、Miniautogenはすでに100を超えるLLMと統合されています。岩盤、azure、openai、cohere、人類、オラマ、サジェメーカー、huggingfaceを使用してください。
agentパイプラインへの直接的な意思決定プロセスなど、高度なAI機能のシームレスな統合が可能になります。事前に構築されたコンポーネントの品揃えをご覧ください。
pip install miniautogenインストールMiniautogenをインストールします
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()
マルチエージェントの会話は、自律性であろうと人間であろうと、複数のエージェントが関与する相互作用を表し、それぞれに自律性と専門的な能力に恵まれています。彼らは協力して、複雑な問題を解決したり、情報を共有したり、特定のタスクを実行したりします。
この例では、2つのエージェント間で会話を設定します。1つは製品所有者の役割を果たし、もう1つはPythonでミニアウトゲン成分の開発の専門家として機能します。
このテストの主な目標は、ライブラリの柔軟なデザインのおかげで、マルチエージェントの会話の作成と調整におけるミニアウトゲンの柔軟性、緩和、および効率、および新しいコンポーネントの開発のシンプルさを実証することです。
完全な会話履歴: chat_history.md
こちらのノートをご覧ください
追加の洞察とインスピレーションについては、例フォルダーをご覧ください。ここでは、さまざまなコンテキストでのMiniautogenの汎用性と能力を示すさまざまなシナリオを見つけることができます。
私たちは、AI愛好家、開発者、研究者に、マルチエージェントの会話の未来に貢献し、形成するよう招待します。あなたの専門知識は、ミニアウトゲンの進化に役立ち、より堅牢で多様なアプリケーションを作成するのに役立ちます。
詳細をご覧ください:貢献してください
Miniautogen:インテリジェントでインタラクティブな会話の未来を開拓します。