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

基于 ollama 在linux 私有化部署DeepSeek-R1以及使用RESTful API的方式使用模型

由于业务需求部署的配置  deepseek:32b,linux配置GPU L20 4卡 ,SSD 200g,暂未发现有什么问题,持续观察中
##通用写法,忽略就行,与deepseek无关
import pandas as pd
from openai.embeddings_utils import get_embedding, cosine_similarity
import openai
import os
import logging as logger
from flask_cors import CORS
import os
openai.api_key = os.getenv('OPENAI_API_KEY')
 
class Chatbot():
 
    def parse_paper(self, pdf):
        logger.info("Parsing paper")
        number_of_pages = len(pdf.pages)
        logger.info(f"Total number of pages: {number_of_pages}")
        paper_text = []
        for i in range(number_of_pages):
            page = pdf.pages[i]
            page_text = []
 
            def visitor_body(text, cm, tm, fontDict, fontSize):
                x = tm[4]
                y = tm[5]
                # ignore header/footer
                if (y > 50 and y < 720) and (len(text.strip()) > 1):
                    page_text.append({
                        'fontsize': fontSize,
                        'text': text.strip().replace('\x03', ''),
                        'x': x,
                        'y': y
                    })
 
            _ = page.extract_text(visitor_text=visitor_body)
 
            blob_font_size = None
            blob_text = ''
            processed_text = []
 
            for t in page_text:
                if t['fontsize'] == blob_font_size:
                    blob_text += f" {t['text']}"
                    if len(blob_text) >= 2000:
                        processed_text.append({
                            'fontsize': blob_font_size,
                            'text': blob_text,
                            'page': i
                        })
                        blob_font_size = None
                        blob_text = ''
                else:
                    if blob_font_size is not None and len(blob_text) >= 1:
                        processed_text.append({
                            'fontsize': blob_font_size,
                            'text': blob_text,
                            'page': i
                        })
                    blob_font_size = t['fontsize']
                    blob_text = t['text']
                paper_text += processed_text
        logger.info("Done parsing paper")
        return paper_text
 
 
 
1.安装ollama模型运行框架

deepseek-r1:32b

github地址:https://github.com/ollama/ollama

Linux下执行:  curl -fsSL https://ollama.com/install.sh | sh  

2.ollama相关命令
ollama 服务相关命令
sudo systemctl stop ollama
sudo systemctl status ollama
sudo systemctl start ollama
sudo systemctl restart ollama

1.拉取模型
ollama pull xxx模型

2.运行模型
ollama run  xxx模型
退出聊天cmd  /bye

3.移除模型
ollama rm  xxx模型

4.显示模型信息
ollama show xxx模型

5.列出计算机上的模型
ollama list

6.列出当前加载的模型
ollama ps

7.停止当前正在运行的模型
ollama stop xxx模型


=====================
linux相关配置地址:https://github.com/ollama/ollama/blob/main/docs/linux.md

ollama服务默认端口 11434,修改ollama配置使其可以监听0.0.0.0和修改端口,可以外网访问
1.修改文件
vim /etc/systemd/system/ollama.service

2.增加
[Service]
Environment=“OLLAMA_HOST=0.0.0.0:xxxx”

3.重现加载
sudo systemctl daemon-reload
sudo systemctl restart ollama
sudo systemctl status ollama

4.查看日志
journalctl -u ollama.service

5.执行 ollama 命令需要带上 OLLAMA_HOST=127.0.0.1:xxxx
例如 OLLAMA_HOST=127.0.0.1:xxxx ollama ps

ollama相关模型

ModelParametersSizeDownload
DeepSeek-R17B4.7GBollama run deepseek-r1
DeepSeek-R1671B404GBollama run deepseek-r1:671b
Llama 3.370B43GBollama run llama3.3
Llama 3.23B2.0GBollama run llama3.2
Llama 3.21B1.3GBollama run llama3.2:1b
Llama 3.2 Vision11B7.9GBollama run llama3.2-vision
Llama 3.2 Vision90B55GBollama run llama3.2-vision:90b
Llama 3.18B4.7GBollama run llama3.1
Llama 3.1405B231GBollama run llama3.1:405b
Phi 414B9.1GBollama run phi4
Phi 3 Mini3.8B2.3GBollama run phi3
Gemma 22B1.6GBollama run gemma2:2b
Gemma 29B5.5GBollama run gemma2
Gemma 227B16GBollama run gemma2:27b
Mistral7B4.1GBollama run mistral
Moondream 21.4B829MBollama run moondream
Neural Chat7B4.1GBollama run neural-chat
Starling7B4.1GBollama run starling-lm
Code Llama7B3.8GBollama run codellama
Llama 2 Uncensored7B3.8GBollama run llama2-uncensored
LLaVA7B4.5GBollama run llava
Solar10.7B6.1GBollama run solar
3.ollama服务提供的api
官方文档地址:https://github.com/ollama/ollama/blob/main/docs/api.md

1.与模型聊天api,默认流式,如果不要流式 配置"stream": false

curl http://localhost:11434/api/chat -d '{
  "model": "deepseek-r1:32b",
  "messages": [
    { "role": "user", "content": "为什么天空是蓝色的?" }
  ],
  "stream": false
}'


http://www.kler.cn/a/543100.html

相关文章:

  • xtuner微调internlm2-chat-1_8b--xtuner中文文档快速上手案例
  • 【经验分享】Linux 系统安装后内核参数优化
  • 【数据库设计】深入理解常见范式
  • 最新的构建Jenkins插件的方式
  • 单例模式详解(Java)
  • Jenkins+gitee 搭建自动化部署
  • vue2 多页面pdf预览
  • 2025年02月12日Github流行趋势
  • maven项目如何部署构建输出(如 JAR、WAR 文件等)到远程仓库中
  • 基于 Python(Flask)、JavaScript、HTML 和 CSS 实现前后端交互的详细开发过程
  • 集成学习(一):从理论到实战(附代码)
  • vue 项目使用vue-watermark组件给页面添加满屏水印
  • 计算机组成原理——中央处理器(九)
  • tp whereOr用法2
  • 链表的‘跑酷’:C++ list 如何在数据中自由穿梭?
  • IGBT工作原理
  • Barra多因子模型
  • 回归新系列——网络安全实操干货系列——Kali Linux新版本——Kali Purple实操指南——信息收集篇1——Nmap(其一)
  • AI赋能前端开发:加速你的职业晋升之路
  • 大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
  • 玩转状态模式
  • Linux下的进程切换与调度
  • Spark商品销售数据可视化分析系统 机器学习预测算法 讲解视频 论文 大数据毕业设计 Hadoop和Hive 销量预测✅
  • 【github】docker realtime
  • 探索RDMA技术:从基础到实践
  • 【Qt】定期清理程序