概述
gpt4-pdf-chatbot-langchain是可以为您的 PDF 文件创建聊天机器人。
发展
- 克隆回购
git clone [github https url]
2.安装包
pnpm install
3.
- 设置你的
.env
文件
- 复制
.env.example
到.env
您的.env
文件中应该如下所示:
OPENAI_API_KEY=
PINECONE_API_KEY=
PINECONE_ENVIRONMENT=
PINECONE_INDEX_NAME=
-
在
config
文件夹中,将 替换为运行时您希望在 Pinecone 上存储嵌入的PINECONE_NAME_SPACE
位置。该命名空间稍后将用于查询和检索。namespace
pnpm run ingest
-
在
utils/makechain.ts
链中更改QA_PROMPT
您自己的用例。如果您无权访问 ,请更改modelName
为。请在此存储库之外验证您是否有权访问,否则该应用程序将无法使用它。new OpenAIChat
gpt-3.5-turbo
gpt-4
gpt-4
将您的 PDF 文件转换为嵌入
这个 repo 可以加载多个 PDF 文件
-
在文件夹内
docs
,添加您的 pdf 文件或包含 pdf 文件的文件夹。 -
运行脚本
npm run ingest
以“摄取”并嵌入您的文档。如果您遇到错误,请在下方进行故障排除。 -
检查 Pinecone 仪表板以验证您的命名空间和向量是否已添加。
运行应用
确认嵌入和内容已成功添加到 Pinecone 后,您可以运行该应用程序pnpm run dev
以启动本地开发环境,然后在聊天界面中输入问题。
故障排除
通常,请留意此 repo 的issues
和部分以获取解决方案。discussions
一般错误
- 确保您运行的是最新的 Node 版本。跑步
node -v
- 尝试使用不同的 PDF 或先将 PDF 转换为文本。您的 PDF 可能已损坏、已扫描或需要 OCR 才能转换为文本。
Console.log
变量env
并确保它们被公开。- 确保您使用与此存储库相同版本的 LangChain 和 Pinecone。
- 检查您是否创建了
.env
包含有效(且有效)API 密钥、环境和索引名称的文件。 - 如果您更改,
modelName
请OpenAIChat
注意替代模型的正确名称是gpt-3.5-turbo
gpt-4
如果您决定使用,请确保您有权访问。在 repo 之外测试你的 openAI 密钥,确保它能正常工作,并且你有足够的 API 积分。- 检查您的全局环境中是否没有多个 OPENAPI 密钥。
env
如果这样做,项目中的本地文件将被系统env
变量覆盖。 - 尝试将您的 API 密钥硬编码到
process.env
变量中。
Pinecone 错误
- 确保您的Pinecone 仪表板
environment
与和文件index
中的仪表板相匹配。pinecone.ts
.env
- 检查您是否已将矢量维度设置为
1536
。 - 确保你的 pinecone 命名空间是小写的。
- Starter(免费)计划用户的 Pinecone 索引在 7 天不活动后被删除。为防止这种情况,请向 Pinecone 发送 API 请求以在 7 天之前重置计数器。
- 使用新的 Pinecone 项目、索引和克隆的 repo 从头开始重试。
- 本文转载至元经纪