在此示例中,我们将了解如何在 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: 设置先决条件
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要求</