基于LLM+Tair构建具备私域知识的专属Chatbot

本文涉及的产品
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: ChatGPT因为之前的一个故障,使我们得以一窥内部架构,其使用了Redis作为ChatGPT的Cache系统。Tair是企业版的内存数据库系统,兼容Redis生态,并且也提供了向量检索的能力,是阿里云上Redis的平替。本服务基于开源的langchain-ChatGLM实现,借助Tair的高性能内存引擎和向量索引能力,实现了“企业私域数据”的理解问答,以帮助企业快速构建专属Chatbot服务;并实现了对用户长Session聊天历史记录缓存,以摆脱LLM的Token数限制。模型ChatGLM-6B是由清华大学团队开发的是一个开源的、支持中英双语的对话语言模型,请自觉遵守用户协议、法律法规等。

Tair+大模型

OpenAI / ChatGPT之前出过一个故障(因为redis-py的问题,导致用户可以看到其他用户的聊天信息),使得大家知道了ChatGPT也深度使用了Redis。Tair是阿里云的企业版内存数据库,100%兼容Redis生态,可平替Redis,并且提供了灵活、易用的向量检索能力,支持embedding向量的实时读写,并且具备高性能、低门槛等优势。通过向量检索,可以从用户的会话历史和私有知识库中,找到跟问题相关度最高的内容,构建出更加精确的提示词,再结合LLM的已有知识、推断、概括等能力,使模型能够产出更准确的回答。Tair已经整合进了langchain、llama_index等热门开源项目,开箱即用,助力用户构建具备私域知识库的Chatbot。

以上两种使用方式可以组合使用,并不相互冲突。

服务介绍

集成计算巢,通过对Langchain+ChatGLM + Tair 快速部署,可以一键拉起定制化Chatbot服务,主要实现了“企业私域数据”的理解问答以及带Session会话两个功能。

依赖资源:ECS + 云原生内存数据库Tair

截屏2023-06-19 上午11.19.02.png

一键拉起Chatbot服务

1、访问 创建服务实例页面,https://computenest.console.aliyun.com/user/cn-hangzhou/serviceInstanceCreate?ServiceId=service-e0d7fd4e157d49119f47

有任何疑问可以加入文章下方提供的钉钉支持群。

2、创建服务实例

  • 资源组和地域:
  • 地域:目前支持北京、张家口、杭州、上海、深圳
  • 付费类型配置:
  • 付费类型:分为按量付费、包年包月,设定后ECS与Tair实例的付费类型相同
  • ECS实例配置
  • 实例类型:对应ECS规格
  • 实例密码:登录ECS实例的密码
  • 模型配置:
  • Tair:

3、确认订单及创建

         点击下方的【立即创建】

实例管理

1、点击【服务实例管理】可以查看正在创建的实例,整个创建周期大概在30min左右,主要耗时在下载ChatGLM-6B模型。

image.png

2、点击上方的红色框进入实例的【资源】界面

服务首先会自动创建VPC、VSwitch、安全组基本资源,然后会创建指定规格的Tair实例,最后会创建ECS实例,创建ECS完成后,会下载您指定ChatGLM-6B模型。

点击图中的相关链接可以跳转到不同的资源详情界面查询详情信息。

使用Chatbot服务

待实例创建完成后,便可以访问该服务了。

1、获取服务登录域名,

如下图所示,Endpoint即是外网的登录域名。

image.png

2、登录专属Chatbot服务。

需要输入创建时模型配置模块的软件登录名及登录密码

3、服务主页面


4、知识库问答

将用户"私域数据"存储在Tair中,利用Tair向量检索能力,检索出私域数据中和用户问题相关性最强的几条数据,然后prompt提交给大模型。

注:目前仅支持txt文本格式文件

截屏2023-06-26 下午6.12.52.png

5、带Session的对话

将用户的历史问题编码成向量存储Tair中,可以让大模型拥有短暂的记忆。本服务中实现的Demo所有Session都存储在一个索引中,且5分钟后没有任何访问会自动删除索引数据,如果有定制化需求,可以为每个用户分配不同的索引,该功能目前会持续探索。Tair本身是Schema-Free,使用便捷、灵活,无需进行复杂的配置,相信我们可以一起探索更多的使用场景,有任何需求或疑问请加入下放提供的钉钉支持群。

常见问题

1、快速登录Tair实例,运行向量相关命令?

向量相关命令请参考:https://help.aliyun.com/document_detail/453885.html

可以使用redis-cli登录实例,在部署大模型的ECS机器上已经安装好。

在上文的【实例管理】模块中有【资源】,点击ECS的资源ID,可以进入ECS实例详情页面。

在首次登录ECS机器是需要设置白名单安全组,根据图中提示,复制图中IP。

在【安全组】页面,点击【安全组ID】进入页面后点击【快速添加】,端口范围设置SSH(22),授权对象拷贝刚才复制的IP,再次重新登录实例即可

执行如下命令便可以登录Tair实例

2、Session索引过期删除机制?

使用了Tair中的expire/ttl机制,在创建完向量索引后,直接对向量索引设置 expire,每次有查询后,重新设置expire。

如果对Tair缓存大模型Session机制感兴趣,可以加入支持群,我们一起探索更多的使用场景。

支持群

  • 您在使用时有任何问题可以搜钉钉群:31520029139
  • 钉钉群.jpg
相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
30天前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
226 2
|
15天前
|
JSON 数据可视化 NoSQL
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
本文介绍了LangChain的LLM Graph Transformer框架,探讨了文本到图谱转换的双模式实现机制。基于工具的模式利用结构化输出和函数调用,简化了提示工程并支持属性提取;基于提示的模式则为不支持工具调用的模型提供了备选方案。通过精确定义图谱模式(包括节点类型、关系类型及其约束),显著提升了提取结果的一致性和可靠性。LLM Graph Transformer为非结构化数据的结构化表示提供了可靠的技术方案,支持RAG应用和复杂查询处理。
59 2
基于LLM Graph Transformer的知识图谱构建技术研究:LangChain框架下转换机制实践
|
30天前
|
存储 人工智能 算法
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
为了帮助更多人掌握大模型技术,尼恩和他的团队编写了《LLM大模型学习圣经》系列文档,包括《从0到1吃透Transformer技术底座》、《从0到1精通RAG架构,基于LLM+RAG构建生产级企业知识库》和《从0到1吃透大模型的顶级架构》。这些文档不仅系统地讲解了大模型的核心技术,还提供了实战案例和配套视频,帮助读者快速上手。
精通RAG架构:从0到1,基于LLM+RAG构建生产级企业知识库
|
8天前
|
缓存 NoSQL 数据库
运用云数据库 Tair 构建缓存为应用提速,完成任务得苹果音响、充电套装等好礼!
本活动将带大家了解云数据库 Tair(兼容 Redis),通过体验构建缓存以提速应用,完成任务,即可领取罗马仕安卓充电套装,限量1000个,先到先得。邀请好友共同参与活动,还可赢取苹果 HomePod mini、小米蓝牙耳机等精美好礼!
|
24天前
|
机器学习/深度学习 数据采集 人工智能
文档智能和检索增强生成(RAG)——构建LLM知识库
本次体验活动聚焦于文档智能与检索增强生成(RAG)结合构建的LLM知识库,重点测试了文档内容清洗、向量化、问答召回及Prompt提供上下文信息的能力。结果显示,系统在自动化处理、处理效率和准确性方面表现出色,但在特定行业术语识别、自定义向量化选项、复杂问题处理和Prompt模板丰富度等方面仍有提升空间。
64 0
|
2月前
|
Cloud Native 关系型数据库 Serverless
基于阿里云函数计算(FC)x 云原生 API 网关构建生产级别 LLM Chat 应用方案最佳实践
本文带大家了解一下如何使用阿里云Serverless计算产品函数计算构建生产级别的LLM Chat应用。该最佳实践会指导大家基于开源WebChat组件LobeChat和阿里云函数计算(FC)构建企业生产级别LLM Chat应用。实现同一个WebChat中既可以支持自定义的Agent,也支持基于Ollama部署的开源模型场景。
389 18
|
30天前
|
机器学习/深度学习 数据采集 人工智能
大模型体验报告:阿里云文档智能 & RAG结合构建LLM知识库
大模型体验报告:阿里云文档智能 & RAG结合构建LLM知识库
|
2月前
|
人工智能 自然语言处理 API
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
我们小时候都玩过乐高积木。通过堆砌各种颜色和形状的积木,我们可以构建出城堡、飞机、甚至整个城市。现在,想象一下如果有一个数字世界的乐高,我们可以用这样的“积木”来构建智能程序,这些程序能够阅读、理解和撰写文本,甚至与我们对话。这就是大型语言模型(LLM)能够做到的,比如 GPT-4,它就像是一套庞大的乐高积木套装,等待我们来发掘和搭建。
103 1
|
1月前
|
数据采集 存储 自然语言处理
快速构建企业智能门户,销售额倍增,人才触手可及 - 爬虫 + RAG + LLM
本文介绍了一款基于大模型的智能企业门户接待系统,旨在通过先进的AI技术,实现企业网站信息的自动化处理与响应,提高客户支持、产品推荐和人才招聘的效率。系统利用爬虫技术自动提取公司官网信息,结合语音识别、大模型生成等技术,支持语音和文本输入,通过RAG(检索增强生成)方式生成精准回答,并支持语音播报,提供类似真人的接待体验。项目涵盖了环境准备、数据构建、代码实现、测试调优、部署等多个阶段,详细记录了开发过程中遇到的问题及解决方案,展示了系统在咨询公司信息、产品询问及招聘岗位咨询等场景下的应用潜力。未来计划在数据类型支持、会话记忆、并发处理、语音合成等方面进一步优化,以提升用户体验和服务质量。
|
6月前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
542 1