Ollama+LangFlow实现智能问答系统

Ollama+LangFlow实现智能问答系统

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

安装LangFlow

bash 复制代码
# 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

启动

bash 复制代码
# 启动
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包管理器官方文档

相关推荐
微软技术栈3 分钟前
极客说|利用 Azure AI Agent Service 创建自定义 VS Code Chat participant
人工智能
QQ2960787365 分钟前
科技资讯杂志科技资讯杂志社科技资讯编辑部2024年第24期目录
人工智能
Dipeak数巅科技8 分钟前
数巅科技中标科学城数科集团AI辅助企业数字化转型评估诊断
人工智能·数据分析·商业智能bi·数字化转型
Ayakanoinu14 分钟前
【论文阅读】Adversarial Detection: Attacking Object Detection in Real Time
论文阅读·人工智能·目标检测
hai41174196216 分钟前
机器人调度系统交通管制算法
人工智能·机器人·机器人调度
带我去滑雪22 分钟前
多方法实现影像组学特征降维与选择
人工智能
怎么这么多名字都被占了1 小时前
llama.cpp的C语言API使用
c语言·人工智能·llama
桂月二二1 小时前
使用 SurrealDB 构建高效的 GraphQL 后端
后端·graphql
2013crazy1 小时前
springboot基于微信小程序的仓储管理系统
spring boot·后端·微信小程序·仓储管理
CS创新实验室1 小时前
《机器学习数学基础》补充资料:秩-零化度定理
人工智能·决策树·机器学习