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

Windows 安装 DeepSeek 教程和open webui 图形化部署(非docker)

Windows 安装 Ollama :

步骤 1:下载并安装 Ollama

官网:奥拉马 点击下载  选择windows版本。

 双击安装包

点击【Install】(注意:安装包是直接安装在C盘的,并不支持更改路径,因此C盘的空间必须要至少大于5GB的空余空间)

 等待安装完成

步骤2:部署模型

版本:1.5b,适用于一般文字编辑使用(C盘至少需要1.1GB空余空间)
ollama run deepseek-r1:1.5b

版本:7b,DeepSeek的第一代推理模型,性能与OpenAl-01相当,包括从基于Llama和Qwen的DeepSeek-R1中提取的六个密集模型(C盘至少需要4.7GB空余空间)
ollama run deepseek-r1:7b

版本:8b,(C盘至少需要4.9GB空余空间)
ollama run deepseek-r1:8b

版本:14b,(C盘至少需要9GB空余空间)
ollama run deepseek-r1:14b

版本:32b,(C盘至少需要20GB空余空间)
ollama run deepseek-r1:32b

版本:70b,(C盘至少需要43GB空余空间)
ollama run deepseek-r1:70b

版本:671b,(C盘至少需要404GB空余空间)
ollama run deepseek-r1:671b 

win +R 键 打开对话框 输入cmd 打开终端,根据自己的电脑配置,选择对应的deepseek-r模型。

 部署完成

如何重新进入对话框,按win +R 键 打开对话框 输入cmd 打开终端,

输入:ollama list 查看安装的模型  然后 ollama run 模型

open webui 图形化部署

步骤1:环境配置

下载open webui 官网:🏡 首页 |打开 WebUI
python 下载官网:适用于 Windows 的 Python 版本 |Python.org
Node.js下载官网:下载 | Node.js 中文网
可以百度搜索python pip Node.js的下载教程,这里就不详细解释了。

步骤2:安装部署open-webui 安装 (推荐)uv

#下载安装脚本install.ps1
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
#运行 Open WebUI
$env:DATA_DIR="C:\open-webui\data"; uvx --python 3.11 open-webui@latest serve
#安装 Open WebUI
pip install open-webui
#启动 Open WebUI
open-webui serve
#更新 Open WebUI
pip install --upgrade open-webui

列出 ollama 模型
ollama list
查看 Python 版本。
python --version
查看 pip 版本
pip --version
查看 open-webui 包的详细信息。
pip show open-webui

补充:如果上述方法不行 有报错可以尝试下面的方法。

首先保证安装了python pip Node.js

步骤1 创建  uv-installer.ps1 脚本内容如下:

# Licensed under the MIT license
# <LICENSE-MIT or https://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.<#
.SYNOPSISThe installer for uv 0.5.29.DESCRIPTIONThis script detects what platform you're on and fetches an appropriate archive from
https://github.com/astral-sh/uv/releases/download/0.5.29
then unpacks the binaries and installs them to the first of the following locations$env:XDG_BIN_HOME$env:XDG_DATA_HOME/../bin$HOME/.local/binIt will then add that dir to PATH by editing your Environment.Path registry key.PARAMETER ArtifactDownloadUrl
The URL of the directory where artifacts can be fetched from.PARAMETER NoModifyPath
Don't add the install directory to PATH.PARAMETER Help
Print help#>param ([Parameter(HelpMessage = "The URL of the directory where artifacts can be fetched from")][string]$ArtifactDownloadUrl = 'https://github.com/astral-sh/uv/releases/download/0.5.29',[Parameter(HelpMessage = "Don't add the install directory to PATH")][switch]$NoModifyPath,[Parameter(HelpMessage = "Print Help")][switch]$Help
)$app_name = 'uv'
$app_version = '0.5.29'
if ($env:UV_INSTALLER_GHE_BASE_URL) {$installer_base_url = $env:UV_INSTALLER_GHE_BASE_URL
} elseif ($env:UV_INSTALLER_GITHUB_BASE_URL) {$installer_base_url = $env:UV_INSTALLER_GITHUB_BASE_URL
} else {$installer_base_url = "https://github.com"
}
if ($env:INSTALLER_DOWNLOAD_URL) {$ArtifactDownloadUrl = $env:INSTALLER_DOWNLOAD_URL
} else {$ArtifactDownloadUrl = "$installer_base_url/astral-sh/uv/releases/download/0.5.29"
}$receipt = @"
{"binaries":["CARGO_DIST_BINS"],"binary_aliases":{},"cdylibs":["CARGO_DIST_DYLIBS"],"cstaticlibs":["CARGO_DIST_STATICLIBS"],"install_layout":"unspecified","install_prefix":"AXO_INSTALL_PREFIX","modify_path":true,"provider":{"source":"cargo-dist","version":"0.28.0"},"source":{"app_name":"uv","name":"uv","owner":"astral-sh","release_type":"github"},"version":"0.5.29"}
"@
if ($env:XDG_CONFIG_HOME) {$receipt_home = "${env:XDG_CONFIG_HOME}\uv"
} else {$receipt_home = "${env:LOCALAPPDATA}\uv"
}if ($env:UV_DISABLE_UPDATE) {$install_updater = $false
} else {$install_updater = $true
}if ($NoModifyPath) {Write-Information "-NoModifyPath has been deprecated; please set UV_NO_MODIFY_PATH=1 in the environment"
}if ($env:UV_NO_MODIFY_PATH) {$NoModifyPath = $true
}$unmanaged_install = $env:UV_UNMANAGED_INSTALLif ($unmanaged_install) {$NoModifyPath = $true$install_updater = $false
}function Install-Binary($install_args) {if ($Help) {Get-Help $PSCommandPath -DetailedExit}Initialize-Environment# Platform info injected by dist$platforms = @{"aarch64-pc-windows-gnu" = @{"artifact_name" = "uv-aarch64-pc-windows-msvc.zip""bins" = @("uv.exe", "uvx.exe")"libs" = @()"staticlibs" = @()"zip_ext" = ".zip""aliases" = @{}"aliases_json" = '{}'}"aarch64-pc-windows-msvc" = @{"artifact_name" = "uv-aarch64-pc-windows-msvc.zip""bins" = @("uv.exe", "uvx.exe")"libs" = @()"staticlibs" = @()"zip_ext" = ".zip""aliases" = @{}"aliases_json" = '{}'}"i686-pc-windows-gnu" = @{"artifact_name" = "uv-i686-pc-windows-msvc.zip""bins" = @("uv.exe", "uvx.exe")"libs" = @()"staticlibs" = @()"zip_ext" = ".zip""aliases" = @{}"aliases_json" = '{}'}"i686-pc-windows-msvc" = @{"artifact_name" = "uv-i686-pc-windows-msvc.zip""bins" = @("uv.exe", "uvx.exe")"libs" = @()"staticlibs" = @()"zip_ext" = ".zip""aliases" = @{}"aliases_json" = '{}'}"x86_64-pc-windows-gnu" = @{"artifact_name" = "uv-x86_64-pc-windows-msvc.zip""bins" = @("uv.exe", "uvx.exe")"libs" = @()"staticlibs" = @()"zip_ext" = ".zip""aliases" = @{}"aliases_json" = '{}'}"x86_64-pc-windows-msvc" = @{"artifact_name" = "uv-x86_64-pc-windows-msvc.zip""bins" = @("uv.exe", "uvx.exe")"libs" = @()"staticlibs" = @()"zip_ext" = ".zip""aliases" = @{}"aliases_json" = '{}'}}$fetched = Download "$ArtifactDownloadUrl" $platforms# FIXME: add a flag that lets the user not do this steptry {Invoke-Installer -artifacts $fetched -platforms $platforms "$install_args"} catch {throw @"
We encountered an error trying to perform the installation;
please review the error messages below.$_
"@}
}function Get-TargetTriple($platforms) {$double = Get-Archif ($platforms.Contains("$double-msvc")) {return "$double-msvc"} else {return "$double-gnu"}
}function Get-Arch() {try {# NOTE: this might return X64 on ARM64 Windows, which is OK since emulation is available.# It works correctly starting in PowerShell Core 7.3 and Windows PowerShell in Win 11 22H2.# Ideally this would just be#   [System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture# but that gets a type from the wrong assembly on Windows PowerShell (i.e. not Core)$a = [System.Reflection.Assembly]::LoadWithPartialName("System.Runtime.InteropServices.RuntimeInformation")$t = $a.GetType("System.Runtime.InteropServices.RuntimeInformation")$p = $t.GetProperty("OSArchitecture")# Possible OSArchitecture Values: https://learn.microsoft.com/dotnet/api/system.runtime.interopservices.architecture# Rust supported platforms: https://doc.rust-lang.org/stable/rustc/platform-support.htmlswitch ($p.GetValue($null).ToString()){"X86" { return "i686-pc-windows" }"X64" { return "x86_64-pc-windows" }"Arm" { return "thumbv7a-pc-windows" }"Arm64" { return "aarch64-pc-windows" }}} catch {# The above was added in .NET 4.7.1, so Windows PowerShell in versions of Windows# prior to Windows 10 v1709 may not have this API.Write-Verbose "Get-TargetTriple: Exception when trying to determine OS architecture."Write-Verbose $_}# This is available in .NET 4.0. We already checked for PS 5, which requires .NET 4.5.Write-Verbose("Get-TargetTriple: falling back to Is64BitOperatingSystem.")if ([System.Environment]::Is64BitOperatingSystem) {return "x86_64-pc-windows"} else {return "i686-pc-windows"}
}function Download($download_url, $platforms) {$arch = Get-TargetTriple $platformsif (-not $platforms.ContainsKey($arch)) {$platforms_json = ConvertTo-Json $platformsthrow "ERROR: could not find binaries for this platform. Last platform tried: $arch platform info: $platforms_json"}# Lookup what we expect this platform to look like$info = $platforms[$arch]$zip_ext = $info["zip_ext"]$bin_names = $info["bins"]$lib_names = $info["libs"]$staticlib_names = $info["staticlibs"]$artifact_name = $info["artifact_name"]# Make a new temp dir to unpack things to$tmp = New-Temp-Dir$dir_path = "$tmp\$app_name$zip_ext"# Download and unpack!$url = "$download_url/$artifact_name"Write-Information "Downloading $app_name $app_version ($arch)"Write-Verbose "  from $url"Write-Verbose "  to $dir_path"$wc = New-Object Net.Webclient$wc.downloadFile($url, $dir_path)Write-Verbose "Unpacking to $tmp"# Select the tool to unpack the files with.## As of windows 10(?), powershell comes with tar preinstalled, but in practice# it only seems to support .tar.gz, and not xz/zstd. Still, we should try to# forward all tars to it in case the user has a machine that can handle it!switch -Wildcard ($zip_ext) {".zip" {Expand-Archive -Path $dir_path -DestinationPath "$tmp";Break}".tar.*" {tar xf $dir_path --strip-components 1 -C "$tmp";Break}Default {throw "ERROR: unknown archive format $zip_ext"}}# Let the next step know what to copy$bin_paths = @()foreach ($bin_name in $bin_names) {Write-Verbose "  Unpacked $bin_name"$bin_paths += "$tmp\$bin_name"}$lib_paths = @()foreach ($lib_name in $lib_names) {Write-Verbose "  Unpacked $lib_name"$lib_paths += "$tmp\$lib_name"}$staticlib_paths = @()foreach ($lib_name in $staticlib_names) {Write-Verbose "  Unpacked $lib_name"$staticlib_paths += "$tmp\$lib_name"}if (($null -ne $info["updater"]) -and $install_updater) {$updater_id = $info["updater"]["artifact_name"]$updater_url = "$download_url/$updater_id"$out_name = "$tmp\uv-update.exe"$wc.downloadFile($updater_url, $out_name)$bin_paths += $out_name}return @{"bin_paths" = $bin_paths"lib_paths" = $lib_paths"staticlib_paths" = $staticlib_paths}
}function Invoke-Installer($artifacts, $platforms) {# Replaces the placeholder binary entry with the actual list of binaries$arch = Get-TargetTriple $platformsif (-not $platforms.ContainsKey($arch)) {$platforms_json = ConvertTo-Json $platformsthrow "ERROR: could not find binaries for this platform. Last platform tried: $arch platform info: $platforms_json"}$info = $platforms[$arch]# Forces the install to occur at this path, not the default$force_install_dir = $null$install_layout = "unspecified"# Check the newer app-specific variable before falling back# to the older generic oneif (($env:UV_INSTALL_DIR)) {$force_install_dir = $env:UV_INSTALL_DIR$install_layout = "flat"} elseif (($env:CARGO_DIST_FORCE_INSTALL_DIR)) {$force_install_dir = $env:CARGO_DIST_FORCE_INSTALL_DIR$install_layout = "flat"} elseif ($unmanaged_install) {$force_install_dir = $unmanaged_install$install_layout = "flat"}# Check if the install layout should be changed from `flat` to `cargo-home`# for backwards compatible updates of applications that switched layouts.if (($force_install_dir) -and ($install_layout -eq "flat")) {# If the install directory is targeting the Cargo home directory, then# we assume this application was previously installed that layout# Note the installer passes the path with `\\` separators, but here they are# `\` so we normalize for comparison. We don't use `Resolve-Path` because they# may not exist.$cargo_home = if ($env:CARGO_HOME) { $env:CARGO_HOME } else {Join-Path $(if ($HOME) { $HOME } else { "." }) ".cargo"}if ($force_install_dir.Replace('\\', '\') -eq $cargo_home) {$install_layout = "cargo-home"}}# The actual path we're going to install to$dest_dir = $null$dest_dir_lib = $null# The install prefix we write to the receipt.# For organized install methods like CargoHome, which have# subdirectories, this is the root without `/bin`. For other# methods, this is the same as `_install_dir`.$receipt_dest_dir = $null# Before actually consulting the configured install strategy, see# if we're overriding it.if (($force_install_dir)) {switch ($install_layout) {"hierarchical" {$dest_dir = Join-Path $force_install_dir "bin"$dest_dir_lib = Join-Path $force_install_dir "lib"}"cargo-home" {$dest_dir = Join-Path $force_install_dir "bin"$dest_dir_lib = $dest_dir}"flat" {$dest_dir = $force_install_dir$dest_dir_lib = $dest_dir}Default {throw "Error: unrecognized installation layout: $install_layout"}}$receipt_dest_dir = $force_install_dir}if (-Not $dest_dir) {# Install to $env:XDG_BIN_HOME$dest_dir = if (($base_dir = $env:XDG_BIN_HOME)) {Join-Path $base_dir ""}$dest_dir_lib = $dest_dir$receipt_dest_dir = $dest_dir$install_layout = "flat"}if (-Not $dest_dir) {# Install to $env:XDG_DATA_HOME/../bin$dest_dir = if (($base_dir = $env:XDG_DATA_HOME)) {Join-Path $base_dir "../bin"}$dest_dir_lib = $dest_dir$receipt_dest_dir = $dest_dir$install_layout = "flat"}if (-Not $dest_dir) {# Install to $HOME/.local/bin$dest_dir = if (($base_dir = $HOME)) {Join-Path $base_dir ".local/bin"}$dest_dir_lib = $dest_dir$receipt_dest_dir = $dest_dir$install_layout = "flat"}# Looks like all of the above assignments failedif (-Not $dest_dir) {throw "ERROR: could not find a valid path to install to; please check the installation instructions"}# The replace call here ensures proper escaping is inlined into the receipt$receipt = $receipt.Replace('AXO_INSTALL_PREFIX', $receipt_dest_dir.replace("\", "\\"))$receipt = $receipt.Replace('"install_layout":"unspecified"', -join('"install_layout":"', $install_layout, '"'))$dest_dir = New-Item -Force -ItemType Directory -Path $dest_dir$dest_dir_lib = New-Item -Force -ItemType Directory -Path $dest_dir_libWrite-Information "Installing to $dest_dir"# Just copy the binaries from the temp location to the install dirforeach ($bin_path in $artifacts["bin_paths"]) {$installed_file = Split-Path -Path "$bin_path" -LeafCopy-Item "$bin_path" -Destination "$dest_dir" -ErrorAction StopRemove-Item "$bin_path" -Recurse -Force -ErrorAction StopWrite-Information "  $installed_file"if (($dests = $info["aliases"][$installed_file])) {$source = Join-Path "$dest_dir" "$installed_file"foreach ($dest_name in $dests) {$dest = Join-Path $dest_dir $dest_name$null = New-Item -ItemType HardLink -Target "$source" -Path "$dest" -Force -ErrorAction Stop}}}foreach ($lib_path in $artifacts["lib_paths"]) {$installed_file = Split-Path -Path "$lib_path" -LeafCopy-Item "$lib_path" -Destination "$dest_dir_lib" -ErrorAction StopRemove-Item "$lib_path" -Recurse -Force -ErrorAction StopWrite-Information "  $installed_file"}foreach ($lib_path in $artifacts["staticlib_paths"]) {$installed_file = Split-Path -Path "$lib_path" -LeafCopy-Item "$lib_path" -Destination "$dest_dir_lib" -ErrorAction StopRemove-Item "$lib_path" -Recurse -Force -ErrorAction StopWrite-Information "  $installed_file"}$formatted_bins = ($info["bins"] | ForEach-Object { '"' + $_ + '"' }) -join ","$receipt = $receipt.Replace('"CARGO_DIST_BINS"', $formatted_bins)$formatted_libs = ($info["libs"] | ForEach-Object { '"' + $_ + '"' }) -join ","$receipt = $receipt.Replace('"CARGO_DIST_DYLIBS"', $formatted_libs)$formatted_staticlibs = ($info["staticlibs"] | ForEach-Object { '"' + $_ + '"' }) -join ","$receipt = $receipt.Replace('"CARGO_DIST_STATICLIBS"', $formatted_staticlibs)# Also replace the aliases with the arch-specific one$receipt = $receipt.Replace('"binary_aliases":{}', -join('"binary_aliases":',  $info['aliases_json']))if ($NoModifyPath) {$receipt = $receipt.Replace('"modify_path":true', '"modify_path":false')}# Write the install receiptif ($install_updater) {$null = New-Item -Path $receipt_home -ItemType "directory" -ErrorAction SilentlyContinue# Trying to get Powershell 5.1 (not 6+, which is fake and lies) to write utf8 is a crime# because "Out-File -Encoding utf8" actually still means utf8BOM, so we need to pull out# .NET's APIs which actually do what you tell them (also apparently utf8NoBOM is the# default in newer .NETs but I'd rather not rely on that at this point).$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False[IO.File]::WriteAllLines("$receipt_home/uv-receipt.json", "$receipt", $Utf8NoBomEncoding)}# Respect the environment, but CLI takes precedenceif ($null -eq $NoModifyPath) {$NoModifyPath = $env:INSTALLER_NO_MODIFY_PATH}Write-Information "everything's installed!"if (-not $NoModifyPath) {Add-Ci-Path $dest_dirif (Add-Path $dest_dir) {Write-Information ""Write-Information "To add $dest_dir to your PATH, either restart your shell or run:"Write-Information ""Write-Information "    set Path=$dest_dir;%Path%   (cmd)"Write-Information "    `$env:Path = `"$dest_dir;`$env:Path`"   (powershell)"}}
}# Attempt to do CI-specific rituals to get the install-dir on PATH faster
function Add-Ci-Path($OrigPathToAdd) {# If GITHUB_PATH is present, then write install_dir to the file it refs.# After each GitHub Action, the contents will be added to PATH.# So if you put a curl | sh for this script in its own "run" step,# the next step will have this dir on PATH.## Note that GITHUB_PATH will not resolve any variables, so we in fact# want to write the install dir and not an expression that evals to itif (($gh_path = $env:GITHUB_PATH)) {Write-Output "$OrigPathToAdd" | Out-File -FilePath "$gh_path" -Encoding utf8 -Append}
}# Try to permanently add the given path to the user-level
# PATH via the registry
#
# Returns true if the registry was modified, otherwise returns false
# (indicating it was already on PATH)
#
# This is a lightly modified version of this solution:
# https://stackoverflow.com/questions/69236623/adding-path-permanently-to-windows-using-powershell-doesnt-appear-to-work/69239861#69239861
function Add-Path($LiteralPath) {Write-Verbose "Adding $LiteralPath to your user-level PATH"$RegistryPath = 'registry::HKEY_CURRENT_USER\Environment'# Note the use of the .GetValue() method to ensure that the *unexpanded* value is returned.# If 'Path' is not an existing item in the registry, '' is returned.$CurrentDirectories = (Get-Item -LiteralPath $RegistryPath).GetValue('Path', '', 'DoNotExpandEnvironmentNames') -split ';' -ne ''if ($LiteralPath -in $CurrentDirectories) {Write-Verbose "Install directory $LiteralPath already on PATH, all done!"return $false}Write-Verbose "Actually mutating 'Path' Property"# Add the new path to the front of the PATH.# The ',' turns $LiteralPath into an array, which the array of# $CurrentDirectories is then added to.$NewPath = (,$LiteralPath + $CurrentDirectories) -join ';'# Update the registry. Will create the property if it did not already exist.# Note the use of ExpandString to create a registry property with a REG_EXPAND_SZ data type.Set-ItemProperty -Type ExpandString -LiteralPath $RegistryPath Path $NewPath# Broadcast WM_SETTINGCHANGE to get the Windows shell to reload the# updated environment, via a dummy [Environment]::SetEnvironmentVariable() operation.$DummyName = 'cargo-dist-' + [guid]::NewGuid().ToString()[Environment]::SetEnvironmentVariable($DummyName, 'cargo-dist-dummy', 'User')[Environment]::SetEnvironmentVariable($DummyName, [NullString]::value, 'User')Write-Verbose "Successfully added $LiteralPath to your user-level PATH"return $true
}function Initialize-Environment() {If (($PSVersionTable.PSVersion.Major) -lt 5) {throw @"
Error: PowerShell 5 or later is required to install $app_name.
Upgrade PowerShell:https://docs.microsoft.com/en-us/powershell/scripting/setup/installing-windows-powershell"@}# show notification to change execution policy:$allowedExecutionPolicy = @('Unrestricted', 'RemoteSigned', 'Bypass')If ((Get-ExecutionPolicy).ToString() -notin $allowedExecutionPolicy) {throw @"
Error: PowerShell requires an execution policy in [$($allowedExecutionPolicy -join ", ")] to run $app_name. For example, to set the execution policy to 'RemoteSigned' please run:Set-ExecutionPolicy RemoteSigned -scope CurrentUser"@}# GitHub requires TLS 1.2If ([System.Enum]::GetNames([System.Net.SecurityProtocolType]) -notcontains 'Tls12') {throw @"
Error: Installing $app_name requires at least .NET Framework 4.5
Please download and install it first:https://www.microsoft.com/net/download"@}
}function New-Temp-Dir() {[CmdletBinding(SupportsShouldProcess)]param()$parent = [System.IO.Path]::GetTempPath()[string] $name = [System.Guid]::NewGuid()New-Item -ItemType Directory -Path (Join-Path $parent $name)
}# PSScriptAnalyzer doesn't like how we use our params as globals, this calms it
$Null = $ArtifactDownloadUrl, $NoModifyPath, $Help
# Make Write-Information statements be visible
$InformationPreference = "Continue"# The default interactive handler
try {Install-Binary "$Args"
} catch {Write-Information $_exit 1
}

 步骤2:执行上面的脚本的命令:

powershell -ExecutionPolicy ByPass -File D:\桌面\uv-installer.ps1

注意: D:\桌面\uv-installer.ps1  是脚本文件路径

步骤3:把uv 加入系统环境变量中

#把uv添加到系统环境变量中
set Path=C:\Users\Administrator\.local\bin;%Path%
#查看安装版本
uv --version

步骤4:安装 Open WebUI

#安装open-webui
pip install open-webui
#查看 open-webui 包的详细信息。
pip show open-webui

步骤5:启动Open WebUI

open-webui serve --port 3000

 步骤6:登录浏览器 访问http://localhost:3000

注册账户 邮箱和密码。

开始使用

 安装完成

 

相关文章:

Windows 安装 DeepSeek 教程和open webui 图形化部署(非docker)

Windows 安装 Ollama : 步骤 1&#xff1a;下载并安装 Ollama 官网&#xff1a;奥拉马 点击下载 选择windows版本。 双击安装包 点击【Install】&#xff08;注意&#xff1a;安装包是直接安装在C盘的&#xff0c;并不支持更改路径&#xff0c;因此C盘的空间必须要至少大于5…...

本地部署DeepSeek-R1(Ollama+Docker+Dify知识库)

安装Ollama 打开 Ollama官网 https://ollama.com/下载安装 部署DeepSeek R1模型 下载模型&#xff0c;自行选择1.5b、7b、8b、14b、32b、671b在终端输入&#xff1a; ollama pull deepseek-r1:1.5b运行模型 ollama run deepseek-r1:1.5b下载嵌入模型&#xff0c;嵌入模型…...

vcredist_x64.exe 是 Microsoft Visual C++ Redistributable 的 64 位版本

vcredist_x64.exe 是 Microsoft Visual C++ Redistributable 的 64 位版本,它提供了运行基于 Visual C++ 编写的应用程序所需的库文件。许多 Windows 应用程序都依赖这些库来正常运行,特别是使用 Visual Studio 编译的程序。 用途和重要性: 运行时库:vcredist_x64.exe 安装…...

机器学习:多项式回归

概念 多项式回归是一种统计学习方法,用于建模自变量x和因变量y之间的非线性关系。它通过在原始特征空间中引入更高阶的多项式特征来扩展线性回归模型的能力。具体来说,假设我们有一个简单的线性回归模型:y = w₁x + b,其中w₁是权重系数,b是偏置项。而多项式回归则通过增…...

【设计模式】【行为型模式】模板方法模式(Template Method)

&#x1f44b;hi&#xff0c;我不是一名外包公司的员工&#xff0c;也不会偷吃茶水间的零食&#xff0c;我的梦想是能写高端CRUD &#x1f525; 2025本人正在沉淀中… 博客更新速度 &#x1f4eb; 欢迎V&#xff1a; flzjcsg2&#xff0c;我们共同讨论Java深渊的奥秘 &#x1f…...

牛客周赛Round 80 —— 举手赢棋 python 补题 + 题解

文章目录 前言举手赢棋easy举手赢棋hard 前言 紧跟时事的两道算法题 牛客周赛 Round 80 举手赢棋easy 题目描述 本题为《举手赢棋hard》的简单版本&#xff0c;两题的唯一区别在于对举手次数的限制不同&#xff0c;在本题中&#xff0c;小红有1次举手的机会。 小红获得了参加…...

Ubuntu 如何安装Snipaste截图软件

在Ubuntu上安装Snipaste-2.10.5-x86_64.AppImage的步骤如下&#xff1a; 1. 下载Snipaste AppImage 首先&#xff0c;从Snipaste的官方网站或GitHub Releases页面下载Snipaste-2.10.5-x86_64.AppImage文件。 2. 赋予执行权限 下载完成后&#xff0c;打开终端并导航到文件所在…...

第四篇:放大电路的“子弹时间”——车载音频与传感器信号链设计

核心隐喻&#xff1a;Neo的子弹时间与信号捕捉艺术 如同《黑客帝国》中Neo以超感知力捕捉子弹轨迹&#xff0c;车载放大电路正是新能源汽车感知系统的“超能力核心”。在嘈杂的电磁战场中&#xff08;引擎噪音、高压系统干扰、多设备信号串扰&#xff09;&#xff0c;它需要精…...

Tcp_socket

Tcp不保证报文完整性&#xff08;面向字节流&#xff09; 所以我们需要在应用层指定协议&#xff0c;确保报文完整性 // {json} -> len\r\n{json}\r\n bool Encode(std::string &message) {if(message.size() 0) return false;std::string package std::to_string(m…...

Transformer 详解:了解 GPT、BERT 和 T5 背后的模型

目录 什么是 Transformer? Transformer如何工作? Transformer 为何有用? 常见问题解答:机器学习中的 Transformer 在技​​术领域,突破通常来自于修复损坏的东西。制造第一架飞机的人研究过鸟类。莱特兄弟观察了秃鹫如何在气流中保持平衡,意识到稳定性比动力更重要。…...

攻防世界32 very_easy_sql【SSRF/SQL时间盲注】

不太会&#xff0c;以后慢慢看 被骗了&#xff0c;看见very_easy就点进来了&#xff0c;结果所有sql能试的全试了一点用都没有 打开源代码发现有个use.php 好家伙&#xff0c;这是真的在考sql吗...... 制作gopher协议的脚本&#xff1a; import urllib.parsehost "12…...

Datawhale 组队学习 Ollama教程 task1

一、Ollama 简介 比喻&#xff1a;Ollama 就像是一个“魔法箱子”&#xff0c;里面装满了各种大型语言模型&#xff08;LLM&#xff09;。你不需要懂复杂的魔法咒语&#xff08;配置&#xff09;&#xff0c;只需要轻轻一按&#xff08;一条命令&#xff09;&#xff0c;就能让…...

什么是科技查新报告

科技查新报告虽然对于我们来说耳熟能详但是大家可能还是一知半解&#xff0c; 那么究竟什么是科技查新报告呢&#xff1f; 那么接下来我将于三个方面为大家讲解&#xff1a; 1.什么是科技查新报告 2.科技查新报告什么样子 3.如何获取科技查新报告 一、什么是科技查新报告…...

学习笔记十九:K8S生成pod过程

K8S生成pod过程 流程图具体生成过程用户提交 Pod 定义API Server 处理请求调度器分配节点&#xff08;Scheduling&#xff09;目标节点上的 Pod 创建网络配置状态上报与监控控制器管理&#xff08;Controller Manager&#xff09;就绪与服务发现 关键错误场景高级特性 流程图 具…...

分享如何通过Mq、Redis、XxlJob实现算法任务的异步解耦调度

一、背景 1.1 产品简介 基于大模型塔斯&#xff0c;整合传统的多项能力&#xff08;NLP、OCR、CV等&#xff09;&#xff0c;构建以场景为中心的新型智能文档平台。通过文档审阅&#xff0c;实现结构化、半结构化和非结构化文档的信息获取、处理及审核&#xff0c;同时基于大…...

C/C++算法竞赛学习书籍

文章目录 C Primer Plus&#xff1a;中文版&#xff08;第六版&#xff09;C Primer 中文版&#xff08;第 5 版&#xff09;算法竞赛进阶指南 (李煜东)挑战程序设计竞赛 (秋叶拓哉 岩田阳一 北川宜稔)算法竞赛入门经典&#xff08;第2版&#xff09; (刘汝佳)啊哈算法 (啊哈磊…...

JVM(Java 虚拟机)

Java语言的解释性和编译性&#xff08;通过JVM 的执行引擎&#xff09; Java 代码&#xff08;.java 文件&#xff09;要先使用 javac 编译器编译为 .class 文件&#xff08;字节码&#xff09;&#xff0c;紧接着再通过JVM 的执行引擎&#xff08;Execution Engine&#xff09…...

组件库选择:ElementUI 还是 Ant Design

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…...

【论文翻译】DeepSeek-V3论文翻译——DeepSeek-V3 Technical Report——第一部分:引言与模型架构

论文原文链接&#xff1a;DeepSeek-V3/DeepSeek_V3.pdf at main deepseek-ai/DeepSeek-V3 GitHub 特别声明&#xff0c;本文不做任何商业用途&#xff0c;仅作为个人学习相关论文的翻译记录。本文对原文内容直译&#xff0c;一切以论文原文内容为准&#xff0c;对原文作者表示…...

渗透利器:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)

Burp Suite 联动 XRAY 图形化工具.&#xff08;主动扫描被动扫描&#xff09; Burp Suite 和 Xray 联合使用&#xff0c;能够将 Burp 的强大流量拦截与修改功能&#xff0c;与 Xray 的高效漏洞检测能力相结合&#xff0c;实现更全面、高效的网络安全测试&#xff0c;同时提升漏…...

【Redis】redis 存储的列表如何分页和检索

博主介绍&#xff1a;✌全网粉丝22W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

医疗影响分割 | 使用 Swin UNETR 训练自己的数据集(3D医疗影像分割教程)

<Swin UNETR: Swin Transformers for Semantic Segmentation of Brain Tumors in MRI Images> 代码地址:unetr 论文地址:https://arxiv.org/pdf/2201.01266 一、下载代码 在Github上下载代码,然后进入SWINUNETR,前两个是针对两个数据集(BRATS21、BTCV)的操作,这里…...

前端学习路径

&#x1f680; 前言 本文不仅包含学习路径&#xff0c;还整合了 300小时精选资源 和 开发者必备工具链&#xff0c;助你构建完整知识体系&#xff01; &#x1f527; 开发工具全家桶 工具类型推荐工具使用场景代码编辑器VS Code 插件市场主力开发工具&#xff0c;必装插件&am…...

Day84:数据可视化

数据可视化是数据分析的重要组成部分,它能直观地展现数据规律,使复杂数据变得易懂。Python 提供了多个数据可视化库,其中最常用的是 Matplotlib 和 Seaborn。今天,我们将学习如何使用这些工具绘制折线图、柱状图、散点图等。 1. 安装和导入库 如果你的 Python 没有安装 Ma…...

iOS主要知识点梳理回顾-3-运行时消息机制

运行时&#xff08;runtime&#xff09; 运行时是OC的重要特性&#xff0c;也是OC动态性的根本支撑。动态&#xff0c;如果利用好了&#xff0c;扩展性就很强。当然了&#xff0c;OC的动态性只能算是一个一般水平。与swift、java这种强类型校验的语言相比&#xff0c;OC动态性很…...

JSON是什么

JSON 简介 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&#xff0c;同时也易于机器解析和生成。它基于 JavaScript 的一个子集&#xff0c;但独立于编程语言&#xff0c;广泛用于 Web 应用中的数据交换。…...

three-tile-vue 开发测试

three-tile 在 github 上开源半年多&#xff0c;已有140余颗星&#xff0c;目前性能和功能已能满足生产环境使用&#xff0c;是替代cesium的一种轻量级解决方案。让我没想到的是第一个商用的竟然是老外。 最近&#xff0c;测试了three-tile在vue中的使用&#xff0c;效果还可以…...

Acwing-基础算法课笔记之基础算法(差分)

Acwing-基础算法课笔记之基础算法&#xff08;差分&#xff09; 一、一维差分1、差分的概念2、差分思想 二、二维差分操作流程 一、一维差分 1、差分的概念 对于一个给定的序列a&#xff0c;它的差分序列b定义为&#xff1a; b [ 1 ] a [ 1 ] b[1]a[1] b[1]a[1]&#xff0c…...

c语言判断一个文件的文件格式

在 Linux 下使用 C 语言判断一个文件的文件格式&#xff0c;通常需要检查文件的头信息&#xff08;也称为“幻数”或“魔数”&#xff09;。不同的文件格式在文件头有特定的字节序列&#xff0c;这些字节序列可以用来确定文件的类型。以下是一个基本的示例&#xff0c;展示了如…...

e2studio开发RA2E1(12)----打印函数(printf、 sprintf)的实现

e2studio开发RA2E1.12--打印函数printf、 sprintf的实现 概述视频教学样品申请硬件准备参考程序源码下载新建工程工程模板保存工程路径芯片配置工程模板选择时钟设置UART配置UART属性配置设置e2studio堆栈e2studio的重定向printf设置R_SCI_UART_Open()函数原型回调函数user_uar…...

C++编译期优化 ---分支预计__builtin_expect

在编写程序逻辑的时候&#xff0c;使用了大量的if-else 分支&#xff0c;为了程序尽可能的高效运行&#xff0c;会考虑把可能性更高的条件写在前面&#xff0c;这样程序的平均运行时间会更短。 gcc提供了一种方式&#xff0c;可以让编译器自行优化 __builtin_expect(expr,bool)…...

ASP.NET Core SignalR的协议协商

SignalR支持多种服务器推送方式&#xff1a;Websocket、Server-Sent Events、长轮询。默认按顺序尝试。F12查看协商过程。websocket和HTTP是不同的协议&#xff0c;为什么能用同一个端口。在【开发人员工具】的【网络】页签中看WebSocket通信过程。 协议协商问题 集群中协议协…...

问卷数据分析|SPSS实操之独立样本T检验

适用条件&#xff1a; 检验分类变量和定量变量之间的差异 分类变量只能为二分类变量&#xff0c;如性别 1.选择分析--比较平均值--独立样本检验 2. 在下方选择性别&#xff08;分类变量&#xff09; 3. 点击定义组&#xff0c;组1输入1&#xff0c;组2输入2 4.在上方填入定量…...

Vue事件处理 - 按键修饰符

Vue 渐进式JavaScript 框架 基于Vue2的学习笔记 - Vue事件处理 - 按键修饰符 目录 按键修饰符 常见修饰符 绑定按键事件 绑定事件 优化回车修饰符 多个按键 直接绑定数字 总结 按键修饰符 常见修饰符 .esc .up .down .left .right . space .ctrl .shift .delete 绑定…...

PostgreSQL错误: 编码“UTF8“的字符0x0xe9 0x94 0x99在编码“WIN1252“没有相对应值

错误介绍 今天遇到一个错误&#xff0c;记录一下 2025-02-10 17:04:35.264 HKT [28816] 错误: 编码"WIN1252"的字符0x0x81在编码"UTF8"没有相对应值 2025-02-10 17:04:35.264 HKT [28816] 错误: 编码"UTF8"的字符0x0xe9 0x94 0x99在编码&quo…...

使用OBS推流,大华摄像头 srs服务器播放

说明&#xff1a; ffmpeg可以推流&#xff0c;但是是命令行方式不太友好&#xff0c;还可以使用主流的OBS开源推流软件&#xff0c;可从官网Open Broadcaster Software | OBS 下载最新版本&#xff0c;目前很多网络主播都是用它做直播。该软件支持本地视频文件以及摄像头推流。…...

Ollama部署DeepSeek(windows or ubuntu)

Ollama(官网是https://ollama.com/)是一个专为在本地机器上便捷部署和运行大型语言模型&#xff08;LLM&#xff09;而设计的开源框架。它简化了大型语言模型的部署过程&#xff0c;提供了轻量级与可扩展的架构&#xff0c;使得研究人员、开发人员和爱好者能够更加方便地在本地…...

2、k8s 二进制安装(详细)

k8s 二进制安装 IP规划初始化部署 etcd 集群在 etcd01 节点上操作准备cfssl证书生成工具&#xff0c;加权生成etcd证书上传etcd软件包启动 etcd 服务 部署 Master 组件部署 Worker Node 组件node 节点安装 docker部署组件 部署 CNI 网络组件部署 flannel简介部署 部署 Calico简…...

02、QLExpress从入门到放弃,相关API和文档

QLExpress从入门到放弃,相关API和文档 一、属性开关 public class ExpressRunner {private boolean isTrace;private boolean isShortCircuit;private boolean isPrecise; }/*** 是否需要高精度计算*/ private boolean isPrecise false;高精度计算在会计财务中非常重要&…...

在 Visual Studio Code 与微信开发者工具中调试使用 emscripten 基于 C 生成的 WASM 代码

最近在尝试将一些 C/C、Lua 项目挪到 Web 上跑, 接触到了 emscripten. 这里会介绍下在 Visual Studio Code 与微信开发者工具中调试使用 emscripten 基于 C 生成的 WASM 代码 (WebAssembly) 的一些方法. Emscripten 与 WebAssebmly WebAssembly 是一种新的编码方式, 可以在现代…...

计算机毕业设计——Springboot的社区维修平台旅游管理

&#x1f4d8; 博主小档案&#xff1a; 花花&#xff0c;一名来自世界500强的资深程序猿&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 花花在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于java、python等技术。近年来&#xff0c;花花更…...

Oracle常见语法

一、求交集 SELECT column1, column2 FROM table1 INTERSECT SELECT column1, column2 FROM table2;INTERSECT 操作符是 Oracle 和一些其他数据库&#xff08;如 PostgreSQL 和 SQL Server&#xff09;特有的集合操作符&#xff0c;在 MySQL 中并不直接支持。MYSQL同效果代码&a…...

[2025年最新]2024.3版本idea无法安装插件问题解决

背景 随着大模型的持续发展&#xff0c;特别年前年后deepseek的优异表现&#xff0c;编程过程中&#xff0c;需要解决ai来辅助编程&#xff0c;因此需要安装一些大模型插件 问题描述 在线安装插件的时候会遇到以下问题&#xff1a; 1.数据一直在加载&#xff0c;加载的很满 2.点…...

说一下 jvm 有哪些垃圾回收器?

JVM 垃圾回收器对比表 垃圾回收器类型工作方式回收方式停顿时间适用场景优点缺点常见问题常见配置Serial GC串行单线程&#xff0c;STW年轻代&#xff1a;复制算法 老年代&#xff1a;标记-整理长小内存、单核CPU&#xff0c;如桌面应用或嵌入式设备简单高效&#xff0c;适用于…...

【Linux】--- 进程间的通信

【Linux】--- 进程间的通信 一、进程间通信的介绍1、进程间通信的概念2、进程间通信的目的3、 进程间通信的本质/前提4、进程间通信的分类 二、管道1、什么是管道2、匿名管道&#xff08;1&#xff09;匿名管道的原理&#xff08;2&#xff09;pipe函数&#xff08;3&#xff0…...

GlusterFS 深度洞察:从架构原理到案例实践的全面解读(上)

文章目录 一.GlusterFS简介二.GlusterFS原理架构三.适用场景四.Glusterfs与其他存储产品对比五.部署GlusterFS集群六. 使用heketi将glusterfs接入k8s作为后端存储 一.GlusterFS简介 GlusterFS是一个免费的开源分布式文件系统&#xff0c;具有无中心节点、堆栈式设计、全局统一…...

实现限制同一个账号最多只能在3个客户端(有电脑、手机等)登录(附关键源码)

如上图&#xff0c;我的百度网盘已登录设备列表&#xff0c;有一个手机&#xff0c;2个windows客户端。手机设备有型号、最后登录时间、IP等。windows客户端信息有最后登录时间、操作系统类型、IP地址等。这些具体是如何实现的&#xff1f;下面分别给出android APP中采集手机信…...

C#综合知识点面试集锦

在.NET Core 框架的面试中,可能会涉及基础概念、核心组件、依赖注入、性能优化等多方面的知识点,以下为你详细介绍: 基础概念 .NET Core 概述 定义与特点:解释 .NET Core 是一个跨平台、开源、模块化且高性能的通用开发框架,能在 Windows、Linux、macOS 等操作系统上运行…...

宝珀(Blancpain):机械制表的三项重大创新(中英双语)

宝珀&#xff08;Blancpain&#xff09;&#xff1a;机械制表的创新先驱 本文灵感来源&#xff1a; 瑞士钟表业决定逆流而上&#xff0c;杀出一条生路&#xff0c;宝珀更是坚定地宣称“我们永远只做机械表”&#xff0c;它拒绝了石英技术。制表师们在提高腕表的技艺和品质、实…...

稠密架构和稀疏架构

稠密架构和稀疏架构 flyfish 稠密架构 参数使用方面&#xff1a;稠密架构中的大部分参数在每次计算时都会被使用。也就是说&#xff0c;对于输入的每一个样本&#xff0c;模型的所有或大部分参数都会参与到计算过程中。计算特点&#xff1a;计算密集&#xff0c;需要对大量的…...