构建LangChain应用程序的示例代码:47、使用MongoDB和LangChain为RAG应用添加语义缓存和记忆功能

在此示例中,我们将了解如何在 RAG 应用程序中使用新的 MongoDBCache 和 MongoDBChatMessageHistory。

步骤1: 安装所需库

  • datasets: 用于访问Hugging Face Hub上可用数据集的Python库
  • langchain: LangChain的Python工具包
  • langchain-mongodb: 在LangChain中使用MongoDB作为向量存储、语义缓存、聊天历史存储等的Python包
  • langchain-openai: 在LangChain中使用OpenAI模型的Python包
  • pymongo: MongoDB的Python工具包
  • pandas: 用于数据分析、探索和操作的Python库
! pip install -qU datasets langchain langchain-mongodb langchain-openai pymongo pandas

步骤2: 设置先决条件

  • 设置MongoDB连接字符串。按照这里的步骤从Atlas UI获取连接字符串。

  • 设置OpenAI API密钥。获取API密钥的步骤在这里

import getpass

# 导入getpass模块用于安全输入密码

MONGODB_URI = getpass.getpass("输入你的MongoDB连接字符串:")
# 安全地输入MongoDB连接字符串

OPENAI_API_KEY = getpass.getpass("输入你的OpenAI API密钥:")
# 安全地输入OpenAI API密钥

# 可选 -- 如果你想启用Langsmith -- 对调试很有帮助
import os

os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = getpass.getpass()
# 设置Langsmith环境变量

步骤3: 下载数据集

我们将使用MongoDB的embedded_movies数据集

import pandas as pd
from datasets import load_dataset

# 导入pandas和datasets库

# 确保你的开发环境中有HF_TOKEN:
# 访问令牌可以在Hugging Face平台上创建或复制 (https://huggingface.co/docs/hub/en/security-tokens)

# 从Hugging Face加载MongoDB的embedded_movies数据集
# https://huggingface.co/datasets/MongoDB/airbnb_embeddings

data = load_dataset("MongoDB/embedded_movies")
# 加载数据集

df = pd.DataFrame(data["train"])
# 将数据集转换为pandas DataFrame

步骤4: 数据分析

确保数据集长度符合预期,删除空值等。

# 预览数据内容
df.head(1)

# 只保留fullplot字段不为空的记录
df = df[df["fullplot"].notna()]

# 将嵌入字段重命名为"embedding" -- LangChain要求</
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hugo_Hoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值