基于 Hologres 向量计算与大模型免费定制专属聊天机器人
简介:本文为您介绍如何基于 Hologres 向量计算能力,结合大模型的阅读理解和信息整合能力,对该垂直行业的问题提供更贴切的回答,即费、快速定制专属聊天机器人。
背景信息
大模型可以广泛应用于各行各业。使用大模型定制聊天机器人,除了训练大模型的方式外,还可以使用提示词微调(Prompt-tuning)的方法,在提问时提供特定行业的相关语料,结合大模型的阅读理解和信息整合能力,对该垂直行业的问题提供更贴切的回答。
Hologres 是一站式实时数仓引擎,与达摩院自研高性能向量计算软件库 Proxima 深度整合,支持高效、易用的向量计算能力,详情请参见Proxima向量计算。
可以将 Hologres 作为向量实时存储和检索引擎,把定制语料作为向量存储并输出给大模型,最终实现定制聊天机器人的快速搭建。
前提条件
已有大模型:本文适用于各种大模型。
已开通 Hologres 实例:您可以使用 Hologres 免费试用实例,0 元搭建向量数据库,详情请参见新用户免费试用。
说明 :建议使用 Hologres 8CU 规格,免费试用实例处理的向量数据规模为百万级。如有更大规模向量数据,请使用更大规格实例。
已安装 Anaconda,详情请参见Anaconda。
实践步骤
1.环境准备。
使用Anaconda环境运行如下命令安装相关依赖:
准备大模型:本文以支持通过 API 访问的大模型为例,您需要准备大模型 API 访问密钥。
单击代码与样例数据或运行如下命令克隆本文所需代码与样例数据:
说明: 如果通过下载链接下载的代码与样例数据,使用前请进行解压。如果使用如下代码克隆代码与样例数据,请在使用前下载Git。
2.大模型试用。
先试用原生大模型,针对部分 Hologres 相关的专业问题进行问答。
a. 在 holo-chatbot/chatbot.py 代码的 main 函数(107 行)中,修改 chat_model_name 为您想使用的大模型,示例代码如下:
****说明 ****:您可以使用任意 LangChain 支持的大模型,详见LangChain chat models,也可 以为其他大模型实现相应的接口后进行调用。
b. 使用如下命令进入大模型:
说明 :首次使用会自动下载 Embedding 模型(约 400 MB),需要较长时间,第二次调用则不需要此过程。
c. 提问问题及大模型对应回答如下:
3.Hologres 向量数据准备。
a. 在 Hologres 中创建数据库,详情请参见创建数据库。
b. 完善连接信息。
运行如下命令打开设置向导,并填写连接信息。后续您也可以手动修改 config/config.yaml 文件来更新连接信息。
连接信息:
c. 准备语料库。
本文以下载的代码与样例数据中 data 目录下的 example_data.csv 文件为例。
语料库文件需要使用 CSV 格式文件,并包含 title 和 content 两列。
本文将 Hologres 部分用户文档作为语料,内容示例如下。您也可以按照示例文件格式自定义语料库。
语料数据向量化并导入 Hologres:
运行如下命令将语料数据转化为向量(Text Embedding),并写入 Hologres。
说明 :本文使用达摩院在魔搭平台的 CoRom 开源中文 embedding 模型,将语料转换为 768 维的向量数据,详情请参见coROM。
您可以在 Hologres 的 langchain_pg_embedding 表中查询转化后的向量数据:
4.大模型和语料库效果验证。
将上文语料库对应的向量数据输入给大模型进行提示词微调,运行如下命令进入大模型再询问其相同的问题。
问题一:相较于原生大模型,经语料库优化后的回答可以总结出 Hologres 更丰富更准确的优势。
问题二:优化后的大模型已经可以理解 Hologres 加速查询 JSONB 类型的核心信息,并将版本信息、原理等内容总结得较为完整。
问题三:优化后的大模型可以很好地将列存理解为列式存储优化,并完整总结 JSONB 列存原理。
可见经过优化,大模型在 Hologres 专业领域的回答已经非常准确。
5.(可选)聊天机器人接入钉钉群聊。
聊天机器人可以接入钉钉群聊,您也可以仿照 dingding_server.py 中的方式将 Chatbot 接入其他服务。
a. 打开钉群,添加自定义机器人,详情请参见自定义机器人接入。
其中安全设置选择加签并打开 Outgoing 机制,在其中填入您部署大模型定制聊天机器人服务器的 IP 和任意 Token。将 Webhook 中的 access_token 和 secret 作为环境变量 DINGDING_TOKEN 和 DINGDING_SECRET 输入到连接信息(config/config.yaml)中。
b. 使用如下命令在服务器上部署 HTTP 服务。
c. 接入钉钉群聊,开始聊天。
您可以在钉钉群聊中 @聊天机器人,开始聊天。
Hologres 5000CU 时,20GB 存储免费试用, 前往试用>>
了解 Hologres: https://www.aliyun.com/product/bigdata/hologram
版权声明: 本文为 InfoQ 作者【阿里云大数据AI技术】的原创文章。
原文链接:【http://xie.infoq.cn/article/c903a4d0cf7341c113433c8f7】。文章转载请联系作者。
评论