开源全能意图、指令识别框架 OddAgent 更新

一、前言

上周四下午领导说公司的某个助手项目准备启用自研的备用方案,然后我的 OddAgent 项目就开始从备胎出现转机,有可能会成为正式方案了。

原先我没有为 OddAgent 设定开源授权方案,大家都可以继续在 OddAgent 现有的开源代码基础上自行演进,而公司的产品一旦正式使用了 OddAgent,那可能日后的一些功能实现就不方便放到我的github上了。

不过,以我自己在小落同学项目中一些实际功能的测试体验,现有的 OddAgent 已经足以应付各种个人/企业场景下的意图识别功能。

为了避免日后大家在授权问题上出现顾虑,我特别将 OddAgent 的授权从GPL改成了MIT。

二、关于新的开源协议MIT

MIT协议允许你任意的使用、复制、修改原MIT代码库,随便你是选择跟我一样继续开源,还是选择闭源甚至商用,唯一需要遵循的原则就是在你的软件中声明你也使用的是MIT协议就行了。

MIT 协议

  • 核心特点:最宽松的协议之一,允许任意修改、分发,甚至闭源商用;只需在副本中保留原作者的版权和许可声明。
  • 适用场景:个人项目、工具类库、追求高兼容性的代码(如 Vue.js、React、jQuery 均采用)。
  • 关键约束:无开源贡献要求,不承担任何使用风险。

三、OddAgent的安装与使用

1. 安装

bash 复制代码
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)大模型配置

bash 复制代码
  "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的完整示例代码:

python 复制代码
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,也欢迎大家进群交流。

相关推荐
董厂长3 天前
Agent 意图库 和 知识图谱
人工智能·llm·agent·意图识别
董厂长3 天前
前置RAG意图召回解决的问题
大数据·llm·agent·rag·意图识别
程序员老奥13 天前
OddAgent:一个通用的意图、指令识别框架
智能体·意图识别·oddagent
i查拉图斯特拉如是2 个月前
Coze工作流意图识别
人工智能·大模型·工作流·意图识别·coze
腾飞开源3 个月前
28_AI智能体提示词工程之动态加载意图识别提示词模板的最佳实践
工具推荐·动态加载·ai智能体·意图识别·提示词工程·企业级应用·ai智能对话
腾飞开源4 个月前
01_系统架构设计
人工智能·系统架构·情感分析·工具调用·ai智能体·意图识别·智能路由
威化饼的一隅7 个月前
【大模型LLM学习】function call/agent学习记录
langchain·agent·function call·工具调用·意图识别
水的精神2 年前
模型能力赋能搜索——零样本分类(Zero-Shot Classification)在搜索意图识别上的探索
人工智能·nlp·意图识别·零样本分类·搜索效果提升