利用Psychic API加载和处理文档的实用指南

74 阅读2分钟

引言

随着数据驱动决策的普及,从不同平台拉取和处理文档变得愈发重要。本文将介绍如何使用Psychic API加载文档,并结合Chroma和OpenAI实现文档的转换和嵌入生成。

主要内容

1. 前置条件

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)

常见问题和解决方案

  1. 无法访问API端点?

  2. 文档加载失败?

    • 确保连接ID和API密钥准确无误,并检查连接器ID是否正确。
  3. 文档嵌入不准确?

    • 调整CharacterTextSplitter参数,如chunk_size,以优化文本切分效果。

总结和进一步学习资源

本文介绍了如何通过Psychic API加载文档,并结合Chroma和OpenAI进行处理。希望为你在实际应用中提供帮助。

进一步学习可参考:

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---