这个项目的目标是利用最新的 GPT-4 API,打造一款专为多个大型 PDF 文件设计的 ChatGPT 聊天机器人。它使用 LangChain、Pinecone、Typescript、OpenAI 和 Next.js 等技术栈,其中 LangChain 是一个简化可扩展 AI/LLM 应用程序和聊天机器人开发的框架。Pinecone 则是用于存储嵌入和文本格式 PDF 的向量库,方便之后检索相似文档。
在开始搭建这个项目之前,用户需要确保其计算机上已安装 Node.js,并且版本为 18 或更高。
首先,用户需要克隆这个项目的代码库,指令如下:
git clone [github https url]
全局安装 yarn:
npm install yarn -g
之后在项目目录下运行:
yarn install
成功安装后,项目目录会出现 node_modules 文件夹。
.env 文件OPENAI_API_KEY= PINECONE_API_KEY= PINECONE_ENVIRONMENT= PINECONE_INDEX_NAME=
在 config 文件夹中,将 PINECONE_NAME_SPACE 替换为用于存储嵌入的 namespace,便于以后查询和检索。
makechain.ts 中的 QA_PROMPT根据具体需求修改 QA_PROMPT 和 OpenAI 中的 modelName 为 gpt-4,确保已经有使用 gpt-4 API 的权限。
该项目支持加载多个 PDF 文件。用户只需将 PDF 文件添加到 docs 文件夹中,然后运行 yarn run ingest 脚本来嵌入这些文件。完成后,用户可以在 Pinecone 仪表板上验证嵌入数据。
在确认嵌入和内容已成功添加到 Pinecone 之后,用户可以运行 npm run dev 启动本地开发环境,并在聊天界面中输入问题进行交互。
项目提供了一些常见问题解决建议,包括:
该项目的前端部分受到 langchain-chat-nextjs 启发。
如有问题,用户可以加入项目的 Discord 社区 寻求帮助。