当前位置: 首页 > news >正文

ollama-webui - Ollama的ChatGPT 风格的 Web 界面

更多AI开源软件:

发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - :发现分享好用的AI工具、AI开源软件、AI模型。收录了AI搜索引擎,AI绘画工具、AI对话聊天、AI音频工具、AI图片工具、AI视频工具、AI内容检测、AI法律助手、AI高考、AI志愿、AI办公工具、AI 3D工具、AI编程工具、AI知识学习,AI竞赛、AI算力平台等[这里是图片001]https://www.aiinn.cn/

Ollama的ChatGPT 风格的 Web 界面,我们的聊天界面从 ChatGPT 中汲取灵感,确保用户友好的体验。

49200 Stars 80 贡献者 MIT License Python 语言

代码: GitHub - ntimo/ollama-webui: ChatGPT-Style Web UI Client for Ollama ??

主页: https://ollamahub.com/

主要功能
  • ?? **直观的界面**:我们的聊天界面从 ChatGPT 中汲取灵感,确保用户友好的体验。
  • ?? **响应式设计**:在桌面和移动设备上享受无缝体验。
  • **快速响应:**享受快速响应的性能。
  • ?? **轻松设置**:使用 Docker 无缝安装,享受轻松体验。
  • ?? **代码语法高亮**显示:通过我们的语法高亮功能享受增强的代码可读性。
  • ?? **完整的 Markdown 和 LaTeX 支持**:通过全面的 Markdown 和 LaTeX 功能提升您的 LLM 体验,以丰富交互。
  • ??? **下载/删除模型**:直接从 Web UI 轻松下载或删除模型。
  • ?? **多模型支持**:在不同的聊天模型之间无缝切换,以实现不同的交互。
  • **多个模型对话**: 毫不费力地同时与各种模型互动,利用他们的独特优势实现最佳响应。通过并行利用一组不同的模型来增强您的体验。
  • ?? **OpenAI 模型集成**: 无缝利用 OpenAI 模型和 Ollama 模型,以获得多样化的对话体验。
  • ?? **Regeneration History Access(重新生成历史访问**):轻松重新访问和探索您的整个重新生成历史。
  • ?? **聊天记录**: 轻松访问和管理您的对话历史记录。
  • ??? **导入/导出聊天记录**: 无缝将您的聊天数据移入和移出平台。
  • ?? **语音输入支持**:通过语音交互与您的模型互动;享受直接与模型交谈的便利。此外,探索在静音 3 秒后自动发送语音输入的选项,以获得简化的体验。
  • **使用高级参数进行微调控制**: 通过调整温度等参数并定义系统提示来根据您的特定偏好和需求定制对话,从而获得更深层次的控制。
  • ?? **Auth Header 支持**:通过直接从 Web UI 设置向 Ollama 请求添加授权标头,轻松增强安全性,确保访问安全的 Ollama 服务器。
  • ?? **外部 Ollama 服务器连接**:通过在 Docker 构建阶段配置环境变量,无缝链接到托管在不同地址上的外部 Ollama 服务器。此外,您还可以从 Web UI 构建后设置外部服务器连接 URL。
  • ?? **后端反向代理支持**:通过在 Ollama Web UI 后端和 Ollama 之间实现直接通信来增强安全性,无需通过 LAN 公开 Olamma。
安装和使用
使用 Docker Compose 安装 Ollama 和 Ollama Web UI

如果您还没有安装 Ollama,您可以使用提供的 Docker Compose 文件轻松安装。只需运行以下命令:

docker compose up -d --build

此命令将在您的系统上安装 Ollama 和 Ollama Web UI。确保修改文件以获得 GPU 支持,并在需要时在容器堆栈外部公开 Ollama API。compose.yaml

仅安装 Ollama Web UI
先决条件

在继续安装之前,请确保您已安装最新版本的 Ollama。您可以在 Ollama 找到最新版本的 Ollama。

检查 Ollama

安装 Ollama 后,通过在 Web 浏览器中访问以下链接来验证 Ollama 是否正在运行:http://127.0.0.1:11434/。请注意,端口号可能会因您的系统配置而异。

使用 Docker ??

如果 Ollama 托管在本地计算机上并且可以在 http://127.0.0.1:11434/ 访问,请运行以下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main

或者,如果您希望自己构建容器,请使用以下命令:

docker build -t ollama-webui .
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway --name ollama-webui --restart always ollama-webui

您的 Ollama Web UI 现在应该托管在 http://localhost:3000 上,并通过 LAN(或网络)访问。享受!??

访问其他服务器上的外部 Ollama

更改环境变量以匹配外部 Ollama 服务器 url:OLLAMA_API_BASE_URL

docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api --name ollama-webui --restart always ghcr.io/ollama-webui/ollama-webui:main

或者,如果您希望自己构建容器,请使用以下命令:

docker build -t ollama-webui .
docker run -d -p 3000:8080 -e OLLAMA_API_BASE_URL=https://example.com/api --name ollama-webui --restart always ollama-webui
如何在没有 Docker 的情况下安装

虽然我们强烈建议使用我们方便的 Docker 容器安装以获得最佳支持,但我们知道某些情况可能需要非 Docker 设置,尤其是出于开发目的。请注意,非 Docker 安装不受官方支持,您可能需要自行进行故障排除。

项目组件

Ollama Web UI 由两个主要组件组成:前端和后端(用作反向代理,处理静态前端文件和其他功能)。两者都需要使用 .或者,您可以在构建过程中将 设置为让前端直接连接到您的 Ollama 实例,或者将前端构建为静态文件并与后端一起提供。npm run devPUBLIC_API_BASE_URL

先决条件
  1. **克隆并进入项目:**

    git clone https://github.com/ollama-webui/ollama-webui.git
    cd ollama-webui/
    
  2. **创建和编辑 .env:**

    cp -RPp example.env .env
    
构建 Ollama Web UI 前端
  1. **安装 Node 依赖项:**

    npm install
    
  2. **在开发模式下运行或生成以进行部署:**

    • Dev Mode(要求后端同时运行):

      npm run dev
      
    • 为部署而构建:

      # `PUBLIC_API_BASE_URL` overwrites the value in `.env`
      PUBLIC_API_BASE_URL='https://example.com/api' npm run build
      
  3. **使用 Caddy(或您的首选服务器)测试 Build:**

    curl https://webi.sh/caddy | shPUBLIC_API_BASE_URL='https://localhost/api' npm run build
    caddy run --envfile .env --config ./Caddyfile.localhost
    
运行 Ollama Web UI 后端

如果您希望运行后端进行部署,请确保构建前端,以便后端可以与 API 路由一起提供前端文件。

设置说明
  1. **安装 Python 要求:**

    cd ./backend
    pip install -r requirements.txt
    
  2. **运行 Python 后端:**

    • 热重载的开发模式:

      sh dev.sh
      
    • 部署:

      sh start.sh
      

现在,您应该已在 http://localhost:8080/ 启动并运行 Ollama Web UI。随意探索 Ollama 的特性和功能!如果您遇到任何问题,请参阅上述说明或联系社区寻求帮助。

相关文章:

ollama-webui - Ollama的ChatGPT 风格的 Web 界面

更多AI开源软件: 发现分享好用的AI工具、AI开源软件、AI模型、AI变现 - :发现分享好用的AI工具、AI开源软件、AI模型。收录了AI搜索引擎,AI绘画工具、AI对话聊天、AI音频工具、AI图片工具、AI视频工具、AI内容检测、AI法律助手、AI高考、AI志…...

「下载」智慧产业园区-数字孪生建设解决方案:重构产业全景图,打造虚实结合的园区数字化底座

数字孪生技术作为一种创新的管理工具,正逐步展现出其在智慧园区建设中的重要意义。以下将从几个方面详细阐述数字孪生在智慧园区建设中的关键作用。 一、提升园区运营管理的智能化水平 数字孪生技术通过构建园区的虚拟镜像,实现了对园区物理世界的全面…...

使用Grafana中按钮插件实现收发HTTP请求

最近项目中需要监控分布式集群的各项指标信息,需要用到PrometheusGrafana的技术栈实现对分布式集群的各个节点状态进行可视化显示,但是要求前端需要提供一个易用的接口让用户可以触发一些操作,例如负载高时进行负载均衡或弹性伸缩。网上找到的…...

【附源码】Electron Windows桌面壁纸开发中的 CommonJS 和 ES Module 引入问题以及 Webpack 如何处理这种兼容

背景 在尝试让 ChatGPT 自动开发一个桌面壁纸更改的功能时,发现引入了一个 wallpaper 库,这个库的入口文件是 index.js,但是 package.json 文件下的 type:"module",这样造成了无论你使用 import from 还是 require&…...

Elasticsearch介绍及安装部署

Elasticsearch介绍 Elasticsearch 是一个分布式搜索引擎,底层基于 Lucene 实现。Elasticsearch 屏蔽了 Lucene 的底层细节,提供了分布式特性,同时对外提供了 Restful API。Elasticsearch 以其易用性迅速赢得了许多用户,被用在网站…...

物理层知识要点

文章目录 物理层接口的四大特性通信基础编码和调制(1)数字数据编码为数字信号(2)模拟数据编码为数字信号(3)常见调制方式(3)信道的极限容量 多路复用技术数据传输方式物理层下的传输…...

SpringBoot 自动装配原理及源码解析

目录 一、引言 二、什么是 Spring Boot 的自动装配 三、自动装配的核心注解解析 3.1 SpringBootApplication 注解 (1)SpringBootConfiguration: (2)EnableAutoConfiguration: (3&#xf…...

Craft CMS 模板注入导致 Rce漏洞复现(CVE-2024-56145)(附脚本)

0x01 产品描述: ‌Craft CMS‌ 是一个灵活且强大的内容管理系统(CMS),专为创意团队和开发人员设计,提供高度可定制、直观且性能优越的网站和内容管理解决方案。它以用户友好的界面、强大的插件生态系统以及支持现代web开发最佳实践的特性而闻名‌0x02 漏洞描述: 由于模板…...

Next.js 新手容易犯的错误 _ 加载与缓存管理的关键(5)

1 错误地处理搜索参数(Search Params) 问题是什么? 在 Next.js 中,搜索参数指的是 URL 中用 ?keyvalue 表示的部分,比如 https://example.com/products?colorred 中的 colorred。这通常用于过滤、排序或选择某些选…...

/etc/fstab 文件学习systemd与该文件关系

文章目录 一、文件字段1.1、设备标识1.2、挂载点1.3、文件系统类型1.4、挂载选项1.5、dump1.5、fsck顺序 二、/etc/fstab 与systemd 的关系2.1、/etc/fstab 与systemd 的关系2.2、systemd 之前/etc/fstab生效过程2.3、systemd 时代/etc/fstab生效过程 三、相关知识3.1、如何更具…...

从源码分析swift GCD_DispatchGroup

前言: 最近在写需求的时候用到了DispatchGroup,一直没有深入去学习,既然遇到了那么就总结下吧。。。。 基本介绍: 任务组(DispatchGroup) DispatchGroup 可以将多个任务组合在一起并且监听它们的完成状态。…...

25计软新增考研院校!或可捡漏上岸!

C哥专业提供——计软考研院校选择分析专业课备考指南规划 新增的计算机与软件工程考研院校为考研同学带来了多方面的机遇,这些机遇不仅体现在过国家线后可能面临的更低竞争压力,还包括更多元化的教育选择和更广阔的就业前景: 一、降低竞争压…...

C# 线程安全集合

文章目录 引言一、ConcurrentBag<T>二、ConcurrentQueue<T>三、ConcurrentStack<T>四、ConcurrentDictionary<TKey, TValue>五、总结引言 在多线程编程环境中,多个线程可能同时访问和操作集合数据。如果使用普通集合,很容易引发数据不一致、错误结果…...

箱包发霉怎么处理 箱包发霉处理修复方法

箱包发霉怎么处理&#xff1f;箱包不仅是我们出行的必需品&#xff0c;更是承载着个人风格与品味的时尚配饰。然而箱包工厂生产的箱包&#xff0c;在潮湿多变的环境中&#xff0c;箱包很容易成为霉菌滋生的温床&#xff0c;尤其是那些长时间储存的箱包&#xff0c;更是霉菌的“…...

【每日学点鸿蒙知识】Charles抓包、lock文件处理、WebView组件、NFC相关、CallMethod失败等

1、HarmonyOS系统中如何使用Charles抓包&#xff1f; 在HarmonyOS操作系统中&#xff0c;使用Charles进行抓包的步骤如下&#xff1a; 在Charles中设置代理。 首先&#xff0c;在Charles的菜单栏上选择“Proxy”→“Proxy Settings”&#xff0c;然后填入代理端口&#xff0…...

【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题分析

【异常】GL-SFT1200路由器中继模式,TL-CPE1300D无法搜寻5G网问题 情况实验结论情况 在用GL-SFT1200路由器切换中继模式时,由于web密码忘却,需要重置,但根据官网使用手册,或者对应的中文版手册,重置失败。通过跟商家联系,进行uboot刷机,提供了指导文档,尝试后刷机成功…...

LINUX--shell

函数 格式&#xff1a; func() { command } function 关键字可写&#xff0c;也可不写。 示例 1&#xff1a; #!/bin/bash func() { #定义函数 echo "Hello $1" } func world #执行主文件 # bash test.sh Hello world 数组 数组是相…...

TCP常见问题

文章目录 一、两种状态图二、常见问题1、MSL是什么 3、为何等待2MSL3、为何三次握手&#xff0c;不握手、握手一次、两次行吗4、为何四次挥手&#xff0c;三次行吗&#xff0c;两次行吗 一、两种状态图 四次挥手 二、常见问题 1、MSL是什么 MSL是Maximum Segment Lifetime的英…...

OpenCV学习——图像融合

import cv2 as cv import cv2 as cvbg cv.imread("test_images/background.jpg", cv.IMREAD_COLOR) fg cv.imread("test_images/forground.png", cv.IMREAD_COLOR)# 打印图片尺寸 print(bg.shape) print(fg.shape)resize_size (1200, 800)bg cv.resize…...

网速、续航双在线!2024随身WiFi品牌精选推荐!格行按键切三网值得买吗?

随身wifi这个东西大家用的还是蛮多的&#xff0c;特别是一些户外工作的人员&#xff0c;往往都需要配备一个随身wifi&#xff0c;这样户外工作的时候才有网络&#xff0c;工作才会比较方便一些。今天就来盘点2024年热门随身wifi哪个牌子的好用&#xff1f; 1.华为&#xff1a;通…...

ubuntu18.04连接不上网络问题

现象&#xff1a;右上角的网络图标消失&#xff0c;仅剩输入法、音量和开关图标&#xff0c;ifconfig只显示本地回环 原因&#xff1a;网络适配器未开启 解决&#xff1a; 1. 查看网络状态&#xff1a;cat /var/lib/NetworkManager/NetworkManager.state 这里显示是false&a…...

访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望

傅彦国&#xff0c;上海积鼎信息科技有限公司创始人 记者&#xff1a;请傅总介绍下我国流体仿真行业的发展现状是怎样的&#xff1f; 傅彦国&#xff1a;自2018年政府加大了对核心技术自主研发的支持力度&#xff0c;国产CFD软件逐渐步入发展正轨。 首先&#xff0c;从市场规…...

【Linux知识】exec命令行详解

文章目录 概述主要用途和 bash 有什么区别&#xff1f; 概述 在 Linux 系统中&#xff0c;exec 命令用于执行一个可执行文件&#xff0c;替换当前进程的映像。也就是说&#xff0c;当你在终端中使用 exec 命令后&#xff0c;当前的 shell 会被替换为 exec 指定的程序&#xff…...

【学术小白的学习之路】基于情感词典的中文句子情感分析(代码词典获取在结尾)

【学术小白的学习之路】基于情感词典的情感分析 1.基础函数1.1 判断情感词的否定词数量1.2 导入情感词典1.3 切分句子1.3.1为什么划分1.3.2 划分代码 1.4 完整代码 2.导入词典3.中文情感分析算法思路4.1情感词获取思路4.2 计算情感分值4.3 得分的归一化处理 4.实证5.总结 本文的…...

Linux 中 grep、sed、awk 命令

1. awk&#xff1a;强大的文本分析工具 awk&#xff0c;全称“Awk语言”&#xff0c;是一种专门用于处理文本文件的语言。它不仅能够根据关键字匹配某一行&#xff0c;还能进行复杂的文本分析和处理。awk的语法简洁明了&#xff0c;功能强大&#xff0c;是文本处理领域的佼佼者…...

一起考高项啊--现代化基础设施(工业互联网)

1、工业互联网的内涵和外延 工业互联网不是互联网在工作的简单应用&#xff0c;是具有更为丰富的内涵和外延。 它既是工业数字化、网络化、智能化转型的基础设施&#xff0c;也是互联网、大数据、人工智能与实体经济深度融合的应用模式&#xff0c;同时也是一种新业态、新产业…...

python学opencv|读取图像(二十)使用cv2.circle()绘制圆形进阶

【1】引言 前序已经掌握了使用cv2.circle()绘制圆形的基本操作&#xff0c;相关链接为&#xff1a; python学opencv|读取图像&#xff08;二十&#xff09;使用cv2.circle()绘制圆形-CSDN博客 由于圆形本身绘制起来比较简单&#xff0c;因此可以自由操作的空间也就大&#x…...

期权懂|如何减小个股期权交易中的风险?

锦鲤三三每日分享期权知识&#xff0c;帮助期权新手及时有效地掌握即市趋势与新资讯&#xff01; 如何减小个股期权交易中的风险&#xff1f; 一、选择合适的期权合约 &#xff08;1&#xff09;选择活跃的期权合约&#xff1a;投资者应优先选择交易活跃的期权合约。交易活跃的…...

ubuntu20.04 wget下载--段错误 (核心已转储)

用wget下载时总是在快下载完成时遇到段错误 untu2004-9.1.0_1.0-1_am 99%[> ] 1.63G 3.11MB/s 剩余 1s s段错误 (核心已转储)有以下两种解决方法&#xff1a; 1.手动下载 wget后面就是要下载的资源的链接&#xff0c;直接复制到浏览器中下载即可 如&#xff1a…...

怎么样保持mysql和redis数据一致性

保持 MySQL 和 Redis 数据的一致性是一个常见的挑战,因为 MySQL 是传统的关系型数据库,而 Redis 是内存数据库,通常用于缓存和高性能存储。这两者的数据更新方式不同,特别是当 Redis 用作缓存时,可能会存在缓存和数据库之间的数据不一致问题。为了保持数据一致性,通常可以…...