深度学习-20-深入理解基于Streamlit和minimind小模型开发本地聊天工具

news/2024/10/8 14:57:34/

文章目录

  • 1 Streamlit开发聊天工具
    • 1.1 初始化聊天信息
    • 1.2 渲染历史信息
    • 1.3 接收用户输入
    • 1.4 模拟调用LLM
    • 1.5 整体代码
  • 2 使用minimind
    • 2.1 下载模型
    • 2.2 使用模型
  • 3 Streamlit与minimind
    • 3.1 Streamlit相关知识点
    • 3.2 示例代码
  • 4 参考附录

1 Streamlit开发聊天工具

Streamlit是一个开源Python库,可以轻松创建和共享用于机器学习和数据科学的漂亮的自定义web应用程序,用户可以在几分钟内构建一个强大的数据App。
其最大的特色是直接用Python写前端页面。 对于数据分析场景,其强大的数据可视化能力和极方便简单的开发流程,极大的方便了demo展示、方案验证等工作。

随着ChatGPT的兴起,LLM方向变得炙手可热,Streamlit也顺势推出了支持LLM的新特性。

注意:页面的每次渲染,其实都是从前往后重新执行了一次后端的py文件

1.1 初始化聊天信息

import random
import time
import streamlit as st
st.title("聊天示例"

http://www.ppmy.cn/news/1536179.html

相关文章

FPGA时序分析和约束学习笔记(1、FPGA基本原理)

FPGA时序分析和约束学习笔记-(1、FPGA基本原理) Field现场Programmable可编程Gate门Array阵列 1、FPGA基本资源组成 可编程逻辑功能块(logic elements ,缩写LE) 片内互联线(interconnect,缩写…

Nginx的核心架构和设计原理

Nginx 是一个免费的、开源的、高性能 Http 服务器和反向代理。Nginx 的架构设计是为了提供高性能、稳定性和可扩展性。 Nginx 的主要架构组件和工作原理: 1、Master 进程:Nginx 的运行始于一个 master 进程,它负责管理所有的工作进程。mast…

基于少样本(小样本)的图像分割

在少样本学习(尤其是少样本分割)中,query branch 和 support branch 分别承担不同的任务,目的是通过少量标注的样本来实现对新图像的分割。它们的具体作用如下: Support Branch(支持分支)&#…

低代码可视化-UniApp二维码可视化-代码生成器

市面上提供了各种各样的二维码组件,做了一简单的uniapp二维码组件,二维码实现依赖davidshimjs/qrcodejs。 组件特点 跨浏览器支持:利用Canvas元素实现二维码的跨浏览器兼容性,兼容微信小程序、h5、app。 无依赖性:QR…

【PyTorch】图像分割

图像分割是什么 Image Segmentation 将图像每一个像素分类 图像分割分类 超像素分割:少量超像素代替大量像素,常用于图像预处理语义分割:逐像素分类,无法区分个体实例分割:对个体目标进行分割全景分割:…

Observability:使用 OpenTelemetry 自动检测 Go 应用程序

作者:来自 Elastic Damien Mathieu 使用 OpenTelemetry 检测 Go 应用程序可以深入了解应用程序的性能、依赖项和错误。我们将向你展示如何使用 Docker 自动检测 Go 应用程序,而无需更改应用程序代码。 在快节奏的软件开发领域,尤其是在云原生…

LSTM--详解

LSTM LSTM(Long Short-Term Memory,长短期记忆网络)是一种特殊的递归神经网络(RNN),最早由Hochreiter和Schmidhuber于1997年提出,旨在解决标准RNN在处理长序列时容易出现的梯度消失和梯度爆炸问…

Oracle数据恢复—异常断电导致Oracle数据库报错的数据恢复案例

Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxf…