Ubuntu 22.04 Install deepseek

news/2025/2/22 6:55:12

前言

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.tgz

install_basics() {
 
# Check if the script is being run as root
if [ "$(id -u)" != "0" ]; then
  echo "This script must be run as root."
  exit 1
fi
 
if [[ -f /etc/os-release ]]; then
  OS=$(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)  
 
else
  echo -e "\033[31mThis script only supports $OS $VERSION...\033[0m"
  exit 1
fi
 
# Check the ollama version
if ! [ -d "$ollama_prefix" ]; then
  echo -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.rpm
	yum install -y net-tools wget curl
 
	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
 
# CentOS/RedHat/oracle/RockLinux/AlmaLinux 9 install
  9.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.rpm
	yum install -y net-tools wget curl

	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;

# CentOS/RedHat/oracle/RockLinux/AlmaLinux 10 install
  10.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.rpm
	yum install -y net-tools wget curl

	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
   
# openEuler 20,22,23,24 Linux install
   20.03|22.03|23.03|24.03) 
	echo "add epel repo"
	openEuler_epel_repo

	echo "firewall prometheus port config"
	firewall_port_up
	
	echo Installing basics...
	yum install -y net-tools wget curl

	# install ollama
	install_ollama
   ;;
   
# ubuntu 20,21,22,23,24 Linux install
   20.04|21.04|22.04|23.04|24.04)
	echo "Disable system standby"
	systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
	
	echo "Pop-up block"
	sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
	source /etc/profile

	echo "install Base Package"
	apt-get update
	apt-get install -y firewalld curl net-tools vim
	apt-get install -y git wget

	echo "firewall prometheus port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
  
# Debian 10,11.12
  10|11|12)
	echo "Disable system standby"
	systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
	
	echo "Pop-up block"
	sed -i '$ a\export DEBIAN_FRONTEND=noninteractive' /etc/profile
	source /etc/profile

	echo "install Base Package"
	apt-get update
	apt-get install -y firewalld curl net-tools vim
	apt-get install -y git wget

	# install ollama
	install_ollama
   ;;

# SUSE 12 install
  12.?)
	echo Installing  basics...
	SUSEConnect -p sle-sdk/12.5/x86_64
	zypper in -y curl net-tools

	echo "firewall sql server port"
	sed -i '/^FW_SERVICES_EXT_TCP=/ s/"\(.*\)"/"\1 '$OLLAMA_PORT'"/' /etc/sysconfig/SuSEfirewall2
	systemctl restart SuSEfirewall2.service
	
	# install ollama
	install_ollama
   ;;
 
# SUSE 15 install
  15.?)
	echo Installing  basics...
	zypper install -y net-tools net-tools-deprecated
	rpm -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.rpm
	zypper in -y firewalld curl 

	echo "firewall ollama port config"
	firewall_port_up
	
	# install ollama
	install_ollama
   ;;
    *)
	
    echo -e "\033[31m Unsupported $OS $VERSION...\033[0m" 
    exit 1
    ;;
esac
	
    echo -e "\033[32m ollama for $OS $VERSION successfully installed...\033[0m"
else
    echo -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$ ]]; then
    repo_version=9
elif [[ $VERSION_ID == 20.03 ]]; then
    repo_version=8
fi

echo "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_tgz

echo "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_tgz

echo "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 ~/.bashrc

echo "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
EOF

echo "start ollama"
systemctl daemon-reload
systemctl start ollama
systemctl enable ollama

echo "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

测试deepseek接口是否正常 

chatbox 连接deepseek

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

deepseek ai 对话


http://www.niftyadmin.cn/n/5861842.html

相关文章

使用Open WebUI下载的模型文件(Model)默认存放在哪里?

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f916;Ollama部署LLM专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2025年2月21日21点21分 &#x1f004;️文章质量&#xff1a;95分 文章目录 使用CMD安装存放位置 默认存放路径 Open WebUI下…

Android Studio SVN下载安装

原文链接&#xff1a;SVN简介和安装 步骤1&#xff1a;安装 SVN 插件 首先&#xff0c;你需要在 Android Studio 中安装 SVN 插件。你可以按照以下步骤进行操作&#xff1a; 打开 Android Studio点击 “File” 菜单&#xff0c;选择 “Settings”在 “Settings” 窗口中&…

Redis 缓存穿透、击穿、雪崩:问题与解决方案

在使用 Redis 作为缓存中间件时&#xff0c;系统可能会面临一些常见的问题&#xff0c;如 缓存穿透、缓存击穿 和 缓存雪崩。这些问题如果不加以解决&#xff0c;可能会导致数据库压力过大、系统响应变慢甚至崩溃。本文将详细分析这三种问题的起因&#xff0c;并提供有效的解决…

SpringBoot项目实现用户token和资源的多重校验

1、需求 在spring security双token机制实现一文中已经实现了token的校验&#xff0c;在实际的项目中还需要根据用户的角色或用户Id对数据资源进行校验。 例如&#xff0c;有两个项目A和B&#xff0c;张三和李四都是项目实施人员这一角色&#xff0c;张三是项目A的项目组成员&a…

学习threejs,使用MeshBasicMaterial基本网格材质

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.MeshBasicMaterial 二…

前端ES面试题及参考答案

let/const 与 var 的区别&#xff1f;TDZ 是什么&#xff1f; 在 ES6 中引入了let和const&#xff0c;它们与var存在多方面区别。 作用域方面&#xff1a;var具有函数作用域&#xff0c;意味着在函数内部使用var声明的变量&#xff0c;在整个函数体中都可以访问。例如&#xff…

【Python】打造自己的HTTP server

词汇汇总 CRLF 指的是换行和回车\r\n 教程 ./your_program.sh #启动自己的服务curl -v http://localhost:4221#开启另一个终端 测试HTTP response An HTTP response is made up of three parts, each separated by a CRLF (\r\n): Status line. Zero or more headers, each …

机器学习课程的常见章节结构

以下是机器学习课程的常见章节结构&#xff0c;结合了搜索结果中的信息&#xff1a; 1. 机器学习基础知识 机器学习的定义与分类 监督学习、无监督学习、半监督学习、强化学习 机器学习的产生与发展 机器学习的历史与现代应用 经验误差与过拟合 过拟合与欠拟合的概念及解决…