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

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生多模数据库 Lindorm,多引擎 多规格 0-4节点
云数据库 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
相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
缓存 物联网 PyTorch
使用TensorRT LLM构建和运行Qwen模型
本文档介绍如何在单GPU和单节点多GPU上使用TensorRT LLM构建和运行Qwen模型,涵盖模型转换、引擎构建、量化推理及LoRA微调等操作,并提供详细的代码示例与支持矩阵。
467 2
|
2月前
|
Web App开发 人工智能 自然语言处理
利用Playwright MCP与LLM构建复杂的工作流与AI智能体
本文介绍如何通过Playwright MCP与大语言模型(LLM)结合,构建智能AI代理与自动化工作流。Playwright MCP基于Model Context Protocol,打通LLM与浏览器自动化的能力,实现自然语言驱动的网页操作。涵盖环境配置、核心组件、智能任务规划、自适应执行及电商采集、自动化测试等实战应用,助力高效构建鲁棒性强、可扩展的AI自动化系统。
|
2月前
|
数据采集 存储 自然语言处理
113_数据收集:Common Crawl过滤与高质量LLM训练数据构建
在大型语言模型(LLM)的训练过程中,数据质量直接决定了模型的性能上限。即使拥有最先进的模型架构和训练算法,如果没有高质量的训练数据,也难以训练出优秀的语言模型。Common Crawl作为目前互联网上最大的公开网络爬虫数据集之一,为LLM训练提供了宝贵的资源。然而,从原始的Common Crawl数据中提取高质量的训练素材并非易事,需要经过严格的过滤和清洗。本文将全面探讨Common Crawl数据集的特性、过滤策略的设计原则、以及2025年最新的过滤技术,为构建高质量的LLM训练语料提供系统指导。
|
2月前
|
Prometheus 监控 Cloud Native
72_监控仪表盘:构建LLM开发环境的实时观测系统
在2025年的大模型(LLM)开发实践中,实时监控已成为确保模型训练效率和生产部署稳定性的关键环节。与传统软件开发不同,LLM项目面临着独特的监控挑战
|
2月前
|
监控 数据可视化 测试技术
16_LLM交互式调试:用Streamlit构建可视化工具
在大语言模型(LLM)的应用开发过程中,调试一直是一个复杂且具有挑战性的任务。传统的调试方法往往依赖于静态日志、断点调试和反复的命令行交互,这种方式在处理LLM这类黑盒模型时显得尤为低效。随着2025年LLM技术的普及和应用场景的多样化,开发人员迫切需要一种更加直观、高效的调试方式。
|
3月前
|
SQL 人工智能 监控
SLS Copilot 实践:基于 SLS 灵活构建 LLM 应用的数据基础设施
本文将分享我们在构建 SLS SQL Copilot 过程中的工程实践,展示如何基于阿里云 SLS 打造一套完整的 LLM 应用数据基础设施。
684 56
|
3月前
|
人工智能 缓存 监控
使用LangChain4j构建Java AI智能体:让大模型学会使用工具
AI智能体是大模型技术的重要演进方向,它使模型能够主动使用工具、与环境交互,以完成复杂任务。本文详细介绍如何在Java应用中,借助LangChain4j框架构建一个具备工具使用能力的AI智能体。我们将创建一个能够进行数学计算和实时信息查询的智能体,涵盖工具定义、智能体组装、记忆管理以及Spring Boot集成等关键步骤,并展示如何通过简单的对话界面与智能体交互。
952 1
|
3月前
|
人工智能 监控 测试技术
告别只会写提示词:构建生产级LLM系统的完整架构图​
本文系统梳理了从提示词到生产级LLM产品的八大核心能力:提示词工程、上下文工程、微调、RAG、智能体开发、部署、优化与可观测性,助你构建可落地、可迭代的AI产品体系。
509 51
|
3月前
|
人工智能 Java API
构建基于Java的AI智能体:使用LangChain4j与Spring AI实现RAG应用
当大模型需要处理私有、实时的数据时,检索增强生成(RAG)技术成为了核心解决方案。本文深入探讨如何在Java生态中构建具备RAG能力的AI智能体。我们将介绍新兴的Spring AI项目与成熟的LangChain4j框架,详细演示如何从零开始构建一个能够查询私有知识库的智能问答系统。内容涵盖文档加载与分块、向量数据库集成、语义检索以及与大模型的最终合成,并提供完整的代码实现,为Java开发者开启构建复杂AI智能体的大门。
1481 58