ai agent系列之二:modelscope-agent学习和使用

Iamduyabo 2024-09-05 11:31:01 阅读 62

基础概念

ModelScope-Agent:是一个通用的、可定制的Agent框架。

Agent概念参考从Agent到Brain到Memory 概念摘要。

作为框架,主要对llm,memory,tools等模块做了如下事情:

llm封装调用,提供简单配置方式选择和使用llm。

RAG和prompt管理。

tools注册/检索功能;内置tools,比如文本转图片,文本转语音等;支持工具定制;封装一些常见的外部tools调用模块。

代码结构

主要目录解析:

|_ apps 提供了一些基于agent的应用

|_modelscope_agent 是主要的agent框架代码

|_llm 对大模型的调用封装,包括openai/zhipu,以及阿里云模型整合服务灵积(dashscope),也对魔塔(modelscope,模型开发平台)进行了封装

|_tools 工具注册,工具检索,工具调用封装等

|_memory RAG的一些能力封装

|_rag RAG的一些能力封装

|_storage RAG的一些能力封装

|_modelscope_agent_servers 基于modelscope_agent和fastapi搭建的web服务。

跑个demo

3.1 环境要求

python3.9以上。

3.2 运行方式

不支持网站图形化界面运行。

支持http server方式运行:基于代码结构里的modelscope_agent_servers目录。

支持python sdk方式运行:基于代码结构里的modelscope_agent目录。

3.3 依赖说明

调用llm需要对应的api-key

如果是Dashscope整合的llm,直接用Dashscope的key(阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台 点击“api-key 管理”)

如不是需要自主获取对应的key(比如openai的api-key)。

调用tools需要对应的api-key

如果是Modelscope内置的tools,需要Modelscope的token(魔搭社区 点击“访问令牌”)。

如果是外部的tools,需要对应的服务的token(比如天气查询需要amaq的token)。

3.4 demo

项目的example文件夹下,每个ipynb文件就是一个sdk demo的运行过程,按照说明一步一步操作,就能跑通。

以 modelscope-agent/examples/agents/simple_agent.ipynb 为例,可以参考3.3,找到所需依赖。

NEXT

阅读memory/storage/rag相关代码,并参考langchain对memory的实现。

参考文献

[1] 魔搭社区推出ModelScope-Agent开发框架,打造属于你的智能体

[2]https://github.com/modelscope/modelscope-agent/blob/master/README_CN.md



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。