LangChain 老喻的干货店聊天Robot 二

如果您也在准备AIGC前端全栈,LangChain是最成熟的AI应用开发框架。欢迎点赞收藏,一起学习AI。

前言

   上篇文章我们开发了老喻干货店RAG聊天机器人,这篇文章专门来聊聊部署。

   LangChain实战:老喻干货店社交网络Agent一使用的是Flask MVC 框架做的Web 服务器程序,我们在这里尝试使用下更简便的方案来部署。

Streamlit

  Streamlit是一个专门为数据科学家和机器学习工程师设计的Python库,优点是可以迅速将Python脚本转化为Web应用。它有以下优点:

  • 简单

   几行代码创建交互式应用,无须传统HTML+CSS+JS三剑客。

  • 无需前端经验

  所有代码都是Python, 不需要学习前端知识。

  • 实时交互

   Streamlit 应用会实时更新。

  • 内置组件

  内置了滑块、按钮、表格等很多组件,方便好用。

  • 数据可视化

   Streamlit 支持 Plotly、Matplotlib 和 Altair数据可视化库。

  • 界面简洁

  Streamlit 生成的界面简洁优雅,够专业,能交付。

  • 部署和共享

   提供了Streamlit Sharing 可以免费托管应用。

  • 社区生态系统

   Streamlit有着十分活跃的社区。

安装并试用

复制代码
pip install streamlit

  写个demo

python 复制代码
import streamlit as st 
st.title('老喻干货店')
price = st.slider("输入两斤木耳的价格:", min_value=0, max_value=100)

st.write(f"两斤{price}木耳,要付{price ** 2}元")

   运行之

arduino 复制代码
streamlit run 01_SimpleStreamlit.py

   程序在8501端口启动,拖动slider, 实时更新。

搭建chat robot

  

css 复制代码
...
import streamlit as st
...

def main():
    st.title("老喻干货聊天客服")
    
    if  "bot" not in st.session_state:
        st.session_state.bot = ChatbotWithRetrieval("DryFood")
    user_input = st.text_input("请输入问题:")
    
   if user_input:
       response = st.session_state.bot.qa(user_input)
       st.write(f"Chatbot:{response['answer']}")
        
if __name__ = "__main__":
    main()

   streamlit 可以使用st.session_state 来存储用户会话状态,可以在用户与应用程序交互时保存变量。用户在输入时,就不用一直去创建bot类了....

Gradio

Gradio相比于Streamlit, 更简单。它更适合展示和测试机器学习模型,但Web应用开发功能不如Streamlit。

复制代码
pip install gradio
ini 复制代码
import gradio as gr

if __name__ == "__main__": 
    folder = "OneFlower" 
    bot = ChatbotWithRetrieval(folder) # 定义 Gradio 界面 
    interface = gr.Interface( 
    fn=bot.get_response, # 使用我们刚刚创建的函数 
    inputs="text", # 输入是文本 
    outputs="text", # 输出也是文本 live=False, 
    # 实时更新,这样用户可以连续与模型交互
    title="老喻干货智能客服", # 界面标题
    description="请输入问题,然后点击提交。" 
    # 描述 ) 
    interface.launch() # 启动 Gradio 界面
  • get_response(self, user_input) 函数中, 接受用户输入为参数,并返回机器人的回应。

  • gr.Interface 定义Gradio界面

  • 启动Gradio 界面 interface.launch

总结

  • Python Web界面库 Streamlit 和 Gradio
  • 从AI应用到Web 上线,可以开始整活了。

参考资料

  • 黄佳老师的LangChain课
相关推荐
Elastic 中国社区官方博客5 小时前
不再有分配延迟:在无状态 Elasticsearch 中将快照与分片迁移解耦
大数据·运维·人工智能·elasticsearch·搜索引擎·全文检索
俊哥V5 小时前
每日 AI 研究简报 · 2026-09-02
人工智能·ai
人工智能时代 准备好了吗5 小时前
搜索别名治理实用指南:在首次出现时说明主名称与别名关系
人工智能
人工智能时代 准备好了吗5 小时前
同名品牌如何避免被AI认错?
人工智能
段一凡-华北理工大学5 小时前
高炉智能布料技术与炉料分布优化~专栏简介与目录
android·人工智能·高炉智能化·高炉布料·高炉布料分布·高炉布料参数优化·高炉布料矩阵
火山引擎开发者社区5 小时前
GLM-5.3 系列落地 veStack:面向复杂编码与多模态 Agent 的企业部署
人工智能
土星云SaturnCloud5 小时前
基于土星云边缘计算的园区车辆来访管理AI视觉方案:车牌识别、路线跟踪与卸货区动态分析全流程闭环
服务器·人工智能·ai·边缘计算
Python 实战手记5 小时前
2026 企业微信主体变更公证办理指南:场景条件、材料清单、线上实操流程
大数据·人工智能·企业微信
code 小楊5 小时前
腾讯开源 WeKnora 深度解析:RAG 问答 + ReAct Agent 推理 + 自动 Wiki 图谱,三位一体的企业级知识中台
前端·人工智能·开源·知识图谱
Mr数据杨5 小时前
电子游戏日本市场销量预测实战 从 Kaggle 回归赛题到区域销售判断
人工智能·数据分析·kaggle竞赛