GPT-4 & LangChain - 为您的 PDF 文档创建 ChatGPT 聊天机器人 2023-03-26 编程,搞机 3 条评论 2114 次阅读 gpt4-pdf-chatbot-langchain使用新的GPT-4 API,构建ChatGPT机器人来为大型PDF文档(本项目中使用了56页)提供服务。技术栈使用了LangChain、Pinecone、TypeScript、OpenAI和Next.js。LangChain是一个框架,可以更轻松地构建可扩展的人工智能/自然语言处理应用程序和聊天机器人。Pinecone是一个用来存储嵌入向量和PDF文档以便随后检索相似文档的工具。 原存储库: https://github.com/mayooear/gpt4-pdf-chatbot-langchain # 第一步 克隆仓库并安装依赖包 ```bash git clone https://github.com/mayooear/gpt4-pdf-chatbot-langchain.git pnpm install ``` # 第二步 配置 ## 配置 `.env` 文件 复制 `.env.example` 并重命名为 `.env` ``` OPENAI_API_KEY= PINECONE_API_KEY= PINECONE_ENVIRONMENT= ``` 获取OPENAI_API_KEY的方法: https://platform.openai.com/account/api-keys 获取PINECONE_API_KEY和PINECONE_ENVIRONMENT的方法: [pinecone](https://pinecone.io/)  ## 新建一个索引`pinecone` 维度一定要设置为1536  ## 配置 `config\pinecone.ts` 将PINECONE_INDEX_NAME设置为新创建的索引的名称  PINECONE_NAMESPACE 用于区分不同合集的标识,可以根据个人需要进行设置,将不同的pdf设置为相同的PINECONE_NAMESPACE可以将其归为一组 ## 配置`utils/makechain.ts` 如果你没有gpt-4的API权限,可以将该文件中的`modelName`改为`gpt-3.5-turbo`,已在图片中进行修改  请参照 [OpenAI的文档](https://platform.openai.com/docs/models/model-endpoint-compatibility) 查看支持的`modelName`列表。 # 第三步 预处理PDF 首先将PDF文档放在`/docs`文件夹中,然后将`scripts/ingest-data.ts`中的`filePath`替换为 `docs/{yourdocname}.pdf` 例如,我设置的是`space.pdf`  然后运行脚本`pnpm run ingest`来预处理文档 在这一步可能会遇到网络错误,可以将`clash`设置为`TUN模式`来解决 # 第四步 启动本地服务 运行应用程序 `pnpm run dev` 发布本地开发环境 然后访问 http://localhost:3000/ 以访问服务 # 关于中文优化 经过测试,原生中文支持不是很好,猜测是由于`utils/makechain.ts`中的PROMPT初始值为英文导致的。将其翻译后,中文效果有明显提升。  # 关于多文件输入 不同的 pdf 设置相同的 PINECONE_NAMESPACE,然后进行多次 `pnpm run ingest`,全部导入后进行询问即可 标签: AI, ChatGPT, GPT, openAI 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
浴修复方法
怎么翻译呢,经过测试,原生中文支持不是很好,猜测是由于utils/makechain.ts中的PROMPT初始值为英文导致的。将其翻译后,中文效果有明显提升。这个怎么操作
我直接修改了 makechain.ts 中的 prompt,你也可以直接加一个
"response me in Chinese"