使用PAI-DSW搭建基于LangChain的检索知识库问答机器人

2024-01-10 20:04

本文主要是介绍使用PAI-DSW搭建基于LangChain的检索知识库问答机器人,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

教程简述
在本教程中,您将学习如何在阿里云交互式建模(PAI-DSW)中,基于LangChain的检索知识库实现知识问答。旨在建立一套对中文场景与开源模型支持友好、可离线运行的知识库问答解决方案。
LangChain是一个开源的框架,可以让AI开发人员将像GPT-4这样的大语言模型(LLM)和外部数据结合起来,从而在尽可能少消耗计算资源的情况下,获得更好的性能和效果。本教程启动LangChain WebUI页面,进行春节相关传统文化习俗的知识问答的示例效果如图所示。
 


基于本教程可以体验:
👍新用户可免费领取价值万元的人工智能平台PAI试用资源
👍学会如何快速在阿里云上创建一个交互式训练开发环境。
👍学会如何在DSW中安装LangChain应用以及启动WebUI。
👍学会如何在WebUI中进行知识问答。
答疑交流群
如需技术支持,请在钉钉搜索群号「 52485000325」,加入群聊
使用PAI-DSW搭建基于LangChain的检索知识库问答机器人
1准备环境和资源
1.1 领取交互式建模PAI-DSW免费试用权益
前往活动页面,领取交互式建模PAI-DSW产品免费试用资源包
 


○对于交互式建模 PAI-DSW 的新用户,阿里云提供了5000CU*H 的免费试用资源,可以在活动页面中直接领取(试用规则请参照阿里云免费试用:https://free.aliyun.com/);或可以购买交互式建模 PAI-DSW 资源包参与活动,购买链接:PAI-DSW 100CU*H资源包,价格 59 元起;如不购买资源包,PAI-DSW 会按量进行计费,计费标准详见阿里云产品定价。
1.2 创建PAI-DSW实例(需要补充)
1前往人工智能平台PAI控制台,链接:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台
2开通人工智能PAI并创建默认工作空间。请参见开通并创建默认工作空间。
3在人工智能平台PAI控制台内,选择交互式建模PAI-DSW,或点击链接
 


4 点击创建实例(如上图)
5自定义输入实例名称
 


6选择机型: 已领取免费试用权益:选择GPU规格分类下的ecs.gn6v-c8g1.2xlarge或ecs.gn7i-c8g1.2xlarge,支持资源包抵扣;此外其他机型需付费;若无库存可选择其他region尝试,或选择付费机型。未领取免费试用:可选择任意A10或V100机型,需自费。
 


7选择镜像:modelscope:1.9.1-pytorch2.0.1tensorflow2.13.0-gpu-py38-cu118-ubuntu20.04
 


8创建实例
实例状态:启动中-资源准备中-环境准备中-运行中。约需3-5分钟,当状态为“运行中”时,实例创建成功。
1.3 在DSW中打开教程文件
1打开最佳实践教程 >> 基于LangChain的检索知识库问答WebUI
2在教程右上角 点击 “在DSW中打开”
 


3选择刚刚创建好的实例
 


1.4运行教程文件
1在打开的教程文件langchain_retrieval_question_answering_webui.ipynb文件中,您可以直接看到教程文本,您可以在教程文件中直接运行对应的步骤的命令,当成功运行结束一个步骤命令后,再顺次运行下个步骤的命令。


2当第3步启动服务运行完成后,在返回的运行详情结果中单击URL链接(http://127.0.0.1:7860),进入WebUI页面。后续,您可以在该页面中进行知识问答。【说明】如果因为网络原因导致打开的WebUI页面显示空白,您可以尝试切换到其他地域或重新运行步骤1中的命令,重新打开WebUI页面。
 


2完成部署开始体验
完成以上操作后,您已经成功完成了LangChain应用的WebUI部署。您可以在WebUI页面进行知识问答。
在LangChain WebUI页面左侧请上传知识库文件区域中,已预先为您配置了知识库文件。您也可以单击请上传知识库文件上传自定义的知识库文件,支持的文件格式为.txt、.md、.docx。在WebUI页面底部请输入问题文本框中,输入业务数据相关的问题,然后单击发送按钮,就可以进行知识问答。
1.删除现有文档,上传春节相关知识库文档


2.知识库文件向量化
 


3.输入问题并发送
 


 


4在「和PAI一起,每周玩转AI」第三期:使用PAI-DSW搭建基于LangChain的检索知识库问答机器人 活动页面,上传您的对话截图,赢取精美好礼!

3资源清理及后续
3.1清理
●在实验完成后,可前往对应产品控制台,停止或删除实例(两个操作均可),避免实例持续处于运行中,在超出免费试用额度后,带来额外的扣费
 


●后续仍考虑使用该实例>>停止;后续不再使用该实例>>删除,成功停止后即停止资源消耗。
3.2后续
在试用有效期期间,您还可以继续使用DSW实例进行模型训练和推理验证。
 

这篇关于使用PAI-DSW搭建基于LangChain的检索知识库问答机器人的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/591918

相关文章

Java中流式并行操作parallelStream的原理和使用方法

《Java中流式并行操作parallelStream的原理和使用方法》本文详细介绍了Java中的并行流(parallelStream)的原理、正确使用方法以及在实际业务中的应用案例,并指出在使用并行流... 目录Java中流式并行操作parallelStream0. 问题的产生1. 什么是parallelS

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Linux kill正在执行的后台任务 kill进程组使用详解

《Linuxkill正在执行的后台任务kill进程组使用详解》文章介绍了两个脚本的功能和区别,以及执行这些脚本时遇到的进程管理问题,通过查看进程树、使用`kill`命令和`lsof`命令,分析了子... 目录零. 用到的命令一. 待执行的脚本二. 执行含子进程的脚本,并kill2.1 进程查看2.2 遇到的

详解SpringBoot+Ehcache使用示例

《详解SpringBoot+Ehcache使用示例》本文介绍了SpringBoot中配置Ehcache、自定义get/set方式,并实际使用缓存的过程,文中通过示例代码介绍的非常详细,对大家的学习或者... 目录摘要概念内存与磁盘持久化存储:配置灵活性:编码示例引入依赖:配置ehcache.XML文件:配置

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

Redis 基本数据类型和使用详解

《Redis基本数据类型和使用详解》String是Redis最基本的数据类型,一个键对应一个值,它的功能十分强大,可以存储字符串、整数、浮点数等多种数据格式,本文给大家介绍Redis基本数据类型和... 目录一、Redis 入门介绍二、Redis 的五大基本数据类型2.1 String 类型2.2 Hash