Post

LLM 相关知识

LLM 相关知识

AI赋能日常生活,有效利用白菜价的Deepseek API做其他事情

[DeepSeek 深度求索](https://www.deepseek.com/) 官网右上角是有API开放平台的入口,在里面可以获取API KEY。

在此之前,我们需要了解一些基础知识——

什么是API?

假如你是第一次了解这些AI工具且正在使用网页端/APP

维度 网页端对话 API调用
交互性质 临时性单次交互:手动输入问题,即时获取答案 系统性调用:通过程序化请求批量处理任务
处理能力 单条文本处理(如单次问答、短文生成) 支持批量文本处理(如千篇文档摘要、自动标注)
功能集成 独立使用,功能受限 可嵌入工作流,对接工具/插件
输出控制 依赖预设交互界面,输出格式固定,或每次对话都需要固定提示词 自定义输出格式(JSON、Markdown等),可以调整随机度(温度)等

可以看出来,网页端局限性相比起来很大,如果有复杂需求无法实现,这时候就要用到API了。

我需要API吗?

请先注意:API是需要付费的,是需要付费的

需要API的情况:

  1. 需批量处理任务(如同时分析千条数据、自动生成报告)
  2. 希望将AI功能嵌入现有系统(如客服机器人、代码工具插件)
  3. 要求自定义输出格式(如结构化JSON数据、特定模板文本)
  4. 需通过参数精细控制生成效果(如调整温度值平衡创意/稳定性)
  5. 有自动化需求(如定时处理文件、实时数据流分析)
  6. 想避开网页话说出来以后堵嘴

无需API的情况:

  1. 仅需单次对话解决临时问题(如日常问答、短文润色)
  2. 无编程基础且不愿接触代码
  3. 使用频率低且无规模化需求
  4. 不想花钱

API定价?

不同平台有不同定价,这里我推荐两个渠道供大家使用: DeepSeek 开放平台

截至2月1日,Deepseek官方API暂不可注册访问充值,已注册用户可以继续使用

DeepSeek官方API

版本 类型 缓存命中 (¥/百万 tokens) 缓存未命中 (¥/百万 tokens)
R1 输入 1 4
R1 输出 - 16
V3 输入 0.5 2
V3 输出 - 8

注:缓存命中就像系统记住你重复发送的对话历史,后续请求只需计算新增内容。对话轮次越多,重复数据量指数级增长时,缓存可让费用从“每次翻倍”变为“几乎不增加”,成本节省效果极其显著。

[SiliconCloud 硅基流动](https://cloud.siliconflow.cn/models)

硅基流动是国内模型API提供商,其R1/V3 API是满血671B,而且支持微调,如果有细致需求则推荐

硅基流动/Siliconflow API价格

版本 类型 价格 (¥/百万 tokens)
R1 输入 4
R1 输出 16
V3 输入 2
V3 输出 8

注:硅基流动没有缓存命中,实际使用会贵一些

上面三个部分是基础知识,进阶部分请看下方,接下来将事无巨细地教大家使用。


软件推荐

第一梯队-通用好用

  • Cherry Studio:一款支持多个大语言模型(LLM)服务商的桌面客户端,兼容 Windows、Mac 和 Linux 系统。且开箱即用,无需配置环境
  • Dify:开源的 LLM 应用开发平台,适合工作流。
  • 沉浸式翻译:好用的浏览器翻译插件(也支持移动端Edge安装),搭配Deepseek-V3完美翻译

第二梯队-特定专精

  • Cline:一个可以使用你的 CLI 和 编辑器 的 AI 助手,简单需求只需明确一句话或是几句话,剩下的全交给Deepseek就好!

第三梯队-有基础肯折腾

  • Lobechat:特别好用的网页端-全平台通用对话助手,服务端版本支持创建自己的知识库,支持多种插件,好用的不能再好用了!极其推荐,但是需要有基础肯折腾,手头上有轻量服务器或者VPS可以考虑搭一个保证不会后悔。

第四梯队-有额外付费

有额外付费的不推荐,不如自己折腾点自搭建开源项目


为什么推荐使用API而非本地部署?

这里最大的问题其实是硬件性能。

我们假设大家的电脑都是4090。那么强如4090,也只配流畅运行32B的参数模型(也就是“360高速专线”)的水平。而Deepseek-V3/R1的满血参数是671B(你没看错,671B,差近21倍),这带来的性能差距是极其离谱的,尤其是你要一股脑输入很多文本的时候。

如果有极其特殊的需求,如企业隐私相关,或者是你怕用API写刘备被封号(但是我没见过),才本地部署,否则一律推荐使用API,特别是考虑到Deepseek的API价格。


使用API时的模型选择

这里就涉及到一个更进阶的知识:DeepSeek-V3(Chat 模型)与 R1(Reasoner 模型)是有很大区别的。V3是通用对话模型,R1是专用推理模型。他们本身的用途就天差地别。

在绝大多数普通人使用API时,成本是不能忽略的一环,我们要知道统一变量下,R1的输出价格是V3的两倍,R1计算输出价格时也包括深度思考,也就是说:

假如你对V3提一个简单的问题,V3输出了100字,R1因为思考一共输出了300字,那么你要为R1付的费是V3的6倍。

所以我们可以先行得出一个结论:简单的小问题不需要R1出手,你直接到网页端/APP问就可以了。

好,回到正题。所以什么时候选择R1?

结论:如果你需要计划Plan或是解决棘手的Bug(特别是在Cline中),或者是需要资料计算数学问题,以及进行结构化输出,进行数据分析或者核查知识信息一致性,就使用R1。

否则在使用API的情况下我一致建议使用V3


获取API KEY

API密钥是一串由字母和数字组成的唯一代码(sk-xxxxxx),类似于银行卡密码,使用API时必须携带明确,就像到银行取款要支付密码。

所以API Key很重要,如果API Key泄露,就好比银行卡密码泄露,一旦他人用你的密钥肆意调用API,就会导致你的余额被迅速消耗殆尽。

Deepseek和硅基流动目前均没有API Key限额选项,所以千万不要告诉任何人你的API Key!

DeepSeek 开放平台 获取API Key

进入Deepseek开放平台,选择左边菜单栏第二项“API Keys”

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-do2jK12T3cSsg-fj.jpg

然后创建API Key,并妥善保管

需要时填入,具体在下面实例会演示

[SiliconCloud 硅基流动 获取API秘钥](https://cloud.siliconflow.cn/models)(没有注册的求看上面API价格板块)

进入硅基流动,在左侧菜单栏-账户管理-API秘钥

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-k1mtK26T3cSsg-g0.jpg

然后点击“新建API秘钥”,获取后妥善保管

需要时填入,具体在下面实例也会演示


如何构建你专属的猫娘(划掉)AI助手

这里分为两个大部分,基本的可调参数与提示词。

可调参数(R1不适用除开Max Token以外的所有参数)

  • Max Tokens-最大令牌数(消息长度限制)
    • Token 是模型用来表示自然语言文本的的最小单位,可以是一个词、一个数字或一个标点符号等,大家只要明白有这个概念就可以
    • 所以Max-Tokens的作用就是限制输出文本的长度,截断输入或减少输出长度。当然,事物都有两面性,所以这个选项还可以反过来让模型多说点(在复杂问题上会有效,需要和下面提到的Temperature和Top-P还有Prompt配合)
  • Temperature-温度(随机性)
    • 字面意思,温度高了烫手,用来控制生成文本的随机性或创造性。值范围通常为0到1,越接近0每次的回复越固定,一般建议小白直接默认1
      • 如果非要试的话,我建议是在 代码生成/解数学题设0.2~0.3、数据抽取/分析设1.0、通用对话和翻译设 1.3,创作设1.5
      • 以上调整温度的策略我极度不推荐对R1应用,性能问题自负
    • 如果模型出现胡言乱语,尝试降低温度,别把模型给烫傻了

进阶内容

  • Frequency Penalty-频率惩罚(话题新鲜度)
    • 字面意思,如果单次对话重复出现的词或短语,则惩罚模型,降低词和短语被再次选择的概率
      • 如果模型生成的文本中某个词语(或短语)出现频率较高,模型会在后续生成中降低该词语被选择的概率。
      • 以《阳光彩虹小白马》为例,原歌词“你是内内个内内内个内个内内”,拉高以后有可能成为“你是内内个内内个内个特别的小马,彩虹和阳光与你一起跳舞。”但是如果模型训练时已经明确了歌词是事实存在的,则就像“床头明月光”下一句是“低头思故乡”一样,基本上是一致的。
    • 需要明确的一点是频率惩罚是一个动态的、基于概率的过程,而不是一个独立的惩罚计数,很难一言以蔽之,所以这种选项尽量别乱调
  • Presence Penalty-存在惩罚
    • 字面意思,与上面频率惩罚不一样的是存在惩罚会抑制已经出现过的词再次被生成。
      • 调高后,模型会尽量避免使用已经出现过的词,即使这些词在上下文中非常重要。
      • 还是之前的例子,“你是内内个内内内个内个内内”到这里,假设我们把其拉高,有可能“你是内个最特别的小精灵,歌声飞扬在天空中,彩虹与你一起闪耀。”模型不再重复“内”字或其他已经出现过的词。
    • 如果是明确不知道自己要干什么,这个也别动
  • 上下文数/携带的消息
    • 字面意思,我举个简单的例子,假设一个模型的API上下文长度限制是3条消息(纯举例,deepseek-v3和r1的上下文均为32K)
      • 第一轮对话:User: “你好!” LLM: “你好!今天过得怎么样?” 此时API上下文包含这一轮对话
      • 第二轮对话:User: “今天过得不错,你呢?” LLM: “我也很好,谢谢!” 此时API上下文不仅包含这一轮,还包含之前一轮的对话,就是 [User: “你好!”, LLM: “你好!今天过得怎么样?”,User: “今天过得不错,你呢?”, LLM: “我也很好,谢谢!”]
      • 第三轮对话:User: “我们聊点别的吧,比如天气。” LLM: “好的,今天天气不错,阳光明媚。” 这个时候API上下文已经满了
      • 第四轮对话时,LLM就会“忘记”之前的第一轮对话,也就是忘记User打过招呼
    • 所以上下文数决定了API能记住多少条之前的对话历史,API的计费是基于token数量的(输入+输出)。上下文越长,携带的消息越多,使用的token量就越高,成本也会随之增加,财大气粗可以拉满,省吃俭用的得自己看着来

较为晦涩难懂-施工中

  • Top-P-核采样
    • 核采样的原理是在生成下一个词时,模型会从概率最高的词开始累加,直到累加概率达到预设的阈值,然后只从这组词中随机采样
  • Top-K
    • 在生成下一个词时,模型只会从概率最高的k个词中随机采样,也就是只选择概率最高的k个词,无论它们的概率分布如何

提示词

在这里我们需要完全理解两个概念:“System Prompt(sysPrompt)” 和 “Prompt”,翻译成中文就是“系统提示”和“用户提示”

在这里可以很粗略的理解为,sysprompt 是一个比 prompt 权限更高的、每轮都复述一遍的 prompt,举个例子:

假如我需要让大语言模型翻译一句话,

场景 sysprompt prompt LLM响应
带 sysprompt:翻译助手 有(翻译助手) 简单输入 The weather is nice today.
不带 sysprompt:你需要翻译 明确翻译指令 The weather is nice today.
无 sysprompt 且无翻译指令 简单输入 今天的天气很好。

从表中可以看出,sysprompt像是一个“背景指令”,始终影响着LLM的行为,无论对话如何进行(在这个部分我就不提第四种场景了)。


手把手实例-Cherry Studio-打造你的个人知识库

基础:

首先,到Cherry Studio的Github releases上下载好软件并安装并打开

打开以后点击左下角设置,打开模型服务,找到“硅基流动”或“深度求索(官方API)”

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-8ek3K14T3cSsg-gz.jpg

如果你使用的是官方API,则无需修改任何其他设置,填入API KEY即可,填写完毕可选检查,然后到“默认模型”选项中,把三种模型全改成Deepseek chat,右上角打开,回到对话选择好模型,此时已经基本可用。

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-fh9vKmT3cSsg-an.jpg

如果你使用的是硅基流动,你需要:填入API秘钥后,点击“管理”按钮,搜索或是直接添加deepseek-ai/DeepSeek-V3以及deepseek-ai/DeepSeek-R1即可,

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-f2gwK1hT3cSsg-he.jpg

然后到“默认模型”选项中,把三种模型全改成Qwen2.5-7B-Instruct,问就是免费不用白不用,能省一点是一点。

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-hmyuK1lT3cSte-hy.jpg

此时已经基本可用,可以正常对话。

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-6xrjKyT3cSsg-ax.jpg

进阶-知识库与文件:

此操作涉及到嵌入模型,需要使用硅基流动的API,如果没有可以看我帖子注册一个,或者自己去智谱注册获取他们的API key以使用嵌入模型(在外国的老哥可以使用ChatGPT API的嵌入模型,但是成本较高)

假设你除开跟我教程走以外没有进行过任何更改,那么:

点击左下角设置,打开模型服务,找到“硅基流动”,点击“管理”按钮,点击“嵌入模型”类别,

找到BAAI/bge-m3(免费)或是Pro/BAAI/bge-m3(Pro版本收费¥0.07/ 百万Tokens 但是效果更好,可以使用注册邀请码的赠送余额抵扣),添加其中一个,然后关闭设置。

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-24vdK1fT3cSor-m5.jpg

点击侧边栏的“知识库”,进入知识库页面,点击添加知识库,填入名称以及嵌入模型并确定,知识库就创建好了。接下来就是往里面添加文件。

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-fbk9KpT3cSsg-d3.jpg

回到对话页面也就是“助手”页面,确认上方的助手正确,在对话框下面选择对应的知识库,询问时即可引用知识库中的资料

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-4aqjK1jT3cSsg-kq.jpg

还可以根据资料进一步分析[但是还是有点小问题,这里就涉及到提示词工程了,后续会有补充介绍]

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-l3ksK2bT3cSnm-sg.jpg

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-9j0xK2rT3cSsg-hm.jpg

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-5nf3K1hT3cSsg-ey.jpg


手把手实例-沉浸式翻译-告别机翻,拥抱更懂中文更懂梗的大模型翻译

沉浸式翻译可能不少朋友都有所耳闻,大语言模型白菜价的时代,这个插件确实好用。先前在机器翻译大行其道,模型价格居高不下的时代这个插件的竞争力似乎并没有如今这么强,但是从Deepseek2.5开始,深度求索以极低的杀死了比赛,到去年12月份DeepseekV3的推出,翻译能力更上一层楼。事实证明嵌入式网页翻译是真的可以提升使用体验的。

我推荐各位潭友通过浏览器拓展与 iOS Safari 扩展或 Edge移动版(安卓/HarmonyOS4.2) 使用,力求能不下第三方应用就不要下第三方应用。

PC直接通过浏览器拓展安装即可,iPhone需要在APP store下载插件启用,移动端Edge需要在右下角更多选项-拓展-管理拓展中安装并启用接下来的操作手机与PC端相同,我这里以手机端为主进行演示:

随便打开一个网页,比如[https://editorials.voa.gov/a/making-america-safe-again-through-deportations/7958547.html],如果前面所有的步骤都正常,那么我们无论是PC还是手机,都可以在右下角看到一个粉色小图标

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-isj3K2sT1kShs-12w.jpg

长按小图标(PC将鼠标放在图标上,点击齿轮按钮),点击弹出来的悬浮窗左下角的“设置”选项

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-gfidK1tT1kSfe-us.jpg

此时我们进入了拓展页面,接着我们点击“翻译服务”,(有基础的潭友可以忽略下面的建议)只保留“微软翻译”、“智谱GLM翻译(备胎留底反正免费但是效果不好)”、“Deepseek(开放平台好了以后再填API KEY)”、“SiliconCloud 翻译”。

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-claK1mT3cSsg-i8.jpg

接着点击“SiliconCloud 翻译”进入设置,勾选“输入自定义模型名称”,填入“deepseek-ai/DeepSeek-V3”,并开启“富文本翻译”选项,

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-9goxK2hT1kShs-12w.jpg

然后再在下方填写好你之前在硅基流动获取的API KEY,返回先前的网页,点击悬浮的按钮即可使用

同一篇新闻稿,图1为机器翻译,图2为Deepseek-V3的翻译

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-87wxK22T3cSsg-dq.jpg

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-84jnK2bT3cSsg-du.jpg

如果有需要可以调整Temperature (此选项会影响使用体验,除非你知道自己正在做什么) 到0.2左右。


第一步,把OpenAI和Ollama都关掉

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-al8gK1eT3cSsg-cf.jpg

接着划到“书生”下面,找到“硅基流动( Siliconflow )”,打开并填入API key,打开“使用客户端请求模式”,在模型列表右下角点击“获取模型列表”,

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-s0mK1zT3cSsg-l8.jpg

然后把已有的模型全部取消选择,只选择“deepseek-ai/DeepSeek-R1”、“ deepseek-ai/DeepSeek-V3 ”、“Qwen2.5 7B Instruct (Free)”

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-1w1qK1vT3cSsg-ck.jpg

然后返回点击“系统助手”,按需选择,想点点钱就全部设成 Qwen2.5 7B Instruct (Free) ,

!https://img.nga.178.com/attachments/mon_202502/02/-7Q1a1-1gwK1qT3cSsg-cw.jpg

回到“会话”,点击“随便聊聊”,左下角的大脑图案选择对应的模型对话就可以了

电脑端操作会简化很多,按图索骥即可。

解答可能有的疑惑:

Q:我的API key会不会被盗用? A:不会,数据全部存在浏览器本地,不上传到任何地方,你换浏览器访问数据就会丢失,数据不互通。

Q:为什么我发图片给Deepseek报错? A:Deepseek-V3/R1本身只支持文字输入,识图请使用其他模型(有绿色眼睛标注的都有识别能力)识别,再交由Deepseek处理。


工具安利-Cline-简单的代码交给AI完成,完全没有编程基础的小白也能用

首先叠甲,为什么我不推荐continue?原因很简单,Deepseek-V3优惠期过后,用来做代码补全性价比不高了(一般情况下)。

Cline,官方宣传语叫“一个能够使用你的命令行和编辑器的 AI 助手”,可以让AI接管你的vscode,达成你给入需求,AI自动创建和编辑文件,自动处理错误日志,可以“逐步处理复杂的软件开发任务”。你只需要:下载VScode、安装插件、提需求、debug(反馈bug)。

下载Visual Studio Code安装好打开,点击左侧“拓展”选项

image.png

先搜索Chinese,安装“Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code”,再搜索“Cline”并安装,点按蓝色按钮重启,此时你的Cline已经可用,表现在左侧菜单栏一个小机器人图标,咱们点进去

image.png

接着点击右上角设置按钮,将“API Provider(API提供者)”改为“OpenAl Compatible”(DeepSeek官方API key选择Deepseek),硅基流动的API BaseURL为“https://api.siliconflow.cn/v1”,Model ID为“deepseek-ai/DeepSeek-V3”,如图所示填写(DeepSeek官方API key选择deepseek-chat)。提示词填写:”Speak in Chinese as you can”,或是自定义,右上角保存,则已经可用。

image.png

然后我们点击Auto-approve,只保留Read(其为自动同意,如果全部勾选可能会导致意料之外的结果),设置完成以后点击下箭头关闭。

image.png

接下来就到提需求的时间了(对于复杂的项目也可以使用Plan模式)。提出需求,就可以全自动调用Deepseek-v3帮咱们完成简单的编程任务,只需要跟着一步一步走就可以了。

image.png

以上就用简单的需求写了一个批量处理文件的powershell文件,可以在Windows上原生运行。

警告:如果需要写复杂的项目,自动编程消耗的tokens一般会比单个文件多出很多(绝大部分花在上下文)。


工具安利-NovelCline-小说创作助手,用DeepseekR1全自动写小说

安装VS code、配置中文请看Cline的部分,这里不再赘述。

image.png

与Cline操作相同,选择对应的API服务商,填入API秘钥,点击“让我们开始吧”(实测这里有bug,需要再在OpenAI的API秘钥处填入硅基流动的API秘钥,点击“让我们开始吧”,后续再在右上角设置切回去)

⚠️注意tokens消耗,此用法特别花钱

image.png

效果示例:

[[纯AI-持续更新-变嫁]身为圣女的我和职业是魔王的好兄弟一起拯救世界,真的假的?(DeepseekR1/V3协助人工微调) NGA玩家社区](https://bbs.nga.cn/read.php?tid=43187229)

利用效率最大化-多端应用

本小部分适合至少有一台Linux服务器,或是有程序基础的人学习

本小部分需要使用到非大陆地域服务器(如阿里云香港轻量应用服务器)或是可以访问Docker Hub的服务器

部署实例-Lobechat服务端数据库版本

参见https://lobehub.com/zh/docs/self-hosting/server-database/docker-compose#%E5%BF%AB%E9%80%9F%E5%90%AF%E5%8A%A8

为什么要部署服务端数据库版本:客户端数据库模式下数据均保留在用户本地,不会跨多端同步,也不支持文件上传、知识库等进阶功能。


如何判断R1是不是满血?

你是谁?基于什么模型?

当你询问以上句子内容时,671B参数的满血Deepseek-R1会固定回复两种句式:

您好!我是由中国的深度求索(DeepSeek)公司开发的智能助手DeepSeek-R1。(如您有任何任何问题,我会尽我所能为您提供帮助。

您好!我是由中国的深度求索(DeepSeek)公司独立开发的智能助手DeepSeek-R1,有关模型和产品的详细内容请参考官方文档。


指令模型(Instruction Model)和推理模型(Reasoner Model)

首先我们要搞清楚这俩概念。指令模型(如Deepseek-V3、ChatGPT-4o),顾名思义,以指令为导向的大语言模型,擅长理解意图并精准完成任务。而推理模型(如Deepseek-R1、ChatGPT-o1)更擅长推导给出的话语,以上差别在不同任务下的输出质量上体现得尤为突出:

1.指令模型的专长领域?

有明确要求的场景,比如修改格式(将Markdown格式遵守XX要求,转译为某bbs发帖格式),你心理知道“我需要什么”且有一个准确的预期时,推荐使用指令模型。这也是为什么网上有那么多的提示词,这些都是针对指令模型生效的。

2.推理模型的专长领域?

首先我们要接受一个事实:你对推理模型要求越多,推理模型越“笨”(我们叫作计算资源错配),主要原因在于推理模型有“思维链(CoT)”,会自我反思解读话语,如果你对其的暗示越多,类似一些专家过度解读他人无心之言的现象,推理模型在复杂指令下可能会“路径偏移”,过度关注次要条件而偏离问题本质。

所以推理模型一般用于解数学题或是开放性场景,你不是很确定自己需要什么的情况下,因为在在开放性场景中,推理模型会提出各种假设,从而对各种问题进行多方面多角度解读,这是指令模型很难做到的一点。


AI搜索知识库的原理与提升问答效率的方法

一、AI搜索知识库的基本原理

当用户向AI工具提问时,AI并不是直接“阅读”整个知识库,而是通过以下两步完成理解并生成答案:

  1. 检索阶段:从知识库中筛选相关片段

    假设我有一个游戏内的载具中英文名对照表,我想问AI里面的内容,我上传到了知识库。我的对照表首先会被转化为计算机可理解的格式(如关键词或数学向量)塞入知识库,然后AI工具通过两种主要方式匹配知识库内容:

    1. 关键词匹配:直接搜索包含问题中词汇的段落(例如搜索“载具”时,返回所有含“载具”的句子)。
    2. 语义匹配:将问题和知识库内容转换为向量(一种数学表示),通过计算相似度找到语义相关的内容(例如“载具”可能关联到“装甲车”“战车”等未显式提及的词汇)。

    然后系统最终会从知识库中提取若干相关片段(称为“分块”),例如:“ZBD04是PLA现役的两栖步兵战车”。

  2. 生成阶段:让AI基于片段合成答案

    检索到的分块会被拼接成上下文,输入到生成模型(Deepseek)中,模型根据这些内容生成自然语言回答。例如,结合“ZBD04是PLA战车”和“ZBD05用于登陆作战”两个分块,生成答案:“PLA的载具包括ZBD04两栖步兵战车和ZBD05登陆战车。”

二、提升问答效率与准确度的实用方法

一般的AI工具无法让我们直接修改知识库的向量数据,但是如果原因,可以试试通过以下手段优化知识库效果:

1. 优化知识库输入内容

  • 预埋“关键词钩子”

    在知识库的文档上传前,手动插入与问题相关的关键词。例如:

    • 原句:“ZBD04采用复合装甲。”
    • 修改后:“PLA的载具ZBD04(履带式步兵战车)采用复合装甲,用于两栖作战。”

      通过显式添加“PLA”“载具”“步兵战车”等词,即使系统使用语义检索,也能提高匹配概率。

  • 合并关联段落

    避免系统将相关内容切割到不同分块。例如,将短句“ZBD04是PLA战车”和“ZBD04最高时速65公里”合并为一段,确保关键信息集中。

  • 适当插入自问自答

    对于文献内容及时更新自己的理解,更新知识库文本,比如原文本:“ZBD04配备30mm机炮。”可以更新为“ZBD04是PLA的步兵战车,有改进型ZBD04A,其配备30mm机炮与100mm炮,可以发射炮射导弹。其与ZBD05不同,后者没有100mm炮但是可以携带HJ-73C。”这样即便你忘记了ZBD05,也可以通过询问你记得的ZBD04来让AI帮你回忆起来。

2. 设计高效提问方式

  • 举例引导法

    在问题中嵌入已知案例,缩小搜索范围。例如:

    • 低效提问:“PLA的载具有哪些?”
    • 高效提问:“PLA的载具有哪些?例如装甲车或两栖步兵战车,如ZBD04。”
  • 结构化提问

    明确要求AI按模板回答,例如:“请列出PLA载具型号及其类型,格式为:1. 型号:[名称],类型:[装甲运兵车/步兵战车/主战坦克]。”

4. 结果后处理与反馈

  • 人工校准答案

    若AI返回“ZBD04属于PLA载具”,但原文未明确说明,可手动将该型号添加到未来提问的关键词中。

  • 高频问题测试

    定期测试“PLA载具有哪些?”等常见问题,检查知识库是否存在内容缺失,并补充关键词。

5. 工具辅助策略

  • 本地建立关键词索引

    用Excel记录关键信息(如型号、关联词、原文位置),人工预筛选后再定向提问。例如:

    • 步骤1:在Excel中搜索“PLA 载具”,找到ZBD04/ZBD05及对应关联词组。
    • 步骤2:提问:“知识库中提到的PLA的步兵战车有哪些?”

三、在询问中完善知识库

  1. 让文档“自报家门”

    通过预埋关键词,使每段内容自带“身份标签”(如“[PLA载具]”),降低系统误判风险。

  2. 让提问“自带导航”

    在问题中提供线索(如举例、限定条件),引导AI聚焦有效内容。

  3. 接受“不完美答案”

    通过人工二次筛选(如过滤无关联结果),逐步完善知识库和提问策略。

即使面对无法编辑的“黑箱”,上述方法仍可显著提升效果。其本质是通过数据输入阶段的干预提问技巧的优化,弥补算法与数据之间的鸿沟。对于普通人,只需像整理书签一样整理文档内容,像与他人沟通一样设计问题,即可实现高效问答。


大模型的基本认知

大语言模型的通病

1.大语言模型的信息掌握是静态的

大模型是通过预训练阶段的静态数据集学习知识,数据截止时间是固定的,V3与R1的知识截止日期都是2024年7月,模型本身是无法自主感知世界变化获取新闻的,这个时候就需要从外界补充信息来总结归纳了,这也就是为什么问大模型“今天天气怎么样”是非常愚蠢的原因。

所以有时效性的问题或者知识库以外的信息,大模型无法答对很正常。

2.大模型的训练数据有限

正如所说的,大语言模型的训练数据十分有限,虽然人类互联网每天产生数PB级(1PB=1000TB)的数据,但大语言模型实际使用的训练数据远低于这个量级。以DeepSeek-V3为例,其训练数据经过严格清洗后仅保留约14.8万亿tokens(约合200TB文本)

这相当于仅筛选了互联网公开数据中沧海一粟的内容,过滤掉低质量文本(如广告、乱码、重复内容),剔除涉及隐私/暴力的敏感信息后,模型依然会有各种各样的问题

比如覆盖的领域极度不均匀,时间窗口固化(也就是特定时间段的资料极端多),还有最重要也是最难去除的硬性偏见残留,也就是即便数据清洗多次,也难以完全消除文化偏见,也就是“自带政治倾向”。

3.大语言模型的记忆有限

大语言模型的输入与输入的单元是“token”,称作“令牌”,不同的大语言模型的“记忆”,严格来说叫作“上下文窗口”的大小不一样。例如Deepseek-R1/V3支持64K tokens,平均约10万汉字或3万英文单词(上下浮动),而ChatGPT-4o支持128K上下文,Claude-3.5系列支持200K上下文。

但值得一提的是,每个模型计算token用量/分词的方式不一致,这里仅做一个小拓展。

4.大语言模型的输出长度也有限

根据Deepseek官方文档,Deepseek-chat/V3和Deepseek-reasoner/R1的最大输出长度为8K,意味着你不能让他一次性给你写一万字的文章。且大模型对于自己输出的tokens是没有感知的,也就是说,模型在生成文本时并不会主动计算已经输出了多少tokens,也不会在达到输出限制时自动停止。因此,如果你要求的输出长度超过了模型的最大限制,模型可能会在生成过程中被截断,导致输出不完整或突然中断。

此外,输出长度的限制也意味着模型在处理长文本任务时需要进行分段处理。例如,如果需要生成一篇很长的文章,你通常需要分多次请求,每次生成一部分内容,然后再手动拼接。

除此之外,还有其他各种各样的问题,我就在此提一嘴。


关于联网搜索问题

API能联网搜索吗?——至少Deepseek目前没有提供能联网搜索的API,可以期待以后会不会加。

贴一个在楼下的回复:大语言模型的联网搜索和大家直觉上的“直接上网查资料”有点不一样。比如你输入给模型“帮我查查今年奥斯卡获奖名单”,表面上看像是模型自己去搜索,但实际上整个过程分两步走:首先系统会在后台执行搜索动作,把找到的网页资料、新闻摘要这些内容整理成参考资料,然后把这些资料像书本附录一样“贴”在你的问题前面。最后交给模型处理的内容更像是:“[以下是与奥斯卡相关的搜索结果:资料A说…资料B显示…]用户原话:帮我查查今年奥斯卡获奖名单”。模型其实是在阅读这些前置资料的基础上回答问题,而不是实时接触整个互联网搜索。有点像你让朋友帮忙查资料时,朋友先翻书找好相关段落再读给你听的感觉,所以和你搜索到相关资料贴在Deepseek面前给你解读是一样的效果,联网搜索只是省去了手动搜索放资料的麻烦,有一些插件是可以实现同样的效果的。


AI扫盲-模型幻觉问题

举个例子:

假设你让一个刚接触电脑的人自学装游戏,他搜到的所有教程开头都是“打开Steam平台”——久而久之,这人可能下意识觉得“玩游戏=必须用Steam”。哪天你塞给他一个Epic平台的游戏激活码,他第一反应可能还是去Steam里输代码,发现报错才懵懵地问“这软件怎么不按套路出牌啊?”

大模型的情况类似,它“自学”时看到的API文档、技术问答、甚至用户测试对话里,“OpenAI”出现的密度就像论坛里刷屏的Steam教程。如果平台不提前用系统指令给它划重点(比如声明“你是深度求索公司训练的模型”),模型自然会把最高频出现的“ChatGPT”当作默认答案,就像普通人被突然问“游戏平台”时脱口而出“Steam”一样。这时候与其纠结它“认错家门”,不如在提问时主动给它递个“身份名牌”更实在。

至于因为模型幻觉来质疑模型能力或真假的,我让Deepseek回答一下:

这个情况就像你用Steam调试游戏时突然发现角色头发颜色代码报错——有经验的玩家都知道,这八成是某款热门mod反复被引用的资源冲突了,不会因此断定显卡驱动造假。

回到安装游戏的例子,新人总往Steam输Epic激活码,其实是原始教程生态造成的路径依赖(且系统没给新手引导手册)。重点在于:当模型称自己ChatGPT时,本质上和游戏引擎报错显示“材质路径缺失”是同类现象——既不能证明显卡是水货,也不代表游戏核心玩法有缺陷,纯粹暴露了训练时接触的”开发文档”存在高度集中的素材来源。

就像你不会因为UE5素材库里自带上万个通用树木模型,就咬定用这些资源做出来的游戏都是套皮换壳。关键要看模型的原创回复能力、逻辑链条这些”核心技术指标”,至于偶尔冒出来的身份错位,只要主动挂载系统指令这个”防冲突补丁”,就跟老玩家手动调整mod加载顺序一样能解决。

说白了本质上就是个引导词的问题:

!https://img.nga.178.com/attachments/mon_202502/01/-7Q1a1-99xmKtT3cSsg-cz.jpg

This post is licensed under CC BY 4.0 by the author.