项目介绍:doc-chatbot
doc-chatbot 是一个创新的聊天机器人项目,结合了 GPT、Pinecone 和 LangChain 技术,旨在提升互动体验和信息管理能力。以下是对该项目的详细介绍。
项目特点
- 多主题聊天:用户可以创建多个讨论主题,每个主题都是一个独立的讨论环境。
- 文件管理:每个主题可以存储无限数量的文件,支持
.pdf
、.docx
和.txt
格式。 - 聊天窗口管理:在每个主题下,可以创建无数个聊天室,让用户更灵活地管理不同话题的讨论。
- 文件处理:用户可以在浏览器中上传文件,文件会被转化为嵌入表示,存储于特定的命名空间并上传至 Pinecone,还可以随时删除 Pinecone 中的命名空间。
- 聊天记录管理:支持本地存储所有聊天的历史记录,方便用户随时检索和查看。
使用技术
项目使用了现代化的技术栈,包括:
- TypeScript
- Next.js
- React
- TailwindCSS
此外,还包含 LangChain 和 Pinecone,用于实现高效的文本处理和存储。
配置与开发
要在本地运行并部署自己的版本,用户需要按照以下步骤进行:
克隆仓库
git clone https://github.com/dissorial/doc-chatbot.git
Pinecone 设置
- 创建 Pinecone 账号。
- 创建索引,设置维度为 1536。
- 获取并配置 API 密钥。
安装依赖
yarn install
环境变量设置
将 .env.example
文件重命名为 .env
,并配置相应的环境变量,例如:
NODE_ENV=development
部署
在 .env
文件中添加如下配置:
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=
JWT_SECRET=
- NEXTAUTH_SECRET 和 JWT_SECRET 可通过命令生成:
openssl rand -base64 32
运行应用
运行以下命令启动开发服务器:
npm run dev
常见问题及解决
- 确保使用的是最新版本的 Node.js。
- 对于文件处理错误,尝试将文件转换为文本或更换文件。
- 设置 Pinecone 时,确认向量维度为 1536,并注意 Starter 免费计划的索引在 7 天不活跃后会被删除。
贡献与来源
此项目源自 GPT-4 & LangChain 仓库,并经过大量改进。前端设计则借鉴了 ChatGPT 的灵感。
doc-chatbot 项目提供了一个灵活强大的框架,不仅仅是一个简单的聊天工具,更是一个信息管理和交互的平台,适合各类需求的用户。通过不断的创新与改进,它致力于为用户提供更流畅的使用体验。