开源全能意图、指令识别框架 OddAgent 更新
一、前言
上周四下午领导说公司的某个助手项目准备启用自研的备用方案,然后我的 OddAgent 项目就开始从备胎出现转机,有可能会成为正式方案了。
原先我没有为 OddAgent 设定开源授权方案,大家都可以继续在 OddAgent 现有的开源代码基础上自行演进,而公司的产品一旦正式使用了 OddAgent,那可能日后的一些功能实现就不方便放到我的github上了。
不过,以我自己在小落同学项目中一些实际功能的测试体验,现有的 OddAgent 已经足以应付各种个人/企业场景下的意图识别功能。
为了避免日后大家在授权问题上出现顾虑,我特别将 OddAgent 的授权从GPL改成了MIT。
二、关于新的开源协议MIT
MIT协议允许你任意的使用、复制、修改原MIT代码库,随便你是选择跟我一样继续开源,还是选择闭源甚至商用,唯一需要遵循的原则就是在你的软件中声明你也使用的是MIT协议就行了。
MIT 协议
核心特点:最宽松的协议之一,允许任意修改、分发,甚至闭源商用;只需在副本中保留原作者的版权和许可声明。适用场景:个人项目、工具类库、追求高兼容性的代码(如 Vue.js、React、jQuery 均采用)。关键约束:无开源贡献要求,不承担任何使用风险。
三、OddAgent的安装与使用
1. 安装
pip install oddagent
2. 配置
项目配置样例:https://oddmeta.net/tools/oddagent/config.json.sample
智能体配置样例:https://oddmeta.net/tools/oddagent/conference_config.json
下载好后放在你前面创建的目录下。然后复制config.json.sample,并将其改名为config.json
然后开始调整设置 config.json 里配置你自己的系统配置
下面是一个系统配置的示例。
1)大模型配置
"GPT_URL": "https://qianfan.baidubce.com/v2/chat/completions",
"MODEL": "ernie-4.5-turbo-128k",
"API_KEY": "your api key",
2)智能体功能配置
根据你自己的业务需求,配置你的功能意图和槽位的语料。OddAgent自带了一个视频会议场景的示例 conference_config.json ,可供您的参考。
具体的配置方法可参考这里:https://pypi.org/project/oddagent/
3. 运行
启动命令:oddagent -c config.json
4. 测试后台
默认的测试后台地址是:http://localhost:5050
5. API接口
OddAgent只做意图、指令的识别,所以实际场景里基本上都是在你自己的产品里用API来调用OddAgent识别意图指令,然后自行去实现相应的功能。
以下是一个API调用OddAgent的完整示例代码:
import json
import requests
API_BASE_URL = 'http://127.0.0.1:5050/oddagent/chat' # API地址
def recognize_intent(message):
"""调用api_oddagent_chat API"""
try:
response = requests.post(
API_BASE_URL,
json={
'question': message,
'api_mode': 1 # 模拟API结果,0-不模拟,1-模拟,2-自定义API
},
headers={'Content-Type': 'application/json'},
timeout=30
)
response.raise_for_status()
data = response.json()
return { 'err_code': 200, 'message': 'success', 'data': data}
except Exception as e:
print(f"API调用失败: {str(e)}")
return { 'err_code': 500, 'message': f'API调用失败: {str(e)}', 'data': None }
if __name__ == '__main__':
json_response = recognize_intent("开个周例会")
print(json.dumps(json_response, ensure_ascii=False, indent=2))
运行测试代码:python test_oddagent.py
四、OddAgent的演进
可以放心的是,OddAgent的功能还会继续演进。
跟我所在公司的业务相关的功能特性可能已经不适合放到开源项目里了,但是我的小落同学如果在意图识别上有什么需求的话,还是会继续放到这个项目里的。
同时如果大家在使用 OddAgent 过程中有碰到一些什么样的问题,甚至需求,也可以继续放心的给我提 Issues,也欢迎大家进群交流。
为了避免日后大家在授权问题上出现顾虑,我特别将 OddAgent 的授权从GPL改成了MIT。
浙公网安备 33010602011771号