Skip to main content
Open In Colab在 GitHub 上打开

灵媒

此笔记本介绍如何从Psychic.有关更多详细信息,请参阅此处

先决条件

  1. 按照本文档中的快速入门部分进行作
  2. 登录 Psychic 仪表板并获取您的密钥
  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)