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

news2025/3/16 6:37:08

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日

同时本文发表于墨问

同时本文发表于博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1695018.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android kotlin协程

说明 可代替线程整异步可控制,灵活 (控制优先级,内存占用等)速度快 效率高有数量上限 使用 runBlocking 一般用于测试 不建议使用GlobalScope.launch 全局的 生命周期跟随application 不建议使用CoroutineScope(job) 用 基本使…

C结构详解

目录 1、结构模板 1. 建立结构声明 2. 定义结构变量 3. 访问结构成员 4. 初始化结构 声明结构数组 声明和初始化结构指针 1、结构模板 1. 建立结构声明 struct book{char title[MAXTITL];char author[MAXAUTL];float value; }; 该声明描述了一个又两个字符…

指北者智能音乐学习机隆重亮相广州国际乐器展

2024年5月23-26日广州国际乐器展览会在广交会展馆B区隆重开幕,本届展会开设5大展厅、50000平方米的主题展区,吸引了700多家国内外参展商参展,打造集展示、商贸、文化交流、文娱于一体的广阔平台。深圳市指北科技有限公司也携旗下品牌指北者智…

plt多子图设置

import matplotlib.pyplot as plt# 使用 subplots 函数创建一个 2x3 的子图网格 fig, axs plt.subplots(nrows2, ncols3, figsize(16, 10)) # 调整 figsize 来改变图像大小# 遍历每个子图,并绘制一些内容(这里只是简单的示例) for ax in ax…

leetcode230 二叉搜索树中第K小的元素

题目 给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 个最小元素(从 1 开始计数)。 示例 输入:root [5,3,6,2,4,null,null,1], k 3 输出:3 解析 这道题应该是能做出…

计算机网络-BGP概述

一、概述 到目前为止我们已经学习了静态路由、OSPF、RIP、IS-IS了,前面我们也了解到按照区域或者范围来分,路由协议可以划分为:IGP内部网关协议、EGP外部网关协议,而我们前面学习的动态路由都属于IGP的范畴. IGP是用于单一自治系统…

AI大模型探索之路-训练篇25:ChatGLM3微调实战-基于LLaMA-Factory微调改造企业级知识库

系列篇章💥 AI大模型探索之路-训练篇1:大语言模型微调基础认知 AI大模型探索之路-训练篇2:大语言模型预训练基础认知 AI大模型探索之路-训练篇3:大语言模型全景解读 AI大模型探索之路-训练篇4:大语言模型训练数据集概…

NetSuite Intercompany COGS科目设置问题

在22年底的NetSuite多公司功能串讲中,有一个题目是Intercompany COGS科目的设置问题。近期在项目上这个问题被密集讨论。为了方便分享,所以在此摘出来独立成文。有兴趣的同学也可以翻看之前的视频。 NetSuite知识会 第8谈 多公司功能串讲 NetSuite Inter…

性能测试--线程的监控

1.线程的状态 1.1.线程的5种状态 java的线程总共有5种状态,如下: * 新建:new 【新建之后不启用都是new】* 运行:runnable* 等待:waitting(无限期等待),timed waitting(限期等待)* 阻塞:blocked* 结束&am…

1.存储部分

1.Flash Memory--闪速存储器(注:U盘,SD卡就是闪存)在EEPROM基础上发展而来的,断电后也能保存信息,且可进行多次 快速擦除重写。注意:由于闪存需要先擦除再写入,因此闪存写的速度要比…

[less配置]vue2引入less

1、终端输入:npm install less less-loader --save-dev 2、在package.json查看是否安装less依赖 3、调用

Add object from object library 从对象库中添加内置器件

Add object from object library 从对象库中添加内置器件 正文正文 对于 Lumerical,有些时候我们在使用中,可能需要从 Object library 中添加器件,通常我们的做法是手动添加。如下图所示,我们添加一个 Directional Coupler 到我们的工程文件中: 但是这种操作方式不够智能…

基于附带Attention机制的seq2seq模型架构实现英译法的案例

模型架构 先上图 我们这里选用GRU来实现该任务,因此上图的十个方框框都是GRU块,如第二张图,放第一张图主要是强调编码器的输出是作用在解码器每一次输入的观点,具体的详细流程图将在代码实现部分给出。 编码阶段 1. 准备工作…

Element Plus (面向外卖编程)

Element介绍 使用流程 案例 Element介绍 是饿了么团队基于 Vue 3 研发的面向设计师和开发者的组件库,访问官网能使用到各种组件样式 组件:组成网页的部件,例如 超链接、按钮、图片、表格、表单、分页条等等。官网:https://…

AI多模态「六边形战士」,原创音乐、1分钟百页PPT、抖音爆款……

2024年AI行业最大的看点是什么? 那一定是多模态AI应用。 大模型发展到今天这个阶段,文本处理已经是各家大模型的必备技能了,对音频、视觉等多模态的理解和应用才是下一个阶段大模型比拼的赛道。 3.5研究测试:hujiaoai.cn 4研究测…

测试驱动编程(3)进阶单元测试(下)

文章目录 测试驱动编程(3)进阶单元测试(下)示例实战接收同事的需求开始迭代需求故事迭代1故事迭代2故事迭代3故事迭代4故事迭代5故事迭代6 测试驱动编程(3)进阶单元测试(下) 示例实战 接收同事的需求 你的同事正在开发一个远程…

前端 防抖和节流

在前端开发中,防抖(Debounce)和节流(Throttle)是两种常用的性能优化技术,尤其在处理频繁触发的事件时显得尤为重要。无论是在用户输入、窗口调整大小,还是滚动事件中,这两种技术都可…

el-transfer和el-tree进行结合搞一个树形穿梭框

由于业务需求需要在穿梭框里使用树形结构,但是本身element里并不支持,于是参考了别的大佬发的文章作为思路及后续自己新增了一些处理功能。 目录 1.拷贝代码放到自己的项目目录中 2.改造el-transfer的源码 3.修改tree-transfer-panel.vue文件 4.修改…

C语言内存函数超详细讲解

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 C语言内存函数超详细讲解 收录于专栏【C语言学习】 本专栏旨在分享学习C语言学习的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 1. m…

IDEA打开项目报错

IDEA打开项目报错: Cannot read scheme C:\Users\xxxxxx\AppData\Roaming\JetBrains\IntelliJIdea2023.2\qaplug_profiles\Default.xmljava.lang.AbstractMethodError: Receiver class com.soldevelo.qaplug.scanner.AnalysisProfileManager$2 does not define or i…