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

Ubuntu 22.04 Install deepseek

前言

deepseekAI助手。它具有聊天机器人功能,可以与用户进行自然语言交互,回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括:

  1. 强大的语言理解能力:能够理解和生成自然语言,与用户进行流畅的对话。
  2. 多领域知识:涵盖科技、文化、历史等多个领域的知识,能够回答各种类型的问题。
  3. 持续学习:系统会不断学习和优化,提高回答的准确性和相关性。
  4. 安全隐私:注重用户数据的安全和隐私保护,遵守相关法律法规。

DeepSeek 旨在通过先进的人工智能技术,为用户提供高效、便捷的服务,提升工作和生活的效率。

创建一键部署deepseek自动化脚本

  • 自动化脚本系统支持 Centos/Redhaht/RockyLinux/AlmaLinux/OracleLinux 8,9,10,ubuntu(20,22,24),debian(11,12),suse(12,15)
  • ollama 命令文档,参考,参考2,参考3
  • ollama download Windows,Linux,mac,所有下载
  • deepseek Models 官网地址
  • Chatbox 连接deepseek api工具,下载
  • ollama 端口11434 需要自定义更改28行变量即可(28-32行环境变量需要自定义的更改)
  • ollama 安装目录/opt/ollama
  • deepseek 模型下载目录位置/opt/ollama/models
  • ollama 服务位置/usr/lib/systemd/system/ollama.service
  • 环境变量位置~/.bashrc
vim /deepseek_install.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2025/02/21<<!
# 系统支持 Centos/Redhaht/RockyLinux/AlmaLinux/OracleLinux 8,9,10,ubuntu(20,22,24),debian(11,12),suse(12,15)# ollama文档参考
https://github.com/ollama/ollama
https://ollama.readthedocs.io/quickstart/
https://ollama.cadn.net.cn/quickstart.html#google_vignette# ollama download
https://ollama.com/download/windows
https://ollama.com/download/mac
https://ollama.com/download/linux
https://github.com/ollama/ollama/releases#deepseek Models
https://ollama.com/library# download chatboxai
https://chatboxai.app/zh#download
!# variable
OLLAMA_PORT=11434
ollama_prefix=/opt/ollama
ollama_contents=ollama
ollama_models=models
opt_prefix=/opt# ollama download variable
ollama_url=https://github.com/ollama/ollama/releases/download/v0.5.11
ollama_tgz=ollama-linux-amd64.tgzinstall_basics() {# Check if the script is being run as root
if [ "$(id -u)" != "0" ]; thenecho "This script must be run as root."exit 1
fiif [[ -f /etc/os-release ]]; thenOS=$(cat /etc/*release* | grep "^ID=" | cut -d'=' -f2- | tr -d '"')VERSION=$(awk -F= '/VERSION_ID/{print $2}' /etc/os-release | tr -d '"') #VERSION=$( grep -oE 'VERSION_ID="[^"]+"' /etc/os-release | cut -d'"' -f2)  elseecho -e "\033[31mThis script only supports $OS $VERSION...\033[0m"exit 1
fi# Check the ollama version
if ! [ -d "$ollama_prefix" ]; thenecho -e "\033[32m Installing ollama for $OS $VERSION...\033[0m"case $VERSION in# CentOS/RedHat/oracle/RockLinux/AlmaLinux 8 install 8|8.1|8.2|8.3|8.4|8.5|8.6|8.7|8.8|8.9|8.10)echo Installing basics...yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpmyum install -y net-tools wget curlecho "firewall prometheus port config"firewall_port_up# install ollamainstall_ollama;;# CentOS/RedHat/oracle/RockLinux/AlmaLinux 9 install9.0|9.1|9.2|9.3|9.4|9.5|9.6|9.7|9.8|9.9|9.10) echo Installing basics...yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpmyum install -y net-tools wget curlecho "firewall prometheus port config"firewall_port_up# install ollamainstall_ollama;;# CentOS/RedHat/oracle/RockLinux/AlmaLinux 10 install10.0|10.1|10.2|10.2|10.3|10.4|10.5|10.6|10.7|10.8|10.9|10.10)  echo Installing basics...yum install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpmyum install -y net-tools wget curlecho "firewall prometheus port config"firewall_port_up# install ollamainstall_ollama;;# openEuler 20,22,23,24 Linux install20.03|22.03|23.03|24.03) echo "add epel repo"openEuler_epel_repoecho "firewall prometheus port config"firewall_port_upecho Installing basics...yum install -y net-tools wget curl# install ollamainstall_ollama;;# ubuntu 20,21,22,23,24 Linux install20.04|21.04|22.04|23.04|24.04)echo "Disable system standby"systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetecho "Pop-up block"sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profilesource /etc/profileecho "install Base Package"apt-get updateapt-get install -y firewalld curl net-tools vimapt-get install -y git wgetecho "firewall prometheus port config"firewall_port_up# install ollamainstall_ollama;;# Debian 10,11.1210|11|12)echo "Disable system standby"systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.targetecho "Pop-up block"sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profilesource /etc/profileecho "install Base Package"apt-get updateapt-get install -y firewalld curl net-tools vimapt-get install -y git wget# install ollamainstall_ollama;;# SUSE 12 install12.?)echo Installing  basics...SUSEConnect -p sle-sdk/12.5/x86_64zypper in -y curl net-toolsecho "firewall sql server port"sed -i '/^FW_SERVICES_EXT_TCP=/ s/"\(.*\)"/"\1 '$OLLAMA_PORT'"/' /etc/sysconfig/SuSEfirewall2systemctl restart SuSEfirewall2.service# install ollamainstall_ollama;;# SUSE 15 install15.?)echo Installing  basics...zypper install -y net-tools net-tools-deprecatedrpm -ivh https://ftp.lysator.liu.se/pub/opensuse/distribution/leap/15.6/repo/oss/x86_64/net-tools-deprecated-2.0+git20170221.479bb4a-3.11.x86_64.rpmzypper in -y firewalld curl echo "firewall ollama port config"firewall_port_up# install ollamainstall_ollama;;*)echo -e "\033[31m Unsupported $OS $VERSION...\033[0m" exit 1;;
esacecho -e "\033[32m ollama for $OS $VERSION successfully installed...\033[0m"
elseecho -e "\033[33m ollama for $OS $VERSION already installed...\033[0m"
fi}# Obtain the system version number
VERSION_ID=$(cat /etc/os-release | grep "^VERSION_ID=" | cut -d'=' -f2 | tr -d '"')# openEuler 20.03 22.03 23.03 24.03 add epel 8,9
openEuler_epel_repo (){if [[ $VERSION_ID =~ ^2[2-4]\.03$ ]]; thenrepo_version=9
elif [[ $VERSION_ID == 20.03 ]]; thenrepo_version=8
fiecho "openEuler add epel repo"
cat <<EOF>>/etc/yum.repos.d/epel.repo
[epel]
name=epel
baseurl=https://dl.fedoraproject.org/pub/epel/${repo_version}/Everything/x86_64/
enabled=1
gpgcheck=0
priority=1
EOF
}# firewall port up
firewall_port_up (){
echo "firewall ollama port"
systemctl enable --now firewalld
firewall-cmd --zone=public --add-port=$OLLAMA_PORT/tcp --permanent && firewall-cmd --reload 
}# install ollama
install_ollama (){echo "download ollama"
wget -N -P $opt_prefix $ollama_url/$ollama_tgzecho "Unzip installation ollama"
mkdir -p $opt_prefix/{$ollama_contents,$ollama_models}
tar -zxf $opt_prefix/$ollama_tgz -C $ollama_prefix
rm -rf $opt_prefix/$ollama_tgzecho "ollama environment variable"
echo 'export PATH='$ollama_prefix'/bin:$PATH' >>  ~/.bashrc
echo 'export PATH='$ollama_prefix'/lib:$PATH' >>  ~/.bashrc
echo 'export OLLAMA_HOST=0.0.0.0:'$OLLAMA_PORT'' >>  ~/.bashrc
source ~/.bashrcecho "create ollama server"
cat <<EOF>>/usr/lib/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target[Service]
Environment="OLLAMA_HOST=0.0.0.0:$OLLAMA_PORT"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_MODELS=$ollama_prefix/models"
ExecStart=$ollama_prefix/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3[Install]
WantedBy=default.target
EOFecho "start ollama"
systemctl daemon-reload
systemctl start ollama
systemctl enable ollamaecho "download deepseek model"
$ollama_prefix/bin/ollama run deepseek-r1:8b
}main (){install_basics
}main

执行一键部署deepseek 

  • ln -sf bash /bin/sh 切换bash 
bash /deepseek_install.sh

ollama api访问接口测试

  • 正式环境不要对外开放

chatbox 连接deepseek

  • chatbox 下载,有很多的你也可以尝试使用其它的方式接入
  • 模型提供方ollama api
  • api 域名你的主机IP和端口
  • 模型,你部署的模型选择

与deepseek ai 对话

相关文章:

Ubuntu 22.04 Install deepseek

前言 deepseekAI助手。它具有聊天机器人功能&#xff0c;可以与用户进行自然语言交互&#xff0c;回答问题、提供建议和帮助解决问题。DeepSeek 的特点包括&#xff1a; 强大的语言理解能力&#xff1a;能够理解和生成自然语言&#xff0c;与用户进行流畅的对话。多领域知识&…...

DeepSeek赋能智慧文旅:新一代解决方案,重构文旅发展的底层逻辑

DeepSeek作为一款前沿的人工智能大模型&#xff0c;凭借其强大的多模态理解、知识推理和内容生成能力&#xff0c;正在重构文旅产业的发展逻辑&#xff0c;推动行业从传统的经验驱动向数据驱动、从人力密集型向智能协同型转变。 一、智能服务重构&#xff1a;打造全域感知的智…...

小程序的分包

1.分包的概念以及基本用法 2.在小程序项目里面添加自己的分包 3.给分包加上别名 4.查看分包体积大小 5.分包的打包原则 6.分包的引用原则 7.独立分包 8.分包的预下载...

RTSP场景下RTP协议详解及音视频打包全流程

RTSP场景下RTP协议详解及音视频打包全流程 一、RTSP与RTP的关系 RTSP&#xff1a;负责媒体会话控制&#xff08;DESCRIBE、SETUP、PLAY、PAUSE&#xff09;&#xff0c;通过SDP协商传输参数&#xff08;端口、编码格式、封装模式&#xff09;。RTP&#xff1a;实际传输音视频数…...

使用API有效率地管理Dynadot域名,为域名部署DNS安全拓展(DNSSEC)

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…...

如何基于transformers库通过训练Qwen/DeepSeek模型的传统分类能力实现文本分类任务

文章目录 模型与环境准备文档分析源码解读模型训练及推理方式进阶:CPU与显存的切换进阶:多卡数据并行训练🔑 DDP 训练过程核心步骤🚫 DDP 不适用于模型并行⚖️ DDP vs. Model Parallelism⚙️ 解决大模型训练的推荐方法🎉进入大模型应用与实战专栏 | 🚀查看更多专栏…...

开源一款I2C电机驱动扩展板-FreakStudio多米诺系列

总线直流电机扩展板 原文链接&#xff1a; FreakStudio的博客 摘要 设计了一个I2C电机驱动板&#xff0c;通过I2C接口控制多个电机的转速和方向&#xff0c;支持刹车和减速功能。可连接16个扩展板&#xff0c;具有PWM输出、过流过热保护和可更换电机驱动芯片。支持按键控制…...

FFmpeg+WebSocket+JsMpeg实时视频流实现方案

之前写的使用FFmpeg Nginx HLS流媒体播放方案&#xff0c;适合对实时性要求不高的需求&#xff0c;存在延迟&#xff0c;FFmpeg需要将视频流存储到本地文件&#xff0c;而本次方案FFmpeg不需要将视频流存储到本地文件&#xff0c;而是直接将转换后的视频流&#xff08;如MJPE…...

【Linux】Linux 文件系统—— 探讨软链接(symbolic link)

ℹ️大家好&#xff0c;我是练小杰&#xff0c;周五又到了&#xff0c;明天应该就是牛马的休息日了吧&#xff01;&#xff01;&#x1f606; 前天我们详细介绍了 硬链接的特点&#xff0c;现在继续探讨 软链接的特点&#xff0c;并且后续将添加更多相关知识噢&#xff0c;谢谢…...

排序与算法:插入排序

执行效果 插入排序的执行效果是这样的&#xff1a; 呃……看不懂吗&#xff1f;没关系&#xff0c;接着往下看介绍 算法介绍 插入排序&#xff08;Insertion Sort&#xff09;是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c…...

HashMap 详解

一、核心特性 HashMap集合的key是无序不可重复的。 ①无序&#xff1a;插入顺序和取出顺序不一定相同。 ②不可重复&#xff1a;key具有唯一性。 向HashMap集合中put时&#xff0c;key如果重复的话&#xff0c;value会覆盖。 二、HashMap集合的key具有唯一性&#xff0c;向ke…...

DAY07 Collection、Iterator、泛型、数据结构

学习目标 能够说出集合与数组的区别数组:1.是引用数据类型的一种2.可以存储多个元素3.数组的长度是固定的 int[] arr1 new int[10]; int[] arr2 {1,2,3};4.数组即可以存储基本类型的数据,又可以存储引用数据类型的数据int[],double[],String[],Student[]集合:1.是引用数据类…...

计算机网络之物理层——基于《计算机网络》谢希仁第八版

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言&#xff0c;数据结构&#xff0c;Linux基础&#xff0c;ARM开发板&#xff0c;网络编程等领域UP&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff0…...

简讯:Rust 2024 edition and v1.85.0 已发布

详见 https://blog.rust-lang.org/2025/02/20/Rust-1.85.0.html 升级方法&#xff1a;rustup update stable...

DeepSeek写俄罗斯方块手机小游戏

DeepSeek写俄罗斯方块手机小游戏 提问 根据提的要求&#xff0c;让DeepSeek整理的需求&#xff0c;进行提问&#xff0c;内容如下&#xff1a; 请生成一个包含以下功能的可运行移动端俄罗斯方块H5文件&#xff1a; 核心功能要求 原生JavaScript实现&#xff0c;适配手机屏幕 …...

uniapp中引入Vant Weapp的保姆级教学(包含错误处理)

废话不多说&#xff0c;直接上方法&#xff0c;网上的教学好多都是错误的 1.安装vant weapp 在Hbuilder的终端&#xff0c;输入以下代码 npm install vant/weapp -S --production 2.新建wxcomponents文件夹 在项目的跟目录新建一个“wxcomponents’文件夹&#xff0c;与app.…...

【Python爬虫(20)】解锁Python爬虫数据存储秘籍:文件存储全攻略

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…...

关于Unity的一些基础知识点汇总

1.Prefab实例化后&#xff0c;哪些资源是共用的&#xff1f;哪些资源是拷贝的&#xff1f; 共用资源 脚本组件&#xff1a;实例化后的 Prefab 共享脚本组件的代码。若脚本中无状态数据&#xff0c;多个实例对脚本方法的调用会有相同逻辑。比如一个控制物体移动的脚本&#xff0…...

SpringCould+vue3项目的后台用户管理的CURD【Taurus教育平台】

文章目录 一.SpringCouldvue3项目的后台用户管理的CURD【Taurus教育平台】 1.1 背景 二.用户列表&#xff08;分页查询&#xff09; 2.1 前端Vue3 &#xff08;Vue3-Element-Admin&#xff09;2.2 后端SpringCould 处理 三. 用户信息删除 3.1 前端Vue3 &#xff08;Vue3-Eleme…...

功能说明并准备静态结构

功能说明并准备静态结构 <template><div class"card-container"><!-- 搜索区域 --><div class"search-container"><span class"search-label">车牌号码&#xff1a;</span><el-input clearable placeho…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

C++:std::is_convertible

C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错

出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上&#xff0c;所以报错&#xff0c;到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本&#xff0c;cu、torch、cp 的版本一定要对…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

uniapp 字符包含的相关方法

在uniapp中&#xff0c;如果你想检查一个字符串是否包含另一个子字符串&#xff0c;你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的&#xff0c;但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

Java详解LeetCode 热题 100(26):LeetCode 142. 环形链表 II(Linked List Cycle II)详解

文章目录 1. 题目描述1.1 链表节点定义 2. 理解题目2.1 问题可视化2.2 核心挑战 3. 解法一&#xff1a;HashSet 标记访问法3.1 算法思路3.2 Java代码实现3.3 详细执行过程演示3.4 执行结果示例3.5 复杂度分析3.6 优缺点分析 4. 解法二&#xff1a;Floyd 快慢指针法&#xff08;…...

向量几何的二元性:叉乘模长与内积投影的深层联系

在数学与物理的空间世界中&#xff0c;向量运算构成了理解几何结构的基石。叉乘&#xff08;外积&#xff09;与点积&#xff08;内积&#xff09;作为向量代数的两大支柱&#xff0c;表面上呈现出截然不同的几何意义与代数形式&#xff0c;却在深层次上揭示了向量间相互作用的…...