答疑机器人实践:AgentScope多智能体带你玩转多源召回

本文涉及的产品
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
简介: 答疑机器人实践:AgentScope多智能体带你玩转多源召回

 

01.前言

AgentScope是一款通义实验室开源的multi-agent编程框架。它为多智能体应用开发提供了很多方便,包括内置智能体、工具、容错处理、可视化工作流编排的workstation和全流程监测的studio。AgentScope在过去的一年受到了不少关注;作为脚手架,它也赋能了不少已经落地的应用,从检索增强生成类的问答,到自动化编程(https://doc.agentscope.io/tutorial/swe.html)。

如果我们聚焦到检索增强生成类的应用,当前一个难点还是当有多召回回路(或者说多信息源)的时候如何动态且高效地选择信息源帮助回答。近期,我们在AgentScope仓库里开源了一个针对多源检索增强的multi-agent子应用、为社区提供了我们自己的方案:多智能体系统KIMAs。

 

KIMAs在过去一年的时间里,因为它的可迁移性、可靠性,已经成功助力多个项目,包括AgenScope的答疑机器人、魔搭平台答疑应用以及去年奥运期间微博上的观赛搭子。今天我们就一起来看看如何利用KIMAs可以搭建起一个多源召回的问答服务吧!

 

02.上手

KIMAs的代码开源在AgentScope的GitHub仓库中(https://github.com/modelscope/agentscope/tree/main/applications/multisource_rag_app)。KIMAs主要是由python代码和配置文件(主要在src/config文件夹下)组成。python代码提供了整个系统的骨架,主要包括了如何各个智能体内部的功能、路由算法和信息流处理等关键;而配置文件则为后续将该系统迁移到不同问答场景提供可很高的灵活性,包括了各个智能体的prompt和它们需要处理的的知识源,以及工作流的一些微调。

开源的代码配合其中的配置可以搭建一套针对AgentScope自身的问答系统。基于KIMAs搭建答疑机器人服务会有几个要点:准备好运行环境、准备好知识材料、启动服务以及服务透出。下面,我们会从开源代码的内置场景,AgentScope仓库答疑出发,先介绍如何跑通从运行环境搭建到服务透出的基础操作;然后我们也会简单介绍后续可以如何调整配置文件使系统适应到不同的答疑场景中。

image.gif 编辑

准备

作为前期准备,我们需要运行在agentscope/applications/multisource_rag_app目录下安装KIMAs额外需要的一个依赖pip install -r requirements.txt。另外,为了最大化应用的运行效率,这个应用用到DashScope提供的异步模型调用API,所以也需要大家提前准备好API key,并且添加到环境变量中export DASHSCOPE_API_KEY='your_dash_key'。最后,我们会假设有一份直接从Github 上clone的AgentScope仓库作为资料源,路径位于~/agentscope_clean

启动服务

之后,我们切换到 src/目录下,运行启动服务的脚本as_scripts/setup_server.sh,这样这个问答服务就能启动起来了。作为第一次的启动,可能会需要一定的等待时间让系统处理文件以及生成便于检索的向量。

服务透出

开源代码中附带了一个基于gradio改进的前端界面。要启动这个前端界面并且连接到后端服务器,我们需要用你的ip地址(本地是127.0.0.1)和端口(默认是6009)设定好as_scripts/setup_gradio.sh中的两个环境变量MODEL_SERVICE_URLFEEDBACK_SERVICE_URL。之后,运行as_scripts/setup_gradio.sh就可以在本地打开一个gradio前端界面了。这个前端界面提供了一个让用户输入评价的系统,方便应用开发者在测试阶段收集反馈。

image.gif 编辑

迁移到其他知识源

如果大家想基于KIMAs用上自己的知识库/信息源,可以参考src/configs/as_config/as_knowledge_configs/knowledge_config.json。这个配置文件中,每个knowledge_id对应一个知识源;input_dir参数是各个信息源文件夹的原始路径; required_exts则是目标文件的后缀。如果想要更加定制化的信息预处理,大家可以设定自己需要的chunk_sizechunk_overlap,以及基于llamaindex预处理机制的transformations等参数。

 

之后,我们需要更新智能体们的设定(src/configs/as_config/as_agent_configs/agent_config_dict.json)。其中负责检索知识的智能体类型是LlamaIndexAgent,我们需要用我们新的knowledge_id来更新它们的knowledge_id_list以及sys_prompt

当这些都调整完之后,我们就可以重复我们启动服务的步骤,部署一个属于你自己的答疑服务了!

03.更多精彩

上文我们简单介绍了一下如何使用和迁移KIMAs,但如果大家对其中多源召回的技术细节感兴趣,可以参考我们的技术报告(https://arxiv.org/pdf/2502.09596v1)。

除此之外,AgentScope近期也会在框架层面有一些重要更新,包括对MCP(特别是开源MCP server)的支持和拖拉拽零代码工作流的改版。还敬请大家关注!

点击链接,即可跳转GitHub代码库~

https://github.com/modelscope/agentscope/tree/main/applications/multisource_rag_app

 


目录
相关文章
|
机器学习/深度学习 自然语言处理 机器人
【RAG实践】基于LlamaIndex和Qwen1.5搭建基于本地知识库的问答机器人
LLM会产生误导性的 “幻觉”,依赖的信息可能过时,处理特定知识时效率不高,缺乏专业领域的深度洞察,同时在推理能力上也有所欠缺。
|
3月前
|
传感器 算法 机器人
机器人SLAM建图与自主导航:从基础到实践
通过Gazebo平台和gmapping算法成功生成并保存了一张二维仿真环境地图,为后续的机器人自主导航实验奠定了基础。完整代码及更多细节可参考[GitHub仓库](https://github.com/Jieshoudaxue/ros_senior/tree/main/mbot_navigation/config/move_base)。
357 23
|
5月前
|
编解码 机器人 测试技术
技术实践 | 使用 PAI+LLaMA Factory 微调 Qwen2-VL 模型快速搭建专业领域知识问答机器人
Qwen2-VL是一款具备高级图像和视频理解能力的多模态模型,支持多种语言,适用于多模态应用开发。通过PAI和LLaMA Factory框架,用户可以轻松微调Qwen2-VL模型,快速构建文旅领域的知识问答机器人。本教程详细介绍了从模型部署、微调到对话测试的全过程,帮助开发者高效实现定制化多模态应用。
|
10月前
|
机器学习/深度学习 自然语言处理 算法
NLP技术在聊天机器人中的应用:技术探索与实践
【7月更文挑战第13天】NLP技术在聊天机器人中的应用已经取得了显著的成果,并将在未来继续发挥重要作用。通过不断探索和创新,我们可以期待更加智能、自然的聊天机器人的出现,为人类生活带来更多便利和乐趣。
|
9月前
|
数据可视化 算法 机器人
实例10:四足机器人运动学逆解可视化与实践
本文是关于四足机器人逆运动学(IK)的实例教程,介绍了逆运动学的概念、求解方法、多解情况和工作空间,并通过Python编程实现了简化的mini pupper平面二连杆模型的逆运动学可视化,包括单腿舵机的校准和动态可视化运动学计算结果。
590 0
|
网络协议 机器人 人机交互
工业机器人应用实践之玻璃涂胶(篇三)
工业机器人应用实践之玻璃涂胶(篇三)
154 2
|
机器人 人机交互
工业机器人应用实践之玻璃涂胶(篇二)
工业机器人应用实践之玻璃涂胶(篇二)
107 1
|
传感器 人工智能 网络协议
工业机器人应用实践之玻璃涂胶(篇一)
工业机器人应用实践之玻璃涂胶(篇一)
187 1
|
机器人 Python Windows
ROS机器人编程技术应用与实践
ROS机器人编程技术应用与实践
144 1
|
机器学习/深度学习 人工智能 自动驾驶
强化学习算法在游戏、机器人和自动驾驶等领域的应用与实践
强化学习算法在游戏、机器人和自动驾驶等领域的应用与实践
480 0
强化学习算法在游戏、机器人和自动驾驶等领域的应用与实践