首页
学习
活动
专区
圈层
工具
发布

手把手教你用 FastAPI + LangChain 部署本地问答机器人(含报错解决大全)

不用开服务器、也不用接 OpenAI 付费 API,我们可以用 FastAPI + LangChain + 本地模型,部署一个 属于自己的知识问答助手!...langchain==0.1.14 chromadb==0.4.24 2️⃣ 构建 LangChain 问答逻辑模块 我们在 qa_chain.py 中封装核心功能:文档加载 → 向量存储 → 检索问答..."); documents = loader.load(); db = new Chroma(documents, new OpenAIEmbeddings()); ⚠️ 小心:Chroma 的向量存储路径默认写在....chromadb 文件夹中,不可删除!...至此,我们就完成了一个拥有如下能力的本地问答机器人: 基于私有文档内容进行问答 接口异步响应,前端对接简单 支持 LangChain 的链式调用逻辑 可对接 Chroma / FAISS 等本地向量数据库

1.5K00

Phidata:使用gpt-4o的AI代理团队创建具有记忆、知识和工具的AI智能体

• 记忆: 将聊天记录存储在数据库中,使 LLMs 能进行长期对话。 • 知识: 将信息存储在向量数据库中,为 LLMs 提供业务上下文。...知识库怎么创建 知识库是助手可以搜索以改进其响应的信息数据库。此信息存储在矢量数据库中,并为 LLMs 提供业务上下文,这使它们以上下文感知的方式做出响应。...) 具有知识和存储的 PDF 助手 让我们创建一个 PDF 助手来回答来自 PDF 的问题。我们将使用 PgVector 进行知识和存储。...知识库: 助手可以搜索以改善其响应的信息(使用向量数据库)。 存储: 为助手提供长期记忆(使用数据库)。 1....演示 查看使用 phidata 构建的以下 AI 应用程序: • PDF AI 总结和回答来自 PDF 的问题。 • ArXiv AI 使用 ArXiv API 回答关于 ArXiv 论文的问题。

56610
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    如何使用RAG构建准确率更高的AI代理

    它使用检索器从存储在 PDF 中的非结构化数据中提取上下文,同时调用 API 获取销售信息。 该代理可以访问一组工具和向量数据库。初始提示和注册的工具将发送到 LLM。...文件以启动数据库和相应的 API 服务器。...start_date=2023-04-01&end_date=2023-06-30" 第 2 步:索引 PDF 并将向量存储在 Chroma DB 中 在 data 目录下,您会找到一个 PDF,其中包含电子产品类别中一些产品的描述...这将加载 PDF,执行分块,生成嵌入,最后将向量存储在 ChromaDB 中。 此 Notebook 的最后一个单元格执行简单的语义搜索以验证索引过程。...通过依赖联邦模型的概念,我们可以完全避免将上下文发送到基于云的 LLM,并使用部署在边缘的本地 LLM 来响应查询。

    60210

    PDF转换成word免费版本

    我用过磨针工具软件, 就是个没什么装饰的工具, 操作简单, 适合临时需求. 免费的桌面软件 如果不想上传文件, 可以用免费的桌面程序在本地转换....有些免费办公套件和pdf阅读器自带导出或另存为word的功能, 这样文件留在电脑上, 对私密文件更安全. 确认软件来自可信来源, 并且支持.docx导出, 以保证与当前word版本兼容....获得最佳结果的小提示 选择符合你需求的转换工具, 比如只是纯文本、表格还是带图片的文档. 对于扫描的pdf, 找带有ocr功能的工具. 检查转换后的文件有没有缺图、断行或文字位移....保留原始pdf的备份, 以便需要换工具再试. 如果文档含有敏感信息, 更倾向于使用本地软件或有明确隐私声明的可信服务. 常见问题和解决办法 如果文字显示不对, 试试另一个转换器或对扫描页启用ocr....常见问题(FAQ)  把pdf上传到在线转换器安全吗 对于不敏感的文件, 在信誉好的网站上通常是安全的. 看看网站的隐私政策, 了解他们会保存文件多久. 私密文件建议用本地软件处理.

    10210

    百花齐放:解锁大型语言模型的潜力

    该项目具有以下优点和特性: 可以像使用OpenAI ChatGPT API一样调用Claude API 支持流式响应 支持claude-v1.3、claude-v1.3-100k模型 可通过Cloudflare...无论在底部输入什么内容,都会同时进入所有 Web 应用程序中,但如果您希望独立地探索其中之一,则可以自行操作,因为它们只是 Web 视图。...此外,它还提供了一系列其他功能,如快速提示模式(无需等待上一个请求完成即可发送下一个)、本地存储聊天记录保护隐私、高亮显示喜欢的回复、删除不良内容等。...dissorial/pdf-chatbot[4] Stars: 669 License: NOASSERTION ChatPDF Plus是一个聊天应用程序,支持多个PDF文件、主题、聊天窗口和聊天历史记录...该项目的优点在于可以创建多个话题进行讨论,上传任意数量的PDF文件到每个话题中,为每个话题创建任意数量的对话(即聊天窗口),并使用MongoDB自动检索所有对话的聊天历史记录。

    29220

    LlamaIndex使用指南

    文档/节点:文档是数据的容器,无论它来自PDF、API还是数据库。Node是Document的一个片段,丰富了元数据和关系,为精确的检索操作铺平了道路。...所以这里需要一个OpenAI API Key来使用这些。在OpenAI的网站上注册即可免费获得API密钥。然后在python文件中以OPENAI_API_KEY的名称设置环境变量。...LlamaIndex提供了的各种数据连接器包括: SimpleDirectoryReader:支持本地文件目录中的多种文件类型(.pdf, .jpg, .png, .docx等)。...使用下面代码为PDF文件创建一个索引。...LlamaIndex在存储后端支持方面是通用的,已确认支持: 本地文件系统、AWS S3、Cloudflare R2等 这些后端通过使用fsspec库得就进行访问,因为该库支持各种存储后端。

    5.8K21

    PDF 问答工具对比 - 询问有关 PDF 的任何问题

    速度:返回答案的时间。大多数顶级工具能在几秒内回应 —— 例如 Humata 就因在长文档中快速响应而受到好评。隐私/安全性:加密与数据处理方式。许多服务在传输/存储时加密文件。...一些工具(如 Humata 和 Adobe Acrobat AI)明确表示不会用您的文件训练模型,并在一定时间后删除上传内容。支持离线的工具(如本地 PDF 软件)则提供了最大程度的隐私保障。...可一直免费使用)本地部署;无云上传API、SDK、内网集成;适合内部知识库顶级工具介绍ChatPDFChatPDF 是最受欢迎的 PDF 聊天机器人之一。...隐私方面,ChatPDF 采用 SSL/TLS 加密,文件存储在 SOC2 认证的服务器中,且用户可随时删除文档。它是纯 Web 工具,无桌面版,但可通过安全链接分享文档或对话。...它允许用户在本地服务器或私有云中安全地与文档交互,特别适合对数据合规要求严格的行业(如金融、法律、医疗)。与大多数云端工具不同,ComIDP 可本地部署,确保敏感文档不离开组织环境。

    57510

    如何用Python批量提取PDF文本内容?

    本文为你展示,如何用Python把许多PDF文件的文本内容批量提取出来,并且整理存储到数据框中,以便于后续的数据分析。 ? (由于微信公众号外部链接的限制,文中的部分链接可能无法正确打开。...它们可能来自开放数据集合、网站API,或者爬虫。 但是,有的时候,你会遇到需要处理指定格式数据的问题。 例如pdf。 许多的学术论文、研究报告,甚至是资料分享,都采用这种格式发布。...pdf文件夹内容如下: ? newpdf文件夹内容如下: ? 数据准备好了,下面我们来部署代码运行环境。 环境 要安装Python,比较省事的办法是装Anaconda套装。...通过一个 pdf 文件的抽取测试,我们建立了信心。 下面,我们该建立辞典,批量抽取和存储内容了。 mydict = {} 我们遍历 pdfs 列表,把文件名称(不包含目录)作为键值。...如何用matplotlib和pandas自带的绘图函数轻松绘制柱状统计图形。 讨论 你之前做的数据分析工作中,遇到过需要从pdf文件抽取文本的任务吗?你是如何处理的?有没有更好的工具与方法?

    6.5K41

    GenAI——LLM结合图谱RAG和LangChain实战指南

    完整的Python应用程序。 PDF 阅读器 pdf_bot.py pdf_bot http://localhost:8503 读取本地PDF并询问问题。完整的Python应用程序。...应用程序 3 本地PDF的问题/答案 UI: http://localhost:8503 数据库客户端: http://localhost:7474 这个应用程序允许你将本地PDF加载成文本块并嵌入到Neo4j...检索增强型生成(RAG) 仅仅开发围绕LLM API的包装器并不能保证生成响应的成功,因为与准确性和知识截止相关的众所周知的挑战并未得到解决。...配置使用你当前工作目录中的本地“data”文件夹来保存容器重建和重启之间的数据库文件。要从头开始重置,请删除该文件夹。 我该如何继续下去?...你还可以查看我们的“Chat with your PDF”示例应用,它也包含在堆栈中。它允许你上传PDF文件,将其分块并转换为嵌入式内容,然后你可以询问有关其内容的问题。 接下来是什么?

    5K31

    最近一周github热门开源项目盘点

    rye Rye 是由 Rust 构建的一个 python 包管理工具,它可以管理 Python 安装,管理文件,安装和卸载依赖项,管理 虚拟环境。它支持单存储库项目配置和全局装置。...pdfGPT PDF GPT 允许您使用 GPT 功能与上传的 PDF 文件聊天。 该应用程序智能地将文档分解为较小的块,并采用强大的深度平均网络编码器来生成嵌入。...首先对 pdf 内容执行语义搜索,并将最相关的嵌入传递给 Open AI。自定义逻辑生成精确的响应。...返回的响应甚至可以引用信息所在方括号 ([]) 中的页码,从而增加响应的可信度并有助于快速找到相关信息。 这些回应比Open AI 的天真回应要好得多。...LocalAI LocalAI 是一个直接的,直接替换 API,与 OpenAI 兼容,用于本地 CPU 推理,基于 llama.cpp,gpt4all 和 ggml,包括支持 GPT4ALL-J。

    88830

    一文详解模型上下文协议(MCP):打通大模型与业务场景的关键

    在实际应用中,用户通过Claude Desktop与AI助手交互,当需要访问本地文件时,Claude Desktop作为MCP主机,协调AI助手与本地文件系统之间的通信。...例如,在Claude Desktop中,MCP客户端会向服务器请求访问特定的本地文件或远程API,并将获取的数据传递给AI模型进行处理。...通过MCP,AI应用可以访问本地存储的数据,例如读取用户的文档、查询本地数据库,或调用本地服务。这使得AI助手能够在用户的计算机上执行复杂的任务,如整理文件、分析数据等。...这种能力使得AI助手能够提供实时的、丰富的信息和功能,满足用户的多样化需求。假设你正在使用Claude Desktop与AI助手进行交互,希望它帮助你整理本地的PDF文件。...MCP服务器接收到请求后,与本地文件系统交互,获取所需的PDF文件列表,并将结果返回给客户端。AI助手接收到这些信息后,可以进一步对文件进行分类、重命名或移动操作,从而帮助你高效地整理文件。

    4.8K82

    我是怎么保存公众号历史文章合集到本地的?当然是用python了!

    用万能的python写个脚本,我们就可以把公众号历史所有的文章批量的保存为本地的PDF,这样,就可以根据标题和日期来看自己喜欢的文章啦!...客户端和服务器之间建立一个代理服务器,监听本机发出的请求和服务器返回的响应结果。...本文主要介绍了,使用python获取你喜欢的公众号的历史文章,并保存到本地PDF文件。...其中,用到了Fiddler抓包工具,首先获得所有文章内容的url地址,然后可把url转为PDF文件,不过,此方法保存的文件,图片不能很好的显示。...所以,如果你只是想打印一篇文章,那么,我建议你可在浏览器端打开指定一篇文章,另存为PDF文件。

    2.3K21

    8大前端安全问题(下)| 洞见

    大致过程如下,用户在浏览器里输入URL的时候往往不是从https://开始的,而是直接从域名开始输入,随后浏览器向服务器发起HTTP通信,然而由于攻击者的存在,它把服务器端返回的跳转到HTTPS页面的响应拦截了...(图片来自:http://t.cn/Rfj3Tku) ---- 本地存储数据泄露 以前,对于一个Web应用而言,在前端通过Cookie存储少量用户信息就足够支撑应用的正常运行了。...举个例子来说明,假设你的前端应用想要支持离线模式,使得用户在离线情况下依然可以使用你的应用,这就意味着你需要在本地存储用户相关的一些数据,比如说电子邮箱地址、手机号、家庭住址等PII(Personal...尽管有浏览器的同源策略限制,但是如果前端应用有XSS漏洞,那么本地存储的所有数据就都可能被攻击者的JS脚本读取到。...前端对数据加密后再存储看上去是个防御办法,但其实仅仅提高了一点攻击门槛而已,因为加密所用到的密钥同样存储在前端,有耐心的攻击者依然可以攻破加密这道关卡。

    1.1K80

    ollama安装初体验

    推荐使用具有16GB或以上显存的专业级GPU。 存储:SSD硬盘以加快数据读取速度;考虑到模型文件较大,建议准备充足的存储空间,要求C盘空间可用>=10GB。...Ollama是一个开源的 LLM(大型语言模型)服务工具,用于简化在本地运行大语言模型、降低使用大语言模型的门槛,使得大模型的开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新大语言模型,包括如...C 盘有没有办法切换到其他盘符、启动ollama 只能127.0.0.1 不能使用IP 访问等问题。...模型操作命令 ollama serve:启动 Ollama 服务,是后续操作的基础。 ollama create:从模型文件创建模型,适用于自定义模型或本地已有模型文件的情况。...生成响应 curl http://localhost:11434/api/generate -d '{ "model": "llama2", "prompt":"Why is the sky blue

    78710

    Java Response 返回值处理的最佳实践:如何高效获取与操作响应数据

    在开发Web应用程序时,我们经常需要通过HTTP请求从服务器获取响应数据,这些数据可以是JSON、XML、甚至是文件。如何在Java中高效处理这些返回值,并对其进行解析、操作,成为开发者常见的问题。...场景 2:文件下载在文件下载场景中,服务器返回的可能是二进制数据,如图片、PDF等。通过Java的IO流处理响应体,可以将文件保存到本地。import java.io....这段Java代码定义了一个名为 FileDownloadExample 的类,其中包含一个 main 方法,用于从指定的URL下载文件并保存到本地。...定义常量:private static final String FILE_URL = "https://example.com/sample.pdf";:定义了一个包含文件URL的常量。...创建文件输出流:FileOutputStream outputStream = new FileOutputStream("sample.pdf");:创建一个文件输出流,用于将文件内容写入本地文件 "

    2.6K31

    基于腾讯云 DeepSeek 的 AI 智能阅读助手开发实践

    腾讯云智能体开发平台的实时文档解析 API 的应用腾讯云智能体开发平台的实时文档解析 API 支持将图片或PDF文件转换成Markdown格式文件,可解析包括表格、公式、图片、标题、段落、页眉、页脚等内容元素...实时文档解析 API 在助手里的作用:PDF 文档解析:将 PDF 文档内容转成大模型更易于理解的 Markdown 结构化的格式。...PDF 文件解析与转换对于 PDF 文件,首先需要上传到服务器得到文件存储的路径,然后在对话时传递给对话接口,接下来通过路径读取文件内容,然后通过 腾讯云知识引擎原子能力 提供的 实时文档解析 API... 文件解析 media.Path 生成本地文件路径 filePath。...腾讯云的 API 服务在稳定性和响应速度上也满足了项目需求,接口调用体验非常流畅,价格方面也是非常实惠。

    1.2K158

    基于 Quivr 搭建个人专属知识库

    您的数据安全由您掌控,Quivr 支持多个文件格式,包括文本、Markdown、PDF、PowerPoint、Excel、Word、音频、视频等。...从介绍上来看,支持的文件格式还算比较丰富,毕竟自诩为“第二大脑”呢!...因为我们用的是 OpenAI 提供的服务,所以这里我们填上 OPENAI_API_KEY,ANTHROPIC_API_KEY 是选择 Claude 的配置,我们可以删了。...网页响应慢的问题,主要我们使用的都是海外节点云服务,高延时导致网页资源加载慢,之所以要用海外节点云服务,无非是因为用到了 OpenAI 的大模型与 Embedding 服务,那么有没有在国内节点上去访问...出现下面这种报错的主要原因是 OpenAI 限制了普通账户的请求速率,解决办法是为你的 OpenAI 账户增加支付方式。

    2.7K183

    从Java全栈到Vue3实战:一位资深开发者的面试故事

    **应聘者**:JVM内存模型主要包括方法区、堆、栈、程序计数器和本地方法栈。其中堆是所有线程共享的区域,用于存储对象实例;栈是每个线程私有的,用来存储局部变量和操作数栈等信息。...## 面试官:看来你对JVM有一定的了解。那你在项目中有没有遇到过内存泄漏的问题?是怎么解决的? **应聘者**:确实遇到过。...那你在项目中有没有使用过微服务架构? **应聘者**:有。我们项目采用的是Spring Cloud架构,微服务之间通过FeignClient进行通信。...在我们的项目中,我们利用这些组件实现了服务发现、配置管理、负载均衡和API网关等功能。 ## 面试官:非常好。那在项目中你有没有遇到过性能瓶颈?是如何优化的? **应聘者**:是的。...Vue3的优势 - **Composition API**:提供更灵活的代码组织方式。 - **Proxy替代Object.defineProperty**:提升响应式性能。

    23910

    【AIGC】基于pgVector和LangChain构建RAG服务(RAG=pgVector + LangChain)

    RAG 使大型语言模型 (LLM) 能够对主题做出准确、自信和出色的响应。在本文中,我们将演示如何在应用程序中使用 RAG 技术。...霓虹灯在存储过程中发挥作用。对于检索过程,pgVector 使用其向量相似性索引功能来搜索查询向量与 Neon 数据库中存储的向量之间的距离。...Flutter 应用程序是一个简单的聊天机器人,它根据来自外部数据源的数据(在本例中为 PDF 文件)响应查询。...因此,为了实现这一目标,我们将执行以下操作:使用 file_picker 包从本地设备中选择文件使用 syncfusion_flutter_pdf 包阅读文档 (PDF) 并将其转换为文本使用 path_provider...我们将使用该方法从本地设备中选取一个 PDF 文档,并将文件类型和名称分配给之前创建的 String 变量。

    1.6K00
    领券