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

大语言模型极速部署:Ollama 与 One-API 完美搭建教程

大语言模型极速部署:Ollama 与 One-API 完美搭建教程

本文将介绍如何通过命令行工具部署 Ollama 和 One-API,帮助你快速搭建私有化大模型。

一、安装 Ollama

Ollama 是一个容器化的应用,方便部署和管理 AI 模型。以下是安装 Ollama 的步骤。

1. 使用安装脚本安装 Ollama

首先,执行以下命令来安装 Ollama:

curl -fsSL https://ollama.com/install.sh | sh

这会自动下载并执行安装脚本,安装完毕后,Ollama 应该已经成功安装到你的系统中。你可以通过以下命令验证安装是否成功:

ollama --version

如果你看到版本号输出,说明安装成功。

2. 常用命令

Ollama 提供了许多实用的命令,可以帮助你轻松管理 AI 模型和容器服务。

1. 查看 Ollama 版本

查看当前安装的 Ollama 版本:

ollama --version
2. 搜索模型

Ollama 提供了一个方便的搜索界面,可以让你快速查找并下载模型。访问以下链接来搜索模型:

Ollama 模型搜索地址

你可以根据关键词、类别或者模型类型搜索感兴趣的模型。

3. 列出已安装模型

查看当前 Ollama 上已经安装的所有模型:

ollama models list
4. 拉取(Pull)模型

要下载一个模型,你可以使用 ollama pull 命令。假设你已经找到并决定下载一个模型,例如 “gpt4”:

ollama pull gpt4

这会从 Ollama 的在线仓库下载 gpt4 模型,并将其存储到本地。

5. 运行模型

运行一个已下载的模型,你可以使用 ollama run 命令。例如,运行 gpt4 模型:

ollama run gpt4

这会启动 gpt4 模型并开始处理输入请求。

6. 删除已安装的模型

如果你不再需要某个模型,可以使用 ollama remove 命令删除它:

ollama remove gpt4
7. 更新模型

保持你的模型更新也是很重要的。使用以下命令来更新所有已安装的模型:

ollama update

3.Ollama 端口修改

如何自定义ollama的服务器地址和端口? #1357

添加 OLLAMA_HOST=0.0.0.0:6006 系统环境变量,并重启 ollama。

二、部署 One-API

One-API 是一个开源项目,可以帮助你在容器中快速搭建 API 服务。你可以选择使用 SQLite 或 MySQL 作为后端数据库存储。

1. 使用 SQLite 部署 One-API

如果你选择使用 SQLite 数据库进行存储,可以通过 Docker 来快速部署 One-API。

执行以下命令:

docker run --name one-api -d --restart always -p 3000:3000 -e TZ=Asia/Shanghai -v /data/one-api:/data justsong/one-api:v0.6.11-alpha.7
  • --name one-api:指定容器名称为 one-api
  • -d:让容器在后台运行。
  • --restart always:容器退出后会自动重启。
  • -p 3000:3000:映射容器的 3000 端口到宿主机的 3000 端口。
  • -e TZ=Asia/Shanghai:设置容器时区为上海。
  • -v /data/one-api:/data:将宿主机的 /data/one-api 目录挂载到容器内的 /data 目录,以便持久化数据。

如果你使用 SQLite,可以通过上述命令完成 One-API 的部署。

2. 使用 MySQL 部署 One-API

如果你希望使用 MySQL 数据库,你需要在上面的命令基础上增加数据库连接的环境变量。你可以通过如下命令进行部署:

docker run --name one-api -d --restart always -p 3000:3000 -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi" -e TZ=Asia/Shanghai -v /data/one-api:/data justsong/one-api
  • -e SQL_DSN="root:123456@tcp(localhost:3306)/oneapi":设置数据库连接字符串,root:123456 是数据库的用户名和密码,localhost:3306 是 MySQL 数据库的地址和端口,oneapi 是数据库名称。请根据实际情况修改这些参数。

3. 配置数据库

在使用 MySQL 时,你需要确保 MySQL 数据库已经安装并配置好。以下是 MySQL 数据库的创建和配置步骤:

  1. 登录 MySQL:

    mysql -u root -p
    
  2. 创建数据库:

    CREATE DATABASE oneapi;
    
  3. 创建数据库用户并授权:

    CREATE USER 'root'@'%' IDENTIFIED BY '123456';
    GRANT ALL PRIVILEGES ON oneapi.* TO 'root'@'%';
    FLUSH PRIVILEGES;
    
  4. 确保 MySQL 数据库正常运行,且可以通过 localhost:3306 进行访问。

4. 启动和验证服务

启动容器后,可以通过浏览器访问 http://localhost:3000 来验证 One-API 是否正常运行。如果看到 API 文档界面或者返回相关的数据,说明部署成功。

三、总结

通过 Docker 部署 Ollama 和 One-API,可以帮助你快速搭建 AI 模型和 API 服务。选择使用 SQLite 或 MySQL 数据库,具体根据你的需求来决定。如果有进一步的配置需求,可以参考 One-API 项目的

相关文章:

大语言模型极速部署:Ollama 与 One-API 完美搭建教程

大语言模型极速部署:Ollama 与 One-API 完美搭建教程 本文将介绍如何通过命令行工具部署 Ollama 和 One-API,帮助你快速搭建私有化大模型。 一、安装 Ollama Ollama 是一个容器化的应用,方便部署和管理 AI 模型。以下是安装 Ollama 的步骤。…...

【C++】STL——list底层实现

目录 💕1.list的三个类介绍 💕2.list——节点类 (ListNode) 💕3.list——链表类 (List) 💕4.list——迭代器类(重点思考)(ListIterator) 💕5…...

Java 进阶day14XML Dom4j 工厂模式 Base64

目录 知识点1、XML 概念XML约束 知识点2、XML解析 Dom4j(Dom for java)XPath 知识点3、工厂模式知识点4、Base64 知识点1、XML 概念 XML的全称为(eXtensible Markup Language),是一种可扩展的标记语言。 XML的作用&…...

100.6 AI量化面试题:如何评估AI量化模型的过拟合风险?

目录 0. 承前1. 解题思路1.1 性能验证维度1.2 统计检验维度1.3 实践验证维度 2. 样本内外性能对比2.1 基础性能指标计算2.2 策略收益对比 3. 参数敏感性分析3.1 参数网格搜索3.2 稳定性评估 4. 白噪声测试4.1 随机数据测试 5. Deflated Sharpe Ratio5.1 DSR计算 6. 交易成本敏感…...

C++模板:泛型编程的魔法钥匙

前言 本篇博客将详细介绍C的模板 💖 个人主页:熬夜写代码的小蔡 🖥 文章专栏:C 若有问题 评论区见 🎉欢迎大家点赞👍收藏⭐文章 ​ 一:引言:为什么需要模板? 1.复杂代码…...

unordered_map/set的哈希封装

【C笔记】unordered_map/set的哈希封装 🔥个人主页:大白的编程日记 🔥专栏:C笔记 文章目录 【C笔记】unordered_map/set的哈希封装前言一. 源码及框架分析二.迭代器三.operator[]四.使用哈希表封装unordered_map/set后言 前言 哈…...

机器学习专业毕设选题推荐合集 人工智能

目录 前言 毕设选题 开题指导建议 更多精选选题 选题帮助 最后 前言 大家好,这里是海浪学长毕设专题! 大四是整个大学期间最忙碌的时光,一边要忙着准备考研、考公、考教资或者实习为毕业后面临的升学就业做准备,一边要为毕业设计耗费大量精力。学长给大家整理…...

软件工程导论三级项目报告--《软件工程》课程网站

《软件工程》课程网站 摘要 本文详细介绍了《软件工程》课程网站的设计与实现方案,包括可行性分析、需求分析、总体设计、详细设计、测试用例。首先,通过可行性分析从各方面确认了该工程的可实现性,接着需求分析明确了系统的目标用户群和功能…...

物联网领域的MQTT协议,优势和应用场景

MQTT(Message Queuing Telemetry Transport)作为轻量级发布/订阅协议,凭借其低带宽消耗、低功耗与高扩展性,已成为物联网通信的事实标准。其核心优势包括:基于TCP/IP的异步通信机制、支持QoS(服务质量&…...

缓存类为啥使用 unordered_map 而不是 map

性能考虑: std::unordered_map 是基于哈希表实现的,而 std::map 是基于红黑树实现的。对于查找操作,std::unordered_map 的平均查找时间复杂度是 O ( 1 ) O(1) O(1),而 std::map 的查找时间复杂度是 O ( l o g n ) O(log n) O(l…...

产品经理的人工智能课 02 - 自然语言处理

产品经理的人工智能课 02 - 自然语言处理 1 自然语言处理是什么2 一个 NLP 算法的例子——n-gram 模型3 预处理与重要概念3.1 分词 Token3.2 词向量化表示与 Word2Vec 4 与大语言模型的交互过程参考链接 大语言模型(Large Language Models, LLMs)是自然语…...

2024年MySQL 下载、安装及启动停止教程(非常详细),涉及命令行net start mysql80提示发生系统错误5的解决方案

一、安装包下载 官方网址: https://www.mysql.com/ MySQL 官方提供了两种不同的版本: 1.社区版本( MySQL Community Server ) :免费, 但MySQL 不提供任何技术支持 2.商业版本( MySQL Enterp…...

19.[前端开发]Day19-王者荣项目耀实战(二)

01_(掌握)王者荣耀-main-banner展示实现 完整代码 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewpor…...

lmk内存压力测试工具mem-pressure源码剖析

背景&#xff1a; android系统开发过程中&#xff0c;经常会遇到一些low memory kill的问题&#xff0c;在分析这些系统低内存导致被杀问题时候&#xff0c;经常因为不好复现而成为一个比较烦恼的阻碍。因为这种低内存问题本身就不属于一种功能操作类型的问题&#xff0c;属于…...

企业四要素如何用Java进行调用

一、什么是企业四要素&#xff1f; 企业四要素是在企业三要素&#xff08;企业名称、统一社会信用代码、法定代表人姓名&#xff09;的基础上&#xff0c;增加了一个关键要素&#xff0c;通常是企业注册号或企业银行账户信息。这种接口主要用于更全面的企业信息验证&#xff0c…...

修剪二叉搜索树(力扣669)

这道题还是比较复杂&#xff0c;在递归上与之前写过的二叉树的题目都有所不同。如果当前递归到的子树的父节点不在范围中&#xff0c;我们根据节点数值的大小选择进行左递归还是右递归。为什么找到了不满足要求的节点之后&#xff0c;还要进行递归呢&#xff1f;因为该不满足要…...

一款由 .NET 官方团队开源的电子商务系统 - eShop

项目介绍 eShop是一款由.NET官方开源的&#xff0c;基于.NET Aspire构建的用于参考学习的服务架构电子商务系统&#xff0c;旨在展示如何利用.NET框架及其相关技术栈构建一个现代化的电子商务网站。该项目采用服务架构&#xff0c;将应用程序分解为多个独立的服务&#xff0c;…...

论最新技术编程类有什么,值得关注的点有什么呢?

在2025年的编程领域,新技术层出不穷。编程语言方面,Zig作为新一代系统级编程语言,凭借无隐藏控制流、出色的优化性能以及良好的C语言兼容性,被视作C语言强有力的替代者;Rust的应用范围不断拓展,在系统开发和Web后端开发中表现亮眼,其“零成本抽象”特性在保障内存安全的…...

Java入门进阶

文章目录 1、常用API 1.1、Math1.2、System1.3、Object1.4、Arrays1.5、基本类型包装类 1.5.1、基本类型包装类概述1.5.2、Integer1.5.3、int和String相互转换1.5.4、自动装箱和拆箱 1.6、日期类 1.6.1、Date类1.6.2、SimpleDateFormat类 1.6.2.1、格式化&#xff08;从Date到…...

Java并发编程面试题:ThreadLocal(8题)

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

反向工程与模型迁移:打造未来商品详情API的可持续创新体系

在电商行业蓬勃发展的当下&#xff0c;商品详情API作为连接电商平台与开发者、商家及用户的关键纽带&#xff0c;其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息&#xff08;如名称、价格、库存等&#xff09;的获取与展示&#xff0c;已难以满足市场对个性化、智能…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多&#xff0c;如何一步解决&#xff0c;采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集&#xff08;每个目录代表一个类别&#xff0c;目录下是该类别的所有图片&#xff09;&#xff0c;你需要进行以下配置步骤&#x…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

ABAP设计模式之---“简单设计原则(Simple Design)”

“Simple Design”&#xff08;简单设计&#xff09;是软件开发中的一个重要理念&#xff0c;倡导以最简单的方式实现软件功能&#xff0c;以确保代码清晰易懂、易维护&#xff0c;并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计&#xff0c;遵循“让事情保…...

LeetCode - 199. 二叉树的右视图

题目 199. 二叉树的右视图 - 力扣&#xff08;LeetCode&#xff09; 思路 右视图是指从树的右侧看&#xff0c;对于每一层&#xff0c;只能看到该层最右边的节点。实现思路是&#xff1a; 使用深度优先搜索(DFS)按照"根-右-左"的顺序遍历树记录每个节点的深度对于…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...