AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


《AI打工摸鱼笔记》LLM+本地知识库自动填写售前技术调研表(上)
发布日期:2024-07-29 20:37:57 浏览次数: 2010 来源:数翼


今天和大家讲一下我怎么用 LM Studio、Anything LLM、Streamlit 来实现本地的 RAG 功能, 同时让其帮自己『打工』。打工的内容我只是列举了一个简单场景,大家有类似的工作内容都可以依照 此方法来实现。

文章内容:

  • • 背景需求和设计思路

  • • Anything LLM 使用

  • • 基础版AI员工(LM Studio + Anything LLM + 知识库)

  • • 高级版AI员工(Streamlit 程序「下篇」)

介绍

LLM 大模型如今已经走进了寻常打工人的电脑上,我猜大家用的最多的功能还是在线聊天的文本生成吧。其实我们可以尽可能让AI帮我们快速完成工作,而不仅仅是把应用限制在问答上。

背景

笔者在一家软件公司任职,正常的软件售卖(合同签订之前)过程有一个「售前」的过程,

售前(Pre-sales)

大致讲一下售前是个啥。

销售售前(Pre-sales)团队在销售过程中起着关键作用。他们负责技术支持和咨询,以帮助销售团队赢得新客户和合同。售前团队的主要职责和工作内容有:

  1. 1. 需求分析:售前工程师与潜在客户合作,了解他们的业务需求和技术要求。这有助于确保提供的解决方案能准确满足客户的需求。

  2. 2. 产品演示:售前团队通常会进行产品演示,展示软件的功能和优势。这些演示通常包括现场演示、网络研讨会或产品试用,以展示产品的实际应用和效果。

  3. 3. 解决方案设计:基于客户的需求,售前团队设计定制化的解决方案。这可能包括软件配置、集成方案和功能定制,以确保产品能完全符合客户的业务流程和技术环境。

  4. 4. 技术咨询:售前工程师提供技术咨询,回答潜在客户关于产品功能、性能、兼容性等方面的问题。他们需要深入了解产品的技术细节和行业标准,以便提供准确的信息。

  5. 5. 编写技术文档:售前团队通常会编写技术文档和提案,包括解决方案建议书、白皮书、技术规格书等。这些文档帮助客户更好地理解解决方案的细节和优势。

  6. 6. 投标支持:在参与招标项目时,售前团队协助准备投标文件,确保所有技术要求和规范都得到满足。他们可能还会参与投标演示和答辩。

  7. 7. 客户培训:在客户决定购买产品后,售前团队可能会参与客户培训(小规模小范围),帮助客户熟悉和有效使用软件产品。

  8. 8. 市场调研:售前团队还需要了解市场动态、竞争产品和行业趋势,以便为公司提供市场情报和反馈,帮助改进产品和销售策略。

  9. 9. 内部协调:售前团队与销售、产品开发、客户支持等内部团队紧密合作,确保客户需求被准确传达和满足。这种协作有助于提升客户满意度和产品质量。

上面有一项技术咨询,就用到我了。

我虽然不是售前团队的,但是作为技术产品团队的一员,也经常在客户问到某些专业(也可能不是那么专业) 的技术问题,销售售前团队无法回答时,去支持一下。

常见的一个任务就是,客户给一个他们的《技术标准项》,或者《供应商产品技术调研表》这样的东西, 让我们去填写,然后由客户初步判断一下我们公司产品在技术层面和他们的匹配度。

不同客户的技术调研内容不一样,可能涉及架构、功能、安全、性能、运维等五花八门的问题。

方案

旧的工作方式

每次拿到技术调研表,当然是一条条的去写,如果之前有资料的那么就拷贝一些内容过来。

不过每家的问题组织方式都不一样,导致很多问题不能直接拷贝,还要组织语言。

新的工作方式

新的方式当然是让 AI 尽可能帮我们完成工作,我们设定初级和中级两种工作方式:

  • • 初级:输入调研表的一个问题,让AI给出答案

  • • 中级:直接把给定格式的 Excel 丢给AI程序,自动回答所有问题

由于设计到工作内容和客户隐私,这部分数据(自己公司的技术资料、客户的调研表)肯定不能放到网络上, 这样就需要本地的大模型(LLM)来支持。

实现上面的功能我们需要如下三个工具:

  • • LM Studio:本地的大模型

  • • AnythingLLM:知识库 RAG

  • • Streamlit:读取和展示 Excel 的界面工具

前面两个工具直接安装就好了,不需要编码,可以实现咱们提到的初级能力。

LM Studio

LM Studio 是一个可以让你本地运行任意大模型的工具,使用方法可以查看我的上篇文章,这里不再赘述。

  • • 《本地 LLM 可视化工具 LM Studio 突破国内网络限制使用》

Anything LLM

Anything LLM 的宣传语是 『The all-in-one AI application』, 也就是一体化的 AI 应用程序。号称支持任意大模型(LLM)任意文档任意 AI 代理完全私有。可以执行 RAG、AI 代理等功能,且无需担心代码或基础设施问题。

当然 Anything LLM 也可以为企业或组织提供完全可定制的、私有的、一体化的 AI 应用程序, 基本上是一个具有许可的完整 ChatGPT,并且具有任何 LLM、嵌入模型或矢量数据库接入的能力。

下载安装,打开可以看到程序界面:

点击设置按钮:

LLM 设置

首先设置 LLM ,我们再「大模型供应商」里面选择 「LM Studio」,以及对应的模型。

向量数据库设置

接着设置向量数据库,使用默认的 LanceDB,这样就不用安装向量数据库了。

嵌入模型

嵌入模型同样使用 LM Studio 的,前提是要在 LM Studio 先下载好嵌入模型啊。

余下的设置使用默认即可。

工作区

Anything LLM 有工作区的概念, 工作区使用允许的聊天方法设置聊天机器人的运行方式。有两个选项:

  • • 聊天:聊天机器人将回答所有问题,无论其上下文如何。

  • • 查询:聊天机器人只会响应与工作区中的文档相关的聊天。

以及这个工作区使用的 LLM 配置,

  • • 大模型是哪个(可以继承全局设置)

  • • 聊天的历史记录数

  • • 聊天系统提示词:定义 AI 生成响应的上下文和指令

  • • LLM 的温度

每个工作区有独立的向量存储和配置:

  • • 当前存储库的标识和向量数量

  • • 向量库的最大上下文片段:控制每次聊天或查询将发送到 LLM 的上下文片段的最大数量。

  • • 文档相似性阈值:文档与聊天相关所需的最低相似度分数。数字越高,来源与聊天就越相似。

我们创建一个工作区:

设置查询模式:

记得保存配置,不然不生效哦:

知识准备

我们先看一下调研表大概长什么样(内容当然是我虚构的了 ?),

上面这个调研表是用 GPT 生成的,看描述其实回答是否就行了,我们暂且那这个做例子。

为了自动填写技术调研表,肯定要有知识储备了,总不能让我们的大模型随便答吧。

我们都知道,对于大模型来说,越优秀的训练数据越能训练出高性能的大模型。对于我们的知识问答一样,知识数据的质量好坏也直接决定了我们程序给出答案的质量。

构建技术数据我们遵从如下几个原则:

  • • 数据尽量采用标题-内容的模式(问答)

    • • 当然您也可以直接使用公司内的产品设计、技术设计文档

  • • 所有数据都由人工确认

  • • 数据需要跟随使用人工增加和更新

由于基础资料不会太多,而且企业要求「不能出错」,所以人工检查和人工维护是必须的。

为了方便起见,我们每个类型维护一个 Markdown 文件。

Anything LLM 目前本地版本只支持文本格式的文件,不支持 Excel、PDF 啥的。

上传文档

我们点击工作区旁边的上传按钮:

打开上传界面之后,

  1. 1. 上传文件 it-01.md

  2. 2. 选中上传的文件

  3. 3. 点击移动到工作区按钮

然后点击保存和嵌入按钮:

AnythingLLM 就会把选择的文档构建向量(嵌入),存储到向量数据库中。

顺便提一句,AnythingLLM 也支持一些连接器,比如 Github 仓库。

文档嵌入成功之后,我们打开工作区的设置,查看「向量数据库」页签,可以看到「向量数量」发生了变化。

系统提示语

为了更好的生成答案,我们确认把聊天模式设置为「查询」,不然 LLM 回答的问题大概率和你自家的系统无关。

然后我们设置「聊天提示词」,这个根据你的需要定制,可以参考之前写的标准答案。我这里简答定制下:

你是WMS厂商的资深售前顾问,请根据上下文来回答客户关于我们产品的问题。
不仅要回答是否满足,还要回答我们如何实现的,以及有什么优势。
以如下格式来回答。

满足。我们的产品采用....

验证

为了方便起见,我们直接在系统提示词里面指定了回答产品问题,所以直接讲调研表的内容粘贴进来即可:

基本像模像样,

大模型的选择

对于本文提到的这类 RAG 问题,我觉得 7B 大小左右的大模型就足够胜任了,而且对个人电脑比较友好, 太大的一般电脑可能跑不起来了,太小的可能效果不太好(不过 7B 左右已经是PC端最小的模型了,2B 的模型一般是针对移动设备等场景的)。

我一般选用国产的模型(比如 GLM4、Qwen2、Baichuan2等), 因为国外模型(Llama3、Gemma、Phi等)训练资料库中文占比不大, 而且小尺寸也决定了其双语、多语能力不会十分出色,使用的时候会有奇奇怪怪的问题。

下一步

好了,今天就到这里。没有写一句代码,就是点点鼠标,就完成了基于知识库的技术调研问答。

现在已经可以针对技术问题一个个进行回答了(其实也可以多个问题也可以一起回答,是具体情况效果可能不一定特别好)。下一步我们使用 Streamlit 实现:输入 Excel 技术调研表,直接输出填写好的 Excel 文件。


--- END ---



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询