Skip to main content
Open In ColabOpen on GitHub

灵媒

这个笔记本介绍了如何从Psychic加载文档。更多信息请参阅这里

前置条件

  1. 跟随快速入门部分在此文档
  2. 登录灵媒控制台并获取您的密钥
  3. 将前端 React 库安装到您的 Web 应用程序中,并让用户验证连接。连接将使用您指定的连接 ID 创建。

加载文档

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

# Uncomment this to install psychicapi if you don't already have it installed
!poetry run pip -q install psychicapi langchain-chroma

[notice] A new release of pip is available: 23.0.1 -> 23.1.2
[notice] To update, run: pip install --upgrade pip
from langchain_community.document_loaders import PsychicLoader
from psychicapi import ConnectorId

# Create a document loader for google drive. We can also load from other connectors by setting the connector_id to the appropriate value e.g. ConnectorId.notion.value
# This loader uses our test credentials
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()
API 参考:PsychicLoader

将文档转换为嵌入向量

我们现在可以将这些文档转换为向量表示,并将其存储在像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)