Ollama+LangFlow实现智能问答系统

Ollama+LangFlow实现智能问答系统

LangFlow 是一个开源的、基于 Web 的用户界面,旨在简化与大模型(LLMs)和其他自然语言处理(NLP)工具的交互。它提供了直观的图形化界面,让用户能够轻松构建和管理复杂的 NLP 流程,而无需编写大量代码。LangFlow 特别适用于需要快速原型设计、实验不同配置或与大模型进行互动的场景。

安装LangFlow

# Conda创建3.11版本的Python环境
conda create -n py_311 python=3.11 -y

# 进入py_311环境
conda activate py_311

# 安装uv(官方推荐),比pip性能更好
# 如果直接用pip安装会出现提示 pip is looking at multiple versions of <<library>> to determine which version is compatible with other requirements. This could take a while.
pip install uv

# 安装 LangFlow
uv pip install langflow

启动

# 启动
uv run langflow run

访问地址

http://127.0.0.1:7860

文档问答

用从本地内存加载的文档构建问答聊天机器人。将文档内容作为大模型提示词的上下文,基于此上下文寻找用户问题的答案并作出回答。

  1. 上传文档。 File 结点支持本地文档的上传;
  2. Parse Data 结点将文档内容转成 Data ,传给 Prompt 结点;
  3. Prompt 结点用作创建提示词模板,变量通过 {} 包裹,例如 {Document}
  4. Chat Input 结点用作用户输入问题,将问题内容传递给 Prompt 结点的 Question 变量;
  5. Prompt 结点的 Prompt Message 传递给 OpenAI 结点,Prompt Message 会将文档内容和用户问题结合成一个文本。如果没有 OpenAIAPI KEY ,可以将OpenAI 结点换成 Ollama 结点,并给 Ollama 配置本地部署的大模型基础 URL
  6. OpenAI 结点的处理结果 Text 变量传递给 Chat Output 结点,前端展示给用户。

总结

大模型的缺点是支持的上下文长度有限,如果想要某个问题毕其功于一役的给大模型一次新回答出来,超出了大模型的 Token 长度限制,大模型会回答不出来。 LangFlow 可以将问题拆解成多个小问题,分多次调用 OpenAI / Ollama 结点,最终得到问题的答案。

例如,想要对一段超长文章生成摘要,可以将文章拆解成10份,每一份文本片段都单独使用一个大模型结点生成摘要,然后将10份摘要汇聚在一起。

LangFlow 也支持多种类型的流程结点。除了前文中提到的 Chat Input 属于 InputsChat Output 属于 OutputsPrompt 属于 PromptsOpenAIOllama 属于 ModelsLangFlow 还有 SQL Query 结点、 if-Else 等常用功能结点。提供这些结点的目的就是为了让非开发人员也能够利用大模型实现自己的 AI Agents

参考

LangFlow官方文档

Python 依赖管理工具 uv

uv包管理器官方文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT果果日记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值