Psychic

本文介绍如何从 Psychic 加载文档。详细信息请参阅此处

先决条件

  1. 按照此文档中的快速入门部分进行操作。
  2. 登录到Psychic 控制台open in new window并获取您的密钥。
  3. 在您的 Web 应用程序中安装前端 React 库,并使用用户进行身份验证以建立连接。连接将使用您指定的连接 ID 创建。

加载文档

使用 PsychicLoader 类从连接中加载文档。每个连接都有一个连接器 ID(对应已连接的 SaaS 应用程序)和一个连接 ID(您传递给前端库的)。

# Uncomment this to install psychicapi if you don't already have it installed
!poetry run pip -q install psychicapi
[notice] A new release of pip is available: 23.0.1 -> 23.1.2
[notice] To update, run: pip install --upgrade pip
from langchain.document_loaders import PsychicLoader
from psychicapi import ConnectorId

# 创建一个用于 Google Drive 的文档加载器。我们还可以通过将 connector_id 设置为适当的值(例如 ConnectorId.notion.value)来从其他连接器加载文档。
# 此加载器使用我们的测试凭据
google_drive_loader = PsychicLoader(
    api_key="7ddb61c1-8b6a-4d31-a58e-30d1c9ea480e",
    connector_id=ConnectorId.gdrive.value,
    connection_id="google-test"
)

documents = google_drive_loader.load()

将文档转换为嵌入向量

现在,我们可以将这些文档转换为嵌入向量,并将它们存储在像 Chroma 这样的向量数据库中。

from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.text_splitter import CharacterTextSplitter
from langchain.llms import OpenAI
from langchain.chains import RetrievalQAWithSourcesChain


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)
Last Updated:
Contributors: 刘强