使用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

相关文章

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.

python使用try函数详解

《python使用try函数详解》Pythontry语句用于异常处理,支持捕获特定/多种异常、else/final子句确保资源释放,结合with语句自动清理,可自定义异常及嵌套结构,灵活应对错误场景... 目录try 函数的基本语法捕获特定异常捕获多个异常使用 else 子句使用 finally 子句捕获所

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

C++11右值引用与Lambda表达式的使用

《C++11右值引用与Lambda表达式的使用》C++11引入右值引用,实现移动语义提升性能,支持资源转移与完美转发;同时引入Lambda表达式,简化匿名函数定义,通过捕获列表和参数列表灵活处理变量... 目录C++11新特性右值引用和移动语义左值 / 右值常见的左值和右值移动语义移动构造函数移动复制运算符

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时