魔搭ModelScope社区 04月24日 22:03
答疑机器人实践:AgentScope多智能体带你玩转多源召回
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了如何使用AgentScope多智能体系统KIMAs搭建多源召回问答服务,并将其迁移到不同的知识源。KIMAs凭借其可迁移性和可靠性,已成功应用于多个项目。文章详细讲解了如何准备运行环境、知识材料,启动服务,以及如何通过调整配置文件,使系统适应不同的答疑场景。同时,还介绍了如何利用gradio改进的前端界面进行服务透出,方便用户输入评价和收集反馈。KIMAs代码已在AgentScope的GitHub仓库开源,为开发者提供了便捷的多智能体应用开发方案。

🛠️KIMAs是基于AgentScope框架的多智能体子应用,用于多源检索增强,已成功应用于多个项目,如AgentScope答疑机器人、魔搭平台答疑应用等。

⚙️KIMAs主要由Python代码和配置文件组成,Python代码提供系统骨架,配置文件则为系统迁移到不同问答场景提供灵活性,包括智能体prompt、知识源和工作流微调。

📚迁移KIMAs到其他知识源,需要修改`src/configs/as_config/as_knowledge_configs/knowledge_config.json`文件,更新knowledge_id、input_dir、required_exts等参数,并根据需要调整chunk_size、chunk_overlap和transformations等参数。

🤖更新智能体设定,修改`src/configs/as_config/as_agent_configs/agent_config_dict.json`文件,特别是LlamaIndexAgent的knowledge_id_list和sys_prompt,使其与新的知识源相匹配。

2025-04-23 22:51 广西

应用AgentScope多智能体系统KIMAs解决方案搭建多源召回问答服务及迁移知识源

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仓库答疑出发,先介绍如何跑通从运行环境搭建到服务透出的基础操作;然后我们也会简单介绍后续可以如何调整配置文件使系统适应到不同的答疑场景中。



准备

作为前期准备,我们需要运行在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前端界面了。这个前端界面提供了一个让用户输入评价的系统,方便应用开发者在测试阶段收集反馈。



迁移到其他知识源

如果大家想基于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代码库~




👇点击关注ModelScope公众号获取
更多技术信息~





阅读原文

跳转微信打开

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AgentScope KIMAs 多智能体系统 问答服务
相关文章