写给工程师的 MacBook 商用级大模型知识库部署方案(下)

简介: 写给工程师的 MacBook 商用级大模型知识库部署方案(下)

写给工程师的 MacBook 商用级大模型知识库部署方案(中):https://developer.aliyun.com/article/1443297



如果能出现下图结果,说明 pgvector 已经安装成功:


  • 搭建 FastGPT 知识库问答系统


好,我们的主角终于上场了,下面有请 FastGPT,安装指南见:https://doc.fastgpt.in/docs/development/intro/

第一步,按照里面的步骤,配置 .env.local 文件内容,指定 One API、MongoDB 和 PostgreSQL 的访问地址:

这里的 CHAT_API_KEY 填入上面 OneAPI 创建的令牌

第二步,在 config.local.json 里面注册对话模型和向量嵌入模型,注意这里的 model 值要和 One API 里配置的保持一致:


第三步,安装 Node.js 依赖并以开发模式启动:

# 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
pnpm i
# 切换到应用目录
cd projects/app
# 开发模式运行
pnpm dev


第四步,访问本地 FastGPT 地址 http://localhost:3000/,如果能顺利登录,则搭建成功。

  • 验证模型对话能力


创建一个应用:


应用创建完成,进入对话界面,注意 AI 模型选择我们在 One API 里配置的 ChatGLM3。试着问他两个问题,可以看到推理速度还是很快的,分别是 5.83s、7.52s:


点开单条对话响应,详细的对话参数(消耗 token、响应时长、计费信息)清晰可见:


查看 MacBook 上的 ChatGLM3 推理资源占用情况,占用了 3.78GB 内存


知识库问答实战


 准备知识库语料


在有知识库使用诉求的场景,我们一般都积累了比较多的私有知识数据,比如:语雀文档、钉钉文档、PDF、Office文件等,视知识识图的建设标准,需要将它们一一结构化整理。数据的梳理、清洗、结构化是一项繁杂而重要的工作,但也有比较成熟的办法和工具,在此不再赘述。


 导入知识库数据


FastGPT 提供了很多种原始数据导入的办法,并且为了更好地和企业系统集成,FastGPT 支持通过 API 的方式地二次开发导入能力,支持和已有知识管理系统更好地自动化集成。常见的导入方法有:

  1. 导入数据方案1 - 直接分段导入:直接分段会利用句子分词器对文本进行一定长度拆分,可以理解为原始文档 Chunk。
  2. 导入数据方案2 - QA导入:导入时会调用大模型对分段进行学习,然后直接生成问题-答案。
  3. 导入数据方案3 - 手动录入:手动录入问题和答案。
  4. 导入数据方案4 - CSV录入:批量快速录入问题答案对。
  5. 导入数据方案5 - API导入,详见:OpenAPI 接口文档(地址:https://doc.fastgpt.in/docs/development/openapi/#%E7%9F%A5%E8%AF%86%E5%BA%93%E6%B7%BB%E5%8A%A0%E6%95%B0%E6%8D%AE

我们先简单地录入几个问题和答案,然后后面快速验证 RAG 效果。

新建一个知识库,注意,索引模型一旦选择不可更改。这里我们选择刚部署好的 m3e-base 进入知识库初始界面,已经默认有了一个“手动录入”文件夹,我们在这里录入几条测试问答


录入内容分两种类型,其中:被搜索的内容指将被向量化的部分,通常是问题,或者精炼扼要的描述,需要准确填写


  • 验证知识库问答效果


重新打开应用,关联刚才创建好的知识库(注意这里一定要保证才会生效),问他一个简单的问题,回答的质量看起来还可以。

问:简单说一下商家共振模型是个啥呗?

答:商家共振模型是一种商业策略和运营模式,旨在促进商家和平台之间的合作关系,同时提高用户的粘性和平台的影响力。这个模式通过激励商家在站内和站外进行投放活动,帮助商家获得更多的流量和销售机会,从而促进商家的生意增长。同时,这个模式也能够扩大平台的规模和影响力,增加商家对平台的依赖性和忠诚度。总的来说,商家共振模型是一种有效的商业策略和运营模式,对于猫超等平台来说是一个不错的选择。



点击答案中的“1条引用”,还可以看到答案的出处来源:


至此,我们就完成了一个简单的知识库构建和应用的过程,也验证了整套本地知识库方案的可行性。



未来展望


串通了整个知识库应用流程,我们完成了从0到1的起步。虽然整体应用架构是按实际商用标准来搭建的,但要想使用效果也达到工业级别的标准,还有很多工作值得进一步探索,包括但不限于:

1️⃣ 大模型应用层面:

1、更好的文档 Chunk、Embedding、多路加权平均搜索召回方案,提升 RAG 整体效能

2、更好的 Prompt Engineering,充分挖掘 LLM 的潜力

3、工作流编排、CoT、Agent,满足实际的企业应用需求

2️⃣ 稳定性层面:如果达到商用级别,需要更高配置的软硬件环境

3️⃣ 落地价值层面:从解决身边的问题开始,解决真金白银的商业问题



希望本文能给每位计划自己搭建大模型知识库应用的工程师一点参考,动手跑通一个程序的乐趣是无穷的,更多的实操作经验分享,我们在评论区交流。


团队介绍

我们是淘天渠道分销技术团队,负责淘天全渠道一盘货产品技术研发。我们通过用技术手段解决电商多段销售中的多角色商业往来问题,构建了灵活的新零售供应链分销产品平台,致力于为商家提供多元化的供给和销售渠道、助力商家在全平台取得更高的成交额。

长期招募人才,欢迎投递简历:xieyi.xie@alibaba-inc.com

目录
相关文章
|
2月前
|
数据可视化 安全 关系型数据库
写给工程师的 MacBook 商用级大模型知识库部署方案(上)
写给工程师的 MacBook 商用级大模型知识库部署方案(上)
217 2
|
5天前
|
机器人 Linux API
基于Ollama+AnythingLLM轻松打造本地大模型知识库
Ollama是开源工具,简化了在本地运行大型语言模型(ile优化模型运行,支持GPU使用和热加载。它轻量、易用,可在Mac和Linux上通过Docker快速部署。AnythingLLM是Mintplex Labs的文档聊天机器人,支持多用户、多种文档格式,提供对话和查询模式,内置向量数据库,可高效管理大模型和文档。它也是开源的,能与Ollama结合使用,提供安全、低成本的LLM体验。这两款工具旨在促进本地高效利用和管理LLMs。
139113 23
|
13天前
|
JavaScript Linux 数据安全/隐私保护
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
如何在CentOS7部署Wiki.js知识库并实现分享好友公网远程使用【内网穿透】
|
1月前
|
人工智能 自然语言处理 搜索推荐
|
1月前
|
存储 Linux 测试技术
【Docker项目实战】使用Docker部署Raneto知识库平台
【2月更文挑战第11天】使用Docker部署Raneto知识库平台
71 2
【Docker项目实战】使用Docker部署Raneto知识库平台
|
2月前
|
NoSQL 关系型数据库 API
写给工程师的 MacBook 商用级大模型知识库部署方案(中)
写给工程师的 MacBook 商用级大模型知识库部署方案(中)
113 0
|
消息中间件 JavaScript 前端开发
前端基础知识库-事件循环
众所周知JavaScript是个单线程的语言,但是为了能更快更好的处理程序,JavaScript有一个基于事件循环的并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。这个模型也是JavaScript异于其他语言(c java等)处理并发任务之处。本篇也是我在工作学习中自己对JavaScript事件循环的理解,下面我们一起来了解下JavaScript中事件循环是如何执行的。
|
存储 安全 前端开发
前端知识库-前端安全系列二(同源策略)
在我们日常开发中在与后台联调的时候是不是会经常遇到CORS错误,作为一名前端开发大家应该都知道这个事浏览器同源策略导致的,如何解决这个问题相信大家都有自己团队的方法。如有不了解的可以看下我之前总结过文章跨域解决方案,本文主要来分析下跨域的原因,以及跨域涉及到的API。
|
存储 Web App开发 JavaScript
前端知识库-前端安全系列一(攻防)
最近重新整理了下自己的前端相关知识,在前端安全这个领域由于最近两年做的事内部项目,对此没有太多的实际应用,借此机会重新去了解下,俗话说温故而知新,从故有的知识中总结获取新的知识才是我们进步的基础。
|
前端开发 JavaScript C++
前端知识库Reactjs进阶系列(组件的加载过程)
最近在项目中遇到react的组件多次渲染的问题,最后虽然顺利解决了但也同时发现了自己对于react生命周期的不熟悉,于是便找出react的文档重新去了解下,重新学习之后总结为以下两个主要知识点:react组件的整个渲染流程 react组件更新的注意点。

热门文章

最新文章