大模型实战—大模型web服务部署

devtools/2024/9/19 12:49:35/ 标签: 大模型

大模型实战—大模型web服务部署

这里我们使用的是一个叫做open-webui的开源项目

Open WebUI Demo

目前这个项目在Github 上已经得到了比较高的star 数

image-20240317105716037

这个项目提供了多种部署方式,这里我们使用docker 进行部署,如果你的web 服务和你的模型服务在同一个节点上,可以使用下面的命令

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果不是,也就是你的web服务和模型服务在不同节点的话,这里只需要指定OLLAMA_BASE_URL 即可

docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

如果你的docker 版本比较老的话,可能会遇到下面这个问题

invalid argument "host.docker.internal:host-gateway" for "--add-host" flag: invalid IP address in add-host: "host-gateway"
See 'docker run --help'.

这里建议升级docker ,当然也有其他方式,这里的–add-host 主要是为了可以让容器访问宿主机,所以可以参考老版本的解决方式

image-20240317091329315

接下来就会自动下载并且运行了

image-20240317092705499

当上面的命令执行完成后,我们可以查看一下容器有没有起来,可以看到我们的容器已经成功起启动了

image-20240317103022025

接下来我们就打开浏览器

首次我们可以去注册一个账号

image-20240317103339955

然后直接就跳转登录了,登录后整体页面如下,我们可以看到和ChatGPT 的页面基本一样

image-20240317103549002

选择模型和下载模型

在使用之前我们先要去选择一个本地已经下载的模型

image-20240317103730360

由于我们之前已经下载过两个模型了,当然你如果没有下载的话也没有关系,可以使用下面的命令下载即可

ollama run llama2

这里我们直接选择即可

image-20240317103920078

选完之后就如下所示

image-20240317103937546

当然我们可以进入设置页面的模型菜单,可以选择下载模型或者删除模型

image-20240317104051324

基本使用

接下来我们就可以在web 页面上和我们的大模型对话了

image-20240317104452513

解析文件

我们可以点击对话框的内容,选择文件上传,然后就可以让大模型基于上传文件的内容,做一些对话,这里我们主要让大模型总结一下这本书的主要内容,这其实也就是为什么我们要本地部署,不然我们也不能上传公司的文件,因为涉及泄密

image-20240317105928035

当然我们也可以针对我们上传的资料进行提问


http://www.ppmy.cn/devtools/17950.html

相关文章

51单片机入门(一)

1. 51单片机的基础介绍 2. RAM和ROM的区别 总体而言,RAM和ROM在计算机系统中起着不同的角色,RAM用于临时存储运行时数据,而ROM用于存储永久性的固件和系统程序。 3. 为什么叫51单片机 因为51系列单片机都是使用Intel 8031指令系统的单片机…

electron使用typescript

引入 TypeScript 到 Electron 项目中是一个增强代码质量和开发体验的好方法,因为 TypeScript 提供了静态类型检查、接口和类等强大的语言特性。下面是将 TypeScript 集成到 Electron 项目中的步骤: 1. 初始化项目 如果你还没有创建 Electron 项目&…

Python flask

Flask 是一个用 Python 编写的轻量级 Web 应用框架。它被设计为易于使用和扩展,使其成为构建简单网站到复杂的、动态的 web 应用程序的理想选择。以下是 Flask 的一些基本组件和概念: 主要组件 Flask:框架本身,提供基本的功能来处…

【Linux】常用命令

1. 切换命令: cd 语法: cd [相对路径或绝对路径] 使用小tips: 输入文件夹名称过程中可以使用Tab来自动不全。 演示效果: 使用了相对路径和绝对路径,可以看到它们的效果是一样的。 2. 创建目录:mkdir 语法: mkdir […

Linux下基于Electron的ZeroTier客户端GUI

Linux下基于Electron的ZeroTier客户端GUI 起因 在使用Zerotier组网的时候,我发现官方客户端GUI只有Windows版本和MacOS版本的,在Linux下加入网络等操作依然要靠命令实现,因此我干脆自己动手写了个GUI,其原理还是通过调用命令实现…

分享4张亚马逊云科技AWS免费云开发和AI证书(有答案)

今天给大家带来特别福利,一口气带来亚马逊云科技AWS4张免费云开发/AI证书(有Credly徽章,有答案),这四门都是云开发相关的硬核知识,含金量极高。 主要考察如何用AWS AI服务进行开发、以及当下热门的云原生改造,16道题80…

level2行情+在线金融数据库

jvQuant:一站式金融量化服务平台 jvQuant作为一个领先的金融量化服务平台,为广大投资者和量化分析师提供了全面、高效、稳定的数据接入和量化分析服务。该平台涵盖了多个关键功能,包括交易接入、WebSocket行情接入、历史行情查询、在线数据库…

iOS - 多线程-GCD-队列组

文章目录 iOS - 多线程-GCD-队列组1. 队列组1.1 基本使用步骤 iOS - 多线程-GCD-队列组 开发过程中,有时候想实现这样的效果 多个任务并发执行所有任务执行完成后,进行下一步处理(比如回到主线程刷新UI) 1. 队列组 可以使用GC…

C语言Linux vim shell命令

无论是在插入模式或者是其他模式下对于文件的修改都是对于内存缓冲区进行修改,只有当点击w进行保存以后才会将数据写入到一个新的文件中的,将源文件删除,并且新文件改为文件的名字 1. actionmotion dG删到文件尾 ggdG先到开头再删除到末尾…

Node.js -- 模块化

文章目录 1. 模块化介绍2. 模块化初体验3. 模块暴露数据4. 导入文件(夹)模块5. 导入模块的基本流程6. CommonJS 规范 这里是引用 1. 模块化介绍 之前我们所编写的文件都是单个文件,这就会出现一些问题: 变量不能重复命名;代码复用性差&…

【后端】python与django的开发环境搭建指南

安装Git 双击Git 客户端安装文件,在安装页面,单击“Next” 在安装路径选择页面,保持默认,单击“Next” 在功能组件选择页面,保持默认,单击“Next” 在开始菜单文件夹设置页面,保持默认&am…

十七、Java网络编程(一)

1、Java网络编程的基本概念 1)网络编程的概念 Java作为一种与平台无关的语言,从一出现就与网络有关及其密切的关系,因为Java写的程序可以在网络上直接运行,使用Java,只需编写简单的代码就能实现强大的网络功能。下面将介绍几个与Java网络编程有关的概念。 2)TCP/IP协议概…

Python + SQLAlchemy操作MySQL数据库(ORM)

一、sqlalchemy简介 SQLAlchemy是用Python编程语言开发的一个开源项目。它提供了SQL工具包和ORM(对象关系映射)工具,使用MIT许可证发行。 SQLAlchemy采用简单的Python语言,提供高效和高性能的数据库访问,实现了完整的…

Python-100-Days: Day01

Day01 Python简介 1.1989年Guido von Rossum在圣诞节之夜开始着手python语言编译器的编写。 2.1991年2月 Python v1 编译器诞生,使用C实现的,此时可以调用C的库函数。 3.1994年1月,Python v1.0 正式版发布。 4.2000年10月16日&#xff0…

B008-方法参数传递可变参数工具类

目录 方法参数传递可变参数冒泡排序Arrays工具类Arrays工具类常用方法 方法参数传递 /*** java中只有值传递* 基本数据类型 传递的是具体的值* 引用数据类型 传递的是地址值*/ public class _01_ParamPass {public static void main(String[] args) {// 调用方法 getSumge…

关于MCU核心板的一些常见问题

BGA植球与焊接(多涂焊油): 【BGA芯片是真麻烦,主要是植锡珠太麻烦了,拆一次就得重新植】https://www.bilibili.com/video/BV1vW4y1w7oNvd_source3cc3c07b09206097d0d8b0aefdf07958 / NC电容一般有两种含义&#xff1…

【转载】C#集成JWT快速入门

一、JWT基本概念 JSON Web Token(JWT)是一种开放标准(RFC 7519),它定义了一种紧凑的、自包含的方式,用于在双方之间安全地传输信息作为JSON对象。这些信息可以被验证、信任,因为它们是数字签名…

JVM(Jvm如何管理空间?对象如何存储、管理?)

Jvm如何管理空间(Java运行时数据区域与分配空间的方式) ⭐运行时数据区域 程序计数器 程序计数器(PC),是一块较小的内存空。它可以看作是当前线程所执行的字节码的行号指示器。Java虚拟机的多线程是通过时间片轮转调…

应用回归分析,R语音,逐步回归法,第5章

library(readr) data3_1 <- read_csv("data3.1.csv")View(data3_1) lm5<-lm(y~.,data=data3_1) lm6<-step(lm5,direction = "both") summary(lm6) 输出: Start: AIC=377.73 y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8 + x9Df Sum of Sq …

DIY高考倒计时小软件python实现

目录 一.前言 二.完整代码 三.代码分析 一.前言 高考倒计时是指从当前日期到高考日期之间的天数倒计时。高考是指中国的普通高等学校招生全国统一考试,是中国教育系统中最为重要和决定性的考试之一。在高考前,学生和家长通常会关注离高考还有多少天,以便合理安排备考时间…