使用Langchain、AnalyticDB和OpenAI进行问答
本笔记本展示了如何使用Langchain、AnalyticDB作为知识库和OpenAI嵌入来实现一个问答系统。如果您对AnalyticDB不熟悉,最好先查看Getting_started_with_AnalyticDB_and_OpenAI.ipynb笔记。
本笔记本展示了一个端到端的流程: - 使用OpenAI API 计算嵌入。 - 将嵌入存储在AnalyticDB实例中以构建知识库。 - 将原始文本查询转换为嵌入,使用OpenAI API。 - 使用AnalyticDB在创建的集合中执行最近邻搜索,以找到一些上下文。 - 请求LLM在给定上下文中找到答案。
所有步骤将简化为调用一些相应的Langchain方法。
先决条件
为了完成这个练习,我们需要准备一些东西: - AnalyticDB 云实例。 - Langchain 作为框架。 - OpenAI API 密钥。
安装要求
此笔记本需要以下Python包:openai
、tiktoken
、langchain
和psycopg2cffi
。 -
openai
提供了方便访问OpenAI API的功能。 - tiktoken
是一个快速的BPE标记器,可与OpenAI的模型一起使用。 - langchain
帮助我们更轻松地构建具有LLM的应用程序。 - psycopg2cffi
库用于与向量数据库交互,但也可以使用任何其他PostgreSQL客户端库。
! pip install openai tiktoken langchain psycopg2cffi
! export OPENAI_API_KEY="your API key"
# 测试您的OpenAI API密钥是否已正确设置为环境变量。
# 注意:如果您在本地运行此笔记本,您需要重新加载终端和笔记本,以使环境变量生效。
import os
# 注意:或者,您也可以像这样设置一个临时的环境变量:
# os.environ["OPENAI_API_KEY"] = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
if os.getenv("OPENAI_API_KEY") is not None:
print("OPENAI_API_KEY is ready")
else:
print("OPENAI_API_KEY environment variable not found")
OPENAI_API_KEY is ready