OddAgent:如何识别的意图与指令?
摘要:以[小落同学](https:x.oddmeta.net '小落同学')而言,她支持天气预报,会议调度,智能家居控制等多种智能体功能,她的做法是部署多个不同的智能体,也即:启动多个oddagent,每个
20260106 OddAgent:一个通用的意图、指令识别框架
目录20260106 OddAgent:一个通用的意图、指令识别框架一、功能特性1. 框架特性2. 示例功能二、快速开始三、创建你自己的智能体项目1. 步骤一:在任意你想要的目录下创建一个目录2. 步骤二:下载项目配置样例四、配置你自己的系统配置1. 大模型配置2. 智能体配置五. 智能体技能配置六、运行测试你自己的智能体1. 启动oddagent智能体后台2. 启动测试界面1)界面测试2)实际API测试七、进阶用法:同时运行多个智能体1. 用一个oddagent搞定2. 用多个oddagent分开部署八、广而告之
想自己动手来手搓一个完全属于你自己的“小爱同学”、“小艺”吗?如果有你这么一个想法,而又不知道该如何开始的话,那么OddAgent项目可以成为你非常容易上手的开源项目。
本来这个功能是小落同学在2024年初就已经支持,由于前阵子公司老板说需要做一个基于LLM的智能助手系统,因此就先从小落同学项目里把相关的代码摘了一下出来,单独搞了一个OddAgent项目出来,作为一个基于LLM的智能助手系统,提供多轮问答、流式AI聊天等功能独立项目来演进。
OddAgent作为一个通用的意图、指令识别框架,跟业务无关,效果识别的准确率,可识别的能力,完全由你的智能体技术配置文件决定。
同时,OddAgent只负责识别意图、指令,不负责实现具体的功能。通过OddAgent识别出来意图、指令后,你需要自行实现工具逻辑,并调用对应的工具,完成相应的功能。
一、功能特性
1. 框架特性
支持多轮对话
支持流式AI聊天接口
工具模板化处理
支持语音对话(需要自行部署 OddAsr项目,并在config.json中将OddAsr部署的IP地址指向OddAsr所在的服务器)
OddAsr项目位于:https://github.com/oddmeta/oddasr ,若需要语音的支持,请自行部署。
2. 示例功能
根据视频会议的功能特性,在示例中实现了如下的助手功能:
预约会议服务,可创建指定时间、地点的会议。
创建会议服务。
结束会议服务。
加入会议服务,可加入指定会议。
退出会议服务。
邀请参会人服务,可邀请指定会议的参会人。
挂断参会人服务,可挂断指定会议的参会人。
打开摄像头服务。
关闭摄像头服务。
打开麦克风服务。
关闭麦克风服务。
发送双流服务。
停止双流服务。
打开同声字幕服务。
打开会议纪要服务。
关闭会议纪要服务。
二、快速开始
建议在一个虚拟环境里安装,以避免与其它的产品和项目冲突。我个人习惯用conda,你用venv, uv,poetry什么也都OK。下面以conda为例介绍整个安装。
环境要求: Python 3.10+
创建测试用的虚拟环境
conda create -n oddagent_test python==3.12
conda activate oddagent_test
在虚拟环境里安装OddAgent
pip install -i https://pypi.org/simple/ oddagent
非官方的镜像站可能不一定能找到最新版本,因此建议使用pypi官方源。
三、创建你自己的智能体项目
1. 步骤一:在任意你想要的目录下创建一个目录
如:d:\\myagent 或者 /home/user/myagent
2. 步骤二:下载项目配置样例
项目配置样例:https://oddmeta.net/tools/oddagent/config.json.sample
智能体配置样例:https://oddmeta.net/tools/oddagent/conference_config.json
下载好后放在你前面创建的目录下。然后复制config.json.sample,并将其改名为config.json
然后开始调整设置config.json里配置你自己的系统配置
四、配置你自己的系统配置
在config.json系统配置里,必改的内容主要是两个:
大模型配置:需要将你自己用的大模型的地址GPT_URL,模型名MODEL,以及API_KEY在配置里填一下
智能体的配置:指定OddAgent启用哪个智能体。如果你有多个不同的智能体希望同时运行的话,可以参考后面的介绍《进阶用法:同时运行多个智能体》
下面是一个系统配置的示例。
