项目介绍:Notion Chatbot
项目背景
Notion Chatbot 是一个简单的聊天机器人,它可以帮助用户通过提问来获取 Notion 知识库中的信息。这个项目运用了 Openai、Typescript、LangChain 和 Pinecone 等技术,旨在让用户能够轻松从自己的文档中获取所需的答案。
示例数据
项目中提供了一个基于 Notion 的支持文档模板,内容来自 Cron——一个为专业人士和团队设计的下一代日历工具。这个示例数据帮助用户了解如何将自己的信息整合到聊天机器人中。
开发步骤
想要让这个项目运行起来,你可以按照以下步骤进行:
-
克隆代码库。
-
安装所需的包。使用下面的命令:
pnpm install
-
配置环境变量文件。在项目根目录下,有一个
.env.example
文件。将其复制为.env
并填写以下信息:OPENAI_API_KEY= PINECONE_API_KEY= PINECONE_ENVIRONMENT=
访问 Openai 和 Pinecone 网站获取相应的 API 密钥并填入
.env
文件中。 -
在
config
文件夹中打开pinecone-index.ts
文件,把PINECONE_INDEX_NAME
替换为你在 Pinecone 仪表板中的索引名称。
数据集导入指南
要导入自己的数据集:
- 从 Notion 导出你的数据。点击右上角的三个点,并选择
Export
。 - 确保选择
Markdown & CSV
格式,并选择导出所有内容,包括子页面,然后创建子页面的文件夹。 - 你会在下载文件夹中获得一个
.zip
文件,将其移动到项目的根目录下。 - 解压
.zip
文件(可以使用 7-Zip 或 WinZip),或者使用 Unix/Linux 命令解压到 Notion_DB 文件夹。
数据的导入
需要将文档进行导入(Ingest)。这个过程是把文档转换成数字(嵌入),方便存储和相似性搜索。
运行以下命令进行文档导入:
npm run ingest
应用运行
在本地环境中运行应用:
npm run dev
使用搜索栏提问来对文档进行查询,获取答案。
部署
你可以使用 Vercel 将应用部署到云端,这样就可以更方便地进行访问和使用。
借鉴与灵感
这个项目灵感来自于 [notion-qa]。通过这个项目,用户可以在自己的 Notion 知识库中快速寻找问题答案,从而提升效率和便捷性。