PyCharm接入本地部署DeepSeek 实现AI编程!【支持windows与linux】

news2025/3/4 7:21:04

今天尝试在pycharm上接入了本地部署的deepseek,实现了AI编程,体验还是很棒的。下面详细叙述整个安装过程。

本次搭建的框架组合是 DeepSeek-r1:1.5b/7b + Pycharm专业版或者社区版 Proxy AI(CodeGPT)

首先了解不同版本的deepseek区别:
deepseek-r1

根据:DeepSeek 系列模型选择 - AI 智算产品文档

一般情况下,我们选择安装deepseek-r1:1.5b或者7b,可以支持我们普通配置(消费级显卡或者无显卡)的电脑、笔记本,适合个人开发者或者边缘计算设备。

接下来,我们具体开始安装本地版deepseek.
1. 安装pycharm: https://www.jetbrains.com/pycharm/
可以装专业版(Professional)或者社区版(Community),均可以。

2. 下载安装ollama (https://ollama.com/download )

windows版本直接下载安装即可,傻瓜式安装,很简单。linux稍微复杂一些。下面着重谈一下linux(以ubuntu为例)的安装。

如果网络比较流畅,可以直接用官方提供的命令行快速安装。我自己尝试了以后,发现网络不太行,下载很缓慢,所以就采取了手动安装。注意linux要求有root权限。
2.1 下载并解压与操作系统匹配的安装包

首先进入到某一个下载目录(自定义,哪里都行),然后执行下面的命令

curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linux-amd64.tgz
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

如果第一行代码下载缓慢,可以直接从浏览器下载,下载地址为:https://ollama.com/download/ollama-linux-amd64.tgz
然后将其上传到上面的自定义目录中,最后运行第二行代码将其解压到/usr目录中。
2.2 启动 Ollama并验证
输入以下命令启动 Ollama:

ollama serve

另开启一个终端,输入以下命令,验证ollama是否运行成功

ollama -v

2.3 将 Ollama 添加为自启动服务(推荐,这样每次登陆服务器,就可以自启动了,不需要每次都手动地开启服务
首先,为 Ollama 创建用户和组:

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

然后在该位置:/etc/systemd/system/ollama.service 创建服务文件
具体步骤为:
a. 输入以下命令以使用 vim 打开(或创建)服务文件

sudo vim /etc/systemd/system/ollama.service

b. 进入插入模式编辑文件

c. 在 Vim 编辑器中拷贝输入以下内容:
  拷贝下面内容,然后粘贴到上述vim编辑器中即可。

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"

[Install]
WantedBy=default.target

d. 保存并退出 Vim

e. 验证文件是否保存成功
为了确保文件已正确保存,可以查看文件内容:

cat /etc/systemd/system/ollama.service

f. 重新加载 systemd 配置
让 systemd 识别新创建的服务文件:

sudo systemctl daemon-reload

g. 启动并启用服务
启动 Ollama 服务并设置为开机自启:

sudo systemctl start ollama.service
sudo systemctl enable ollama.service

h. 检查服务状态
验证服务是否正在运行:

sudo systemctl status ollama.service

你应该看到类似以下的输出,表示服务正在运行:

3. 下载deepseek-r1:1.5b 、deepseek-r1:7b (https://ollama.com/library/deepseek-r1)
打开windows cmd命令行或者linux命令行,输入:

ollama run deepseek-r1:1.5b

即可下载DeepSeek-R1-Distill-Qwen-1.5B到自己的电脑上。

输入

ollama run deepseek-r1:7b

即可下载DeepSeek-R1-Distill-Qwen-7B到自己的电脑上。

默认模型保存位置如下:

  • macOS: ~/.ollama/models
  • Linux: /usr/share/ollama/.ollama/models
  • Windows: C:\Users\%username%\.ollama\models

下载安装后可以进入命令行中进行验证:

4. 加入deepseek到pycharm中
1)启动 PyCharm 客户端,点击左侧导航栏中的Plugins,进入 Maeketplace,在搜索框中输入 Proxy AI(内含CodeGPT),查找相应扩展应用,并点击安装

2)选择已安装页签,可查看到Proxy AI插件,显示在列。

3) 在pycharm中创建一个python工程(我的版本是pycharm 2023.3.7,有的高级版本可能直接在刚才的首页就可以找到后面所要的东西,请自己尝试),然后点击 PyCharm 主界面,选择File按钮, 点击Settings按钮。在弹出的窗口中,选择Tools > CodeGPT > Providers

4) 找到Ollama(Local),选择刚刚安装的deepseek-r1:1.5b,点击OK就可以了:

5) 完成上述操作后,就可以愉快的在PyCharm中使用DeepSeek-r1实现AI编程学习了,左侧是代码编辑界面,右侧是r1大模型,直接对话式提问,省去了来回不同页面折腾的麻烦:

大家可以自行感受一下DeepSeek-r1:1.5b大模型的回复延时,几乎1~2秒钟就可以响应,效果还算可以。

另外,CodeGPT插件显示了Tokens数,只是一个数字统计,无任何费用,因为使用的是本地自己电脑的算力哦。

参考文献:
1. 超详细,DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入),建议收藏! - 狂师 - 博客园

2. PyCharm接入本地DeepSeek R1实现AI编程 - 久曲健 - 博客园

3. Ubuntu 环境安装和使用Ollama_3ubuntu ollama phi-CSDN博客

4. 在 PyCharm 中使用 - AI 智算产品文档

5. Ollama 安装与配置 - Linux 系统篇 【推荐看这个,和英文版一样的

6.  Ollama 安装与配置 - Linux 系统篇-官方英文版教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2309360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PyCharm怎么集成DeepSeek

PyCharm怎么集成DeepSeek 在PyCharm中集成DeepSeek等大语言模型(LLM)可以借助一些插件或通过代码调用API的方式实现,以下为你详细介绍两种方法: 方法一:使用JetBrains AI插件(若支持DeepSeek) JetBrains推出了AI插件来集成大语言模型,不过截至2024年7月,官方插件主要…

【定昌Linux系统】部署了java程序,设置开启启动

将代码上传到相应的目录,并且配置了一个.sh的启动脚本文件 文件内容: #!/bin/bash# 指定JAR文件的路径(如果JAR文件在当前目录,可以直接使用文件名) JAR_FILE"/usr/local/java/xs_luruan_client/lib/xs_luruan_…

Java零基础入门笔记:(7)异常

前言 本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。 【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili 第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客 第3章…

【字符串】最长公共前缀 最长回文子串

文章目录 14. 最长公共前缀解题思路:模拟5. 最长回文子串解题思路一:动态规划解题思路二:中心扩散法 14. 最长公共前缀 14. 最长公共前缀 ​ 编写一个函数来查找字符串数组中的最长公共前缀。 ​ 如果不存在公共前缀,返回空字符…

react 中,使用antd layout布局中的sider 做sider的展开和收起功能

一 话不多说,先展示效果: 展开时: 收起时: 二、实现代码如下 react 文件 import React, {useState} from react; import {Layout} from antd; import styles from "./index.module.less"; // 这个是样式文件&#…

easyExcel使用案例有代码

easyExcel 入门,完成web的excel文件创建和导出 easyExcel官网 EasyExcel 的主要特点如下: 1、高性能:EasyExcel 采用了异步导入导出的方式,并且底层使用 NIO 技术实现,使得其在导入导出大数据量时的性能非常高效。 2、易于使…

苹果廉价机型 iPhone 16e 影像系统深度解析

【人像拍摄差异】 尽管iPhone 16e支持后期焦点调整功能,但用户无法像iPhone 16系列那样通过点击屏幕实时切换拍摄主体。前置摄像头同样缺失人像深度控制功能,不过TrueTone原彩闪光灯系统在前后摄均有保留。 很多人都高估了 iPhone 的安全性,查…

视觉图像坐标转换

1. 透镜成像 相机的镜头系统将三维场景中的光线聚焦到一个平面(即传感器)。这个过程可以用小孔成像模型来近似描述,尽管实际相机使用复杂的透镜系统来减少畸变和提高成像质量。 小孔成像模型: 假设有一个理想的小孔,…

脚本无法获取响应主体(原因:CORS Missing Allow Credentials)

背景: 前端的端口号8080,后端8000。需在前端向后端传一个参数,让后端访问数据库去检测此参数是否出现过。涉及跨域请求,一直有这个bug是404文件找不到。 在修改过程当中不小心删除了一段代码,出现了这个bug&#xff0…

leetcode第39题组合总和

原题出于leetcode第39题https://leetcode.cn/problems/combination-sum/description/题目如下: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以…

SQLark 数据迁移|断点续迁已上线(Oracle-达梦)

数据迁移是 SQLark 最受企业和个人用户欢迎的功能之一,截止目前已帮助政府、金融、能源、通信等 50 家单位完成从 Oracle、MySQL 到达梦的全量迁移,自动化迁移成功率达 96% 以上。 在 Oracle 到达梦数据库迁移过程中,SQLark V3.3 新增 断点续…

Element Plus中el-tree点击的节点字体变色加粗

el-tree标签设置 <el-tree class"tree":data"treeData":default-expand-all"true":highlight-current"true"node-click"onTreeNodeClick"><!-- 自定义节点内容&#xff0c;点击的节点字体变色加粗 --><!-- 动…

vmware安装firepower ftd和fmc

在vmware虚拟机中安装cisco firepower下一代防火墙firepower threat defence&#xff08;ftd&#xff09;和管理中心firepower management center&#xff08;fmc&#xff09;。 由于没有cisco官网下载账号&#xff0c;无法下载其中镜像。使用eveng模拟器中的ftd和fmc虚拟镜像…

计算机毕业设计SpringBoot+Vue.js医院资源管理系统(源码+文档+PPT+讲解)

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

[含文档+PPT+源码等]精品基于Python实现的微信小程序的乡村医疗咨询系统

基于Python实现的微信小程序的乡村医疗咨询系统背景&#xff0c;可以从以下几个方面进行阐述&#xff1a; 一、社会背景 医疗资源分布不均&#xff1a;在我国&#xff0c;城乡医疗资源分布不均是一个长期存在的问题。乡村地区由于地理位置偏远、经济条件有限&#xff0c;往往…

Python实现GO鹅优化算法优化BP神经网络回归模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后关注获取。 1.项目背景 传统BP神经网络的局限性&#xff1a;BP&#xff08;Back Propagation&#xff09;神经网络作为一种…

7.1.2 计算机网络的分类

文章目录 分布范围交换方式 分布范围 计算机网络按照分布范围可分为局域网、广域网、城域网。局域网的范围在10m~1km&#xff0c;例如校园网&#xff0c;网速高&#xff0c;主要用于共享网络资源&#xff0c;拓扑结构简单&#xff0c;约束少。广域网的范围在100km&#xff0c;例…

千峰React:Hooks(上)

什么是Hooks ref引用值 普通变量的改变一般是不好触发函数组件的渲染的&#xff0c;如果想让一般的数据也可以得到状态的保存&#xff0c;可以使用ref import { useState ,useRef} from reactfunction App() {const [count, setCount] useState(0)let num useRef(0)const h…

[Windows] 免费电脑控制手机软件 极限投屏_正式版_3.0.1 (QtScrcpy作者开发)

[Windows] 极限投屏_正式版 链接&#xff1a;https://pan.xunlei.com/s/VOKJf8Z1u5z-cHcTsRpSd89tA1?pwdu5ub# 新增功能(Future)&#xff1a; 支持安卓14(Supports Android 14)提高投屏成功率(Improve the success rate of mirror)加快投屏速度(Accelerate screen mirrorin…

C++初阶—list类

第一章&#xff1a;list的介绍及使用 1.1 list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。list的底层是双向链表结构&#xff0c;双向链表中每个元素存储在互不相关的独立节点中&#xff0c;在节点中通过指…