链载Ai

标题: 《AI打工摸鱼笔记》LLM 本地知识库自动填写售前技术调研表(上) [打印本页]

作者: 链载Ai    时间: 昨天 10:51
标题: 《AI打工摸鱼笔记》LLM 本地知识库自动填写售前技术调研表(上)

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;margin: 1em 8px;letter-spacing: 0.1em;color: rgb(33, 37, 41);padding: 8px 12px;background: rgba(237, 242, 255, 0.8);border-radius: 8px;">今天和大家讲一下我怎么用 LM Studio、Anything LLM、Streamlit 来实现本地的 RAG 功能, 同时让其帮自己『打工』。打工的内容我只是列举了一个简单场景,大家有类似的工作内容都可以依照 此方法来实现。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;margin: 1em 8px;letter-spacing: 0.1em;color: rgb(33, 37, 41);padding: 8px 12px;background: rgba(237, 242, 255, 0.8);border-radius: 8px;">文章内容:

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 20px;font-weight: bold;display: table;margin: 2em auto 1.5em;padding-top: 6px;padding-bottom: 6px;padding-left: 16.75px;background-image: linear-gradient(135deg, rgb(113, 23, 234), rgba(113, 23, 234, 0.667), rgba(234, 96, 96, 0.533), rgba(217, 57, 205, 0.267), rgba(217, 57, 205, 0));background-position: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;color: rgb(255, 255, 255);border-radius: 8px;width: 318.25px;">介绍

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;margin: 1em 8px;letter-spacing: 0.1em;color: rgb(33, 37, 41);padding: 8px 12px;background: rgba(237, 242, 255, 0.8);border-radius: 8px;">LLM 大模型如今已经走进了寻常打工人的电脑上,我猜大家用的最多的功能还是在线聊天的文本生成吧。其实我们可以尽可能让AI帮我们快速完成工作,而不仅仅是把应用限制在问答上。

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;margin: 1.5em 8px;color: rgb(63, 63, 63);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;border-radius: 8px;display: block;margin: 0.1em auto 0.5em;border-width: 0px;border-style: solid;border-color: initial;height: auto !important;" title="null" src="https://api.ibos.cn/v4/weapparticle/accesswximg?aid=86529&url=aHR0cHM6Ly9tbWJpei5xcGljLmNuL21tYml6X3BuZy9hZzdaM2RDcTdMazNpYmJ1MWdkeU1xWTZEUGpvazVnR3ZYVks2RzRYZkw5b1JJQ1p2d1Vib1g0cnEwTG5JQmhIV0tpYjB3MFk5UkNqd3FtUjB5bFZYNFN3LzY0MD93eF9mbXQ9cG5nJmFtcA==;from=appmsg"/>

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 20px;font-weight: bold;display: table;margin: 2em auto 1.5em;padding-top: 6px;padding-bottom: 6px;padding-left: 16.75px;background-image: linear-gradient(135deg, rgb(113, 23, 234), rgba(113, 23, 234, 0.667), rgba(234, 96, 96, 0.533), rgba(217, 57, 205, 0.267), rgba(217, 57, 205, 0));background-position: initial;background-size: initial;background-repeat: initial;background-attachment: initial;background-origin: initial;background-clip: initial;color: rgb(255, 255, 255);border-radius: 8px;width: 318.25px;">背景

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;margin: 1em 8px;letter-spacing: 0.1em;color: rgb(33, 37, 41);padding: 8px 12px;background: rgba(237, 242, 255, 0.8);border-radius: 8px;">笔者在一家软件公司任职,正常的软件售卖(合同签订之前)过程有一个「售前」的过程,

ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 15px;font-weight: bold;margin: 2em 8px 0.75em;border-left: 5px solid rgb(161, 27, 218);color: rgb(63, 63, 63);padding: 6px 8px;">售前(Pre-sales)

大致讲一下售前是个啥。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

方案

旧的工作方式

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

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

新的工作方式

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

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

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

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

LM Studio

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 配置,

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

我们创建一个工作区:

设置查询模式:

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

知识准备

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

上面这个调研表是用 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 ---







欢迎光临 链载Ai (https://www.lianzai.com/) Powered by Discuz! X3.5