用本地大模型(llama3)进行数据分类标记|LLM 用例

001|背景

这是我最新发布的导航站点 https://aiwith.me

这个站点由于第一版数据来源于第三方,只有站点基础数据,没有对数据进行分类,最近站点上线了,主体框架都搭建完成了,这才有空去对数据做分类. 目前的快捷筛选,完全依靠关键字匹配检索。

前期为了快速上线,直接拿到词频相对较高和常用的词语进行筛选。
这样过于粗暴,而且有时候不太准确。

AI WITH.ME 关键字筛选

002|分类方案

数据量多了之后,这样的筛选会越来越不准确,有时候站点信息没有这些关键字,但分类上是一致的。
为更好的把站点按照类型区分,我想了这些办法:

1、人工标记 - 历史数据太多了,太费时()
2、通过大模型去分类 - Kimi 或者 ChatGPT-3.5
3、通过本地大模型去分类-正好测试一下本地大模型的性能和准确性如何。

最后选择了第三种方案,因为不需要 API 成本,并且可以试试本地模型性能!

003|使用 Ollma 运行本地模型

使用 Ollma 来快捷的运行本地大模型:
ollama 介绍
https://ollama.com/

ollama 官网截图

Ollma 支持运行的常见模型:
https://github.com/ollama/ollama

Ollma 支持运行的常见模型列表

这里我们使用最新的 llama3

下载 安装 Ollma 后,运行可以按照官网的命令 ollama run [模型名字]

本地运行Ollma+llama3

004|使用 API 调用模型

命令行可以支持对话,但是我有 800 条数据要跑,我不可能在这个窗口完成。所以这就需要用 ollma 的 API 执行。

默认情况下,ollma 的 API 端点在11434端口,如果你没有启动的话,执行以下命令。
ollma 的 API 端点启动命令

参考 API 文档:
https://github.com/ollama/ollama/blob/main/docs/api.md

ollma 常用 API

因为不需要对话和记忆,只要文本生成就是了,所以我们选择 /api/generate 端点。

需要处理的数据结构如下:
AI WITH.ME 站点数据

005|编写提示词&调试提示词

这个过程实际上挺麻烦的,我前前后后写了四版提示词,进行测试。
主要诉求是:通过我给出的已知网站信息,给出最符合我限定范围内的分类。

随便来段 Python 代码,批量执行数据。进行提示词的调试。
调用 ollma API,提示词在payload 里

对数据做分类的提示词

1、使用 llama3 模型并禁用流输出,默认是流输出,为了序列化方便,我们一次调用一次性获得结果即可。
2、将已知的网站信息,主要是描述信息给到大模型,参照以下上面的数据结果,大约 800 +个类似的数据
3、限定输出的格式为 JSON 数组,便于编程使用(也可以直接更新数据写到新的 JSON 文件)

遇到的问题:
在最终版本确认之前改几次,几乎很多站点都分类到了 Code&IT 这个分类,这是为啥呢?
后来我分析了一下,因为我的站点都是 AI 站点,几乎都会出现关键字 AI Power 或者 AI xxx 等词语,这会让它将大部分数据分类为 IT 类。
所以我加了一个限定如下:

...
All websites are AI-related websites, so don't simply add Code&IT or AI classifications, but types that are combined with artificial intelligence, unless it's obvious that it's code assistant, low-code, or website building, don't easily classify them as Code&IT or AI
...
// 翻译如下(实际是最初由中文翻译过去的...):
所有网站都是与AI相关的网站,所以不要简单地添加Code&IT或AI分类,而是与人工智能相结合的分类,除非很明显是代码助手、低代码或网站建设,否则不要轻易将它们归类为Code&IT或AI

006 | 最终运行效果如下:

llama3 对数据分类的最终效果

007 | 如何判定分类效果?

1、通过搜索与分类标签的交叉验证
2、人工随机抽查数据中的分类

分类效果渲染至站点

根据我的判定我觉得准确率应该在 80%左右,速度也挺快。
本地跑 CPU 20% 左右,一秒一个的样子。

本文写于:2024年5月23日

同时本文发表于墨问

同时本文发表于博客

  • 14
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值