使用新的GPT-4 API构建用于多个大型PDF文件的Chatgpt Chatbot。
使用的技术堆栈包括Langchain,Pinecone,TypeScript,OpenAI和Next.js。 Langchain是一个框架,它使构建可扩展的AI/LLM应用程序和聊天机器人更加容易。 Pinecone是用于存储嵌入式和您的PDF文本中的矢量店,以便以后检索类似的文档。
教程视频
如果您有疑问,请加入不和谐
此存储库和教程的视觉指南在visual guide文件夹中。
如果遇到错误,请在此页面下方查看故障排除部分。
前奏:请确保您已经在系统上下载了节点,并且版本为18或更高。
git clone [github https url]
首先运行npm install yarn -g以全球安装纱线(如果还没有)。
然后运行:
yarn install
安装后,您现在应该查看node_modules文件夹。
.env文件.env.example复制到.env您的.env文件应该看起来像这样: OPENAI_API_KEY=
PINECONE_API_KEY=
PINECONE_ENVIRONMENT=
PINECONE_INDEX_NAME=
.env文件中。在config文件夹中,将PINECONE_NAME_SPACE替换为一个namespace ,当您运行npm run ingest时,您想将嵌入在Pinecone上。此名称空间稍后将用于查询和检索。
在utils/makechain.ts链中,链更改您自己的用户酶的QA_PROMPT 。如果您可以访问gpt-4 API,则将new OpenAI中的modelName更改为gpt-4 。请在此存储库外验证您可以访问gpt-4 API,否则该应用程序将无法使用。
此存储库可以加载多个PDF文件
在docs文件夹中,添加包含PDF文件的PDF文件或文件夹。
运行脚本yarn run ingest到“摄入”并嵌入您的文档。如果您遇到错误排除,则在下面进行故障排除。
检查Pinecone仪表板以验证您的命名空间和向量。
一旦您验证了已成功添加到Pinecone中的嵌入和内容,就可以运行应用程序npm run dev以启动本地开发环境,然后在聊天界面中输入一个问题。
通常,请留意本仓库的issues和discussions部分,以获取解决方案。
一般错误
node -vConsole.log env变量并确保它们暴露。.env文件,其中包含您的有效(和工作)API键,环境和索引名称。OpenAI中更改modelName ,请确保可以访问适当模型的API。env文件将被Systems env变量覆盖。process.env变量。松果错误
environment和index与pinecone.ts和.env文件中的索引匹配。1536 。此存储库的前端灵感来自Langchain-Chat-Nextjs