在构建可扩展和灵活的系统时,可能会遇到挑战。AutoGen通过其编程和低代码框架简化了这一过程。上周学习了如何使用AutoGen的编程框架构建代理聊天机器人。今天,将使用AutoGen Studio,一个低代码工具,来构建代理聊天机器人。本指南将重点介绍如何使用AutoGen Studio创建用于各种任务的定制聊天机器人。
AutoGen Studio是一个简单的界面,让可以快速创建AI代理,添加技能,并将它们连接到工作流程中以完成任务。它建立在AutoGen框架之上,该框架有助于创建能够处理复杂对话的聊天机器人。有了AutoGen Studio,不需要太多的编码工作就能设计和启动聊天机器人。这使得构建灵活且响应迅速的智能代理变得简单快捷。
为了防止库依赖之间的潜在冲突,强烈建议在单独的虚拟环境中运行AutoGen Studio。这确保了AutoGen Studio的特定依赖项不会与其他安装的库发生冲突。
创建新环境:conda create -n autogenstudio python=3.11
激活环境:conda activate autogenstudio
安装AutoGen Studio:pip install autogenstudio
在端口8081上启动Studio界面:autogenstudio ui –port 8081
在浏览器中访问AutoGen Studio:
http://localhost:8081/
完成上述步骤后,可以使用AutoGen Studio开始定制聊天机器人的开发。
谈到平台界面,AutoGen Studio有两个独立的部分——构建和Playground。构建部分是用各种模型和技能构建代理的地方。Playground部分是与代理互动的地方。
构建部分有四个标签:技能、模型、代理和工作流。每个标签都附带了一些预构建的组件。可以编辑它们或根据需要制作新的组件。
这里有一些预定义的模型,可以编辑。还可以在这里集成各种其他LLM到AutoGen Studio中。
可以按照以下方式添加新模型:
在模型字段中添加模型名称,在API密钥字段中添加API密钥。可以测试模型以确保输入的详细信息是正确的。
技能是基于Python的函数,根据提供的输入返回输出。有一些内置的函数供参考。
可以按照以下方式添加新技能:
from typing import Annotated, Literal
Operator = Literal["+", "-", "*", "/"]
def calculator(a: int, b: int, operator: Annotated[Operator, "operator"]) -> int:
if operator == "+":
return a + b
elif operator == "-":
return a - b
elif operator == "*":
return a * b
elif operator == "/":
return int(a / b)
else:
raise ValueError("Invalid operator")
将Python函数代码添加到技能规范窗口。提及技能的名称和描述。如果任何技能需要API密钥,可以将其添加到机密字段。
一旦有了模型和技能,就可以利用它们来构建代理。
还有一些预构建的代理可以探索。
在预构建的代理中,其中一个是user_proxy代理。这个代理可以用来与其他LLM代理发起对话,并且是人类的代理。由于这个代理像人类的代理一样,所以它不需要任何LLM附加在它上面。
还可以创建一个AutoGen Studio群聊代理,多个代理可以相互交流以达成决策。
要创建一个新代理,点击+新代理并选择助理代理。
如代理配置图像所示,填写适合代理的详细信息。如果需要任何字段的指导,可以使用提供的提示。一旦代理创建完成,将显示两个新标签模型和技能。
在模型和技能标签中,可以指定代理应该访问哪些模型和技能。
在这种情况下,让选择GPT-4o模型和代理的计算技能。
工作流定义了不同的代理如何协作执行任务。可以选择两种交互模式,自主(聊天)和顺序。
要创建新的工作流,点击+新工作流并选择自主(聊天)。
在工作流配置标签中,根据需要填写名称、描述和摘要方法。
llm摘要方法使用LLM来总结对话。最后摘要方法使用对话的最后消息作为摘要。
一旦工作流创建完成,将创建一个新的标签代理。
在代理标签中,添加user_proxy代理作为发起者,计算助理作为接收者。
完成所有这些后,可以选择并测试工作流。
现在可以在playground中与构建的代理互动。
创建一个新会话并选择想要运行的工作流,如下所示:
一旦创建了会话,就可以使用工作流来解决任何数值问题。
在这里,还可以探索预构建的工作流。确保为工作流中的代理选择了工作模型。