LLMs之Agent之AutoGen:AutoGen的简介、安装、使用方法之详细攻略

本文介绍了微软开源的AutoGen框架,用于构建具有多个Agent的LLM应用,通过多Agent对话解决任务,支持定制化和人类参与。文章详细讲解了AutoGen的安装、使用方法以及其在增强LLM推理方面的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LLMs之Agent之AutoGen:AutoGen的简介、安装、使用方法之详细攻略

目录

AutoGen的简介、安装、使用方法

1、多Agent对话框架

2、AutoGen的对话流程

3、增强的LLM推理

AutoGen的安装

1、安装

2、快速测试

AutoGen的使用方法

1、基础用法

(1)、启动两个代理之间的自动聊天来解决任务


AutoGen的简介、安装、使用方法

        2023年9月30日左右,微软正式开源AutoGen,这是一个框架,允许开发具有多个Agent的LLM应用程序,这些Agent可以相互交流以解决任务

AutoGen是一个框架,通过多个代理进行对话以解决任务,从而实现LLM应用的开发。AutoGen代理是可定制的、可对话的,并且能够无缝地允许人类参与。它们可以在使用LLMs、人类输入和工具的各种模式下运行。
>> AutoGen通过多代理对话的方式,以最小的工作量实现构建下一代LLM应用。它简化了复杂LLM工作流的编排、自动化和优化。它最大化了LLM模型的性能并克服了它们的弱点。
>> 它支持复杂工作流的多样对话模式。通过可定制和可对话的代理,开发人员可以使用AutoGen构建关于对话自主性、代理数量和代理对话拓扑结构等各种对话模式。
>> 它提供了一系列具有不同复杂性的工作系统。这些系统涵盖了各种领域和复杂性的应用。这展示了AutoGen如何轻松支持多样的对话模式。
>> AutoGen提供了增强的LLM推理。它提供了API统一和缓存等实用工具,以及高级使用模式,如错误处理、多配置推理、上下文编程等。

AutoGen由Microsoft、宾夕法尼亚州立大学和华盛顿大学的合作研究支持。

>> 多代理对话框架:AutoGen提供了多代理对话框架作为高级抽象。通过这个框架,人们可以方便地构建大型语言模型工作流。
>> 轻松构建多样化的应用程序:AutoGen提供了一个涵盖各种领域和复杂性的工作系统集合,使得轻松构建各种应用程序成为可能。
>> 增强的大型语言模型推理和优化:AutoGen支持增强的大型语言模型推理API,可用于提高推理性能并降低成本。

相关文档AutoGen | AutoGen

GitHub地址GitHub - microsoft/autogen: Enable Next-Gen Large Language Model Applications. Join our Discord: https://discord.gg/pAbnFJrkgZ

1、多Agent对话框架

AutoGen通过通用多Agent对话框架实现了下一代LLM应用程序。它提供了可定制和可对话的Agent,集成了LLM、工具和人类。通过自动化多个有能力的Agent之间的聊天,人们可以轻松地使它们共同执行任务,无需人类反馈,包括需要使用代码的工具的任务。这种用例的特点包括:
>> 多Agent对话:AutoGenAgent可以相互交流以解决任务。这使得可以开发比单个LLM更复杂和复杂的应用程序成为可能。
>> 定制:AutoGenAgent可以定制以满足应用程序的特定需求。这包括选择要使用的LLM、允许的人类输入类型和要使用的工具。
>> 人类参与:AutoGen可以无缝地允许人类参与。这意味着人类可以根据需要提供输入和反馈给Agent。

2、AutoGen的对话流程

3、增强的LLM推理

AutoGen还有助于最大程度地利用诸如ChatGPT和GPT-4之类昂贵LLM的效用。它提供了增强的LLM推理,具有调整、缓存、错误处理和模板等强大功能。例如,您可以通过自己的调整数据、成功指标和预算来优化LLM生成。

# perform tuning
config, analysis = autogen.Completion.tune(
    data=tune_data,
    metric="success",
    mode="max",
    eval_func=eval_func,
    inference_budget=0.05,
    optimization_budget=3,
    num_samples=-1,
)
# perform inference for a test instance
response = autogen.Completion.create(context=test_instance, **config)

请在此功能的更多代码示例中查找更多信息。

地址:AutoGen - Automated Multi Agent Chat | AutoGen

AutoGen的安装

1、安装

AutoGen要求Python版本>= 3.8。可以使用pip安装:

pip install pyautogen

安装时只安装了最小的依赖项,没有额外选项。您可以根据您的需求安装额外的选项。

在代码执行方面,强烈建议安装python docker包,并使用docker。

有关LLM推理配置,请查看常见问题解答。

地址Frequently Asked Questions | AutoGen

2、快速测试

第一步,点击下面的链接使用Github Codespace,在GitHub Codespaces中打开

地址https://codespaces.new/microsoft/autogen?quickstart=1

第二步,将OAI_CONFIG_LIST_sample复制到/notebook文件夹,命名为OAI_CONFIG_LIST,并设置正确的配置。

第三步,开始使用笔记本!

AutoGen的使用方法

1、基础用法

(1)、启动两个代理之间的自动聊天来解决任务


from autogen import AssistantAgent, UserProxyAgent, config_list_from_json
# Load LLM inference endpoints from an env variable or a file
# See https://microsoft.github.io/autogen/docs/FAQ#set-your-api-endpoints
# and OAI_CONFIG_LIST_sample
config_list = config_list_from_json(env_or_file="OAI_CONFIG_LIST")
# You can also set config_list directly as a list, for example, config_list = [{'model': 'gpt-4', 'api_key': '<your OpenAI API key here>'},]
assistant = AssistantAgent("assistant", llm_config={"config_list": config_list})
user_proxy = UserProxyAgent("user_proxy", code_execution_config={"work_dir": "coding"})
user_proxy.initiate_chat(assistant, message="Plot a chart of NVDA and TESLA stock price change YTD.")
# This initiates an automated chat between the two agents to solve the task

python test/twoagent.py

### 使用 Autogen 和 Ollama 技术栈 #### 安装和配置 Ollama 模型 为了使用 Mistral 7B 和 Nomic-Text-Embedding 进行 GraphRAG 离线嵌入和索引,需先通过 Ollama 平台下载所需模型: ```bash ollama pull mistral ollama pull nomic-embed-text ``` 这些命令会拉取用于推理和服务的预训练模型到本地环境[^2]。 启动 Ollama 服务以便于后续调用: ```bash ollama serve ``` 这将在 `http://localhost:11434` 上托管 Ollama 服务器。 #### 配置 GraphRAG 工作流 GraphRAG 初始化过程中涉及的关键配置文件位于 `/utils/settings.yaml`。该文件定义了如何利用上述提到的 LLMs 执行离线嵌入与索引操作。当第一次设置 GraphRAG 时,应依据具体应用场景调整并覆盖默认生成的配置文件[^1]。 #### 实现单个 LLM 代理 借助 Python 中的 `autogen` 库来创建基于指定模型(如 GPT-4)的简单代理实例: ```python from autogen import Agent agent = Agent( name="Assistant", model="gpt-4", system_message="你是一个智能助手,负责回答问题。", ) response = agent.run("帮我总结一下深度学习的主要应用领域有哪些?") print(response) ``` 这段代码展示了怎样快速搭建起能够响应自然语言查询的基础架构[^3]。 #### 构建多代理协作体系 对于更复杂的场景,则可以通过组合多个不同功能特性的代理形成团队合作机制。例如,在一个对话系统里集成专门处理图像识别的任务专家以及擅长文字理解的语言大师。这样的灵活性得益于 AutoGen 支持插件式的开发方式及其内置的消息传递协议[^4]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个处女座的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值