
了解更多
在这个简短的教程中,我们将使用 Relevance AI、Redis VSS、OpenAI GPT 和 Cohere Wikipedia 嵌入来创建一个链。
使用大型语言模型 (LLM) 通常需要检索正确的数据作为上下文注入到提示中。这样做是为了让 LLM 理解您的自定义数据,而无需对模型进行微调。检索数据的常用策略是使用向量搜索,因为它在匹配相似数据(无需完全匹配)方面非常出色。Redis 原生支持 向量相似性搜索,并且专为速度而打造。
在本例中,我们将展示如何在 Relevance AI 中构建和部署一个链(或一系列操作),该链允许我们使用 Redis 向量搜索向维基百科提问,并根据我们的问题提取最佳文章。对于嵌入(即可以表示多种类型数据的数字列表),我们使用 Cohere 的多语言模型。
要跟着操作,您需要一个支持 JSON 文档数据结构和内置实时搜索和查询功能的 Redis 数据库。您可以在 Redis Enterprise Cloud 上或使用 Docker 通过 Redis Stack 创建一个。
在 Redis 运行后,我们从 HuggingFace 上的 Cohere 多语言 维基百科嵌入数据集 导入数据。这需要几个简单的步骤。您可以在此 Jupyter Notebook 中查看完整代码。
步骤 1. 安装 Redis 和数据集的 Python 库。
pip install redis datasets
步骤 2. 创建一个客户端。
import redis
redis_client = redis.from_url('redis://connection-string')
步骤 3. 下载示例数据集。
from datasets
import load_dataset
docs = load_dataset(
"Cohere/wikipedia-22-12-simple-embeddings", split="train"
)
步骤 4. 使用 JSON 将每个文档导入到 Redis 中。
pipe = redis_client.pipeline()
index = 0
for doc in docs:
pipe.json().set(f"wiki:{doc['id']}", '$', doc)
if index % 500 == 0:
pipe.execute()
index += 1
pipe.execute()
步骤 5. 创建一个向量搜索索引。
redis_client.execute_command("FT.create wikipedia ON JSON PREFIX 1 wiki: SCHEMA $.id AS id NUMERIC $.title AS title TEXT $.text AS text TEXT $.wiki_id as wiki_id NUMERIC $.views as views NUMERIC $.emb as emb VECTOR HNSW 6 DIM 768 DISTANCE_METRIC L2 TYPE FLOAT32")
此命令指定索引 Wikipedia,该索引以 JSON 格式存储数据,其中所有键都以 wiki: 为前缀进行索引。在 Schema 中,我们将 JSON 中的每个字段引用为 $.field_name,并使用 as name 赋予它一个友好的标签及其数据类型。向量字段 emb 的类型为 vector,并使用 HNSW 作为索引类型,L2 作为距离指标。
命令运行后,您将拥有一个支持向量相似性搜索的 Redis 索引。
请参阅文档,了解更多关于 如何在 Redis 中设置索引 的详细信息。
现在,是时候进入 Relevance AI Notebook 开始构建我们的链了。
步骤 1. 如有必要,注册 Relevance AI 免费账户。登录后,选择“Build AI chains”(构建 AI 链)并点击“Create new chain”(创建新链)。这将带您进入一个 Notebook。
步骤 2. 在执行链之前,您需要配置 OpenAI API 密钥和 Redis 连接字符串。为此,请从侧边栏选择“API keys”(API 密钥),然后提供您的 Redis 连接字符串和 OpenAI API 密钥。
步骤 3. 选择“Start with prompt”(从提示开始)。添加一个新的“Vector search (Redis)”(向量搜索 (Redis))转换。填写以下详细信息
步骤 4. 配置 LLM 提示,注入向量搜索的上下文并提出您的问题。您可以根据需要自定义提示。
这里的目的是帮助人们查询海量信息。假设您正在思考您最喜欢的 Bob Dylan 歌曲“Stuck Inside of Mobile”,并且想知道“是谁弹奏了那些极富感染力的吉他即兴演奏?”通过我们的 LLM 链,您可以轻松地向注入了 AI 的维基百科搜索提出这个问题,它会迅速返回您的答案。(我们将非注入 AI 的搜索留给普通观察者,这也许能说明这种工具的有用性。)
这不仅仅是技术上的炫技;它关乎以闪电般的速度丰富您的理解并满足您的好奇心。就像一位乐于一边喝咖啡一边分享琐事的博学朋友一样,我们的 LLM 链随时准备与您对话,为您的知识搜索增添个性化触感。
在 Relevance AI 中,链可以通过两种方式部署:作为可嵌入的应用或作为 API 端点。应用也可以通过链接直接共享,用户可以在链接中看到表单、填写并运行链。这些现在已可用于生产环境。
想进行更多实验或试用 SDK 吗?您可以查看有关构建业务分析师代理的技术教程,该代理可以查询 SQL、创建图表和回答问题。
立即注册 Redis Enterprise Cloud 和 Relevance AI,开始构建您自己的由向量搜索支持的检索系统。
加入我们,于 2023 年 6 月 3 日在旧金山现场参加一场为期 12 小时的 LLM 黑客马拉松,与 MLOps 社区一起体验 Redis 和 Relevance AI。与其他机器学习从业者协作,赢取奖品。