deepseek本地调用

目录

1.介绍

2.开始调用

2.1模型检验

 2.2 通过url调用

3.总结


1.介绍

这篇博客用来教你如何从本地调用ollama中deepseek的模型接口,直接和deepseek进行对话。

2.开始调用

2.1模型检验

首先要保证ollama已经安装到本地,并且已经下载了deepseek模型。可以使用下面的命令检验:

ollama list

 2.2使用subprocess

使用subprocess直接与模型进行对话,使用ollama命令中的pullrun选项来调用模型。

import subprocessdef ollama_deepseek_conversation(prompt):try:# 通过命令行使用 ollama run deepseek-r1:7b 模型,注意这里的模型名字,可以使用ollama list可以看见模型名字result = subprocess.run(['ollama', 'run', 'deepseek-r1:7b'], input=prompt,stdout=subprocess.PIPE, text=True)# 获取模型响应并返回return result.stdout.strip()except Exception as e:return f"Error occurred: {e}"if __name__ == "__main__":print("开始对话,输入'quit'退出")while True:# 获取用户输入user_input = input("你: ")if user_input.lower() == 'quit':print("对话结束")break# 调用deepseek模型获取响应response = ollama_deepseek_conversation(user_input)print(f"deepseek: {response}")

 

 2.2 通过url调用

1.创建一个本地的服务来将命令行调用转化为 REST API 请求

from flask import Flask, request, jsonify
import subprocessapp = Flask(__name__)# 定义一个路由来处理POST请求
@app.route('/deepseek', methods=['POST'])
def deepseek_conversation():data = request.get_json()  # 获取用户的 JSON 输入prompt = data.get('prompt', '')  # 从 JSON 中获取 'prompt'try:# 运行 ollama 命令并将用户输入传给 deepseek-r1:7bresult = subprocess.run(['ollama', 'run', 'deepseek-r1:7b'], input=prompt,stdout=subprocess.PIPE, text=True)# 获取模型的响应response = result.stdout.strip()return jsonify({"response": response})  # 返回 JSON 格式的响应except Exception as e:return jsonify({"error": str(e)}), 500  # 捕获错误并返回500状态码if __name__ == "__main__":app.run(host="0.0.0.0", port=5000)  # 启动 Flask 服务,监听5000端口

2.使用 requests 库来向这个本地服务发送 HTTP 请求,并获得 deepseek 模型的响应。

import requestsdef ollama_deepseek_conversation(prompt):try:url = "http://localhost:5000/deepseek"  # Flask API 地址response = requests.post(url, json={"prompt": prompt})  # 发送 POST 请求if response.status_code == 200:return response.json().get("response", "无响应")  # 解析返回的 JSON 数据else:return f"Error: {response.status_code} {response.text}"except Exception as e:return f"Error occurred: {e}"if __name__ == "__main__":print("开始对话,输入'quit'退出")while True:user_input = input("你: ")if user_input.lower() == 'quit':print("对话结束")break# 调用 deepseek 模型并获取响应response = ollama_deepseek_conversation(user_input)print(f"deepseek: {response}")

3.总结

和deepseek对话,可行的方式不仅仅只有命令窗口或webui等等,还可以使用url调用,这样一来,你就可以使用一些硬件接入deepseek(例如使用ESP32接入自己的本地deepseek制作一个本地聊天机器人)。

希望这一片博客可以为你的思路提供新的参考。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

word$deepseep

1、进入官网地址。 DeepSeek 2、进入DeepSeek的API文档 3、点击DeepSeek开放平台左侧的“API Keys”, 再点击“创建API Key” 4、在弹出的对话框中,输入自己的API Key名称,点击创建。 sk-0385cad5e19346a0a4ac8b7f0d7be428 5、打开Word文档。 6、Word找…

自制简单的图片查看器(python)

图片格式:支持常见的图片格式(JPG、PNG、BMP、GIF)。 import os import tkinter as tk from tkinter import filedialog, messagebox from PIL import Image, ImageTkclass ImageViewer:def __init__(self, root):self.root rootself.root.…

DeepSeek多模态统一模型Janus算法解析

DeepSeek多模态统一模型算法解析与功能抢先体验  多模态统一模型是一种能够同时处理多模态输入(如文本、图像、视频等)并进行理解和生成任务的人工智能模型。这种模型可以将将多模态理解(如视觉问答、图像描述等&a…

分享8款AI生成PPT的工具!含测评

随着人工智能技术的飞速进步,制作PPT变得愈发便捷,仅需输入主题指令,便能在瞬间获得一份完整的演示文稿。尤其在制作篇幅较长的PPT时,手动编写每一页内容并设计格式和排版,不仅效率低下,而且耗时耗力。 本…

猿大师办公助手对比其他WebOffice在线编辑Office插件有什么优势

1. 原生Office功能完整嵌入,排版一致性保障 猿大师办公助手直接调用本地安装的微软Office、金山WPS或永中Office,支持所有原生功能(如复杂公式、VBA宏等),确保网页编辑与本地打开的文档排版完全一致。 提供OLE嵌入和完…

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

1.C#结构体可以继承接口吗?会不会产生GC? 在 C# 中,结构体不能继承类,但可以实现接口。 代码: interface IMyInterface {void MyMethod(); }struct MyStruct : IMyInterface {public void MyMethod(){Console.Write…

【第一节】C++设计模式(创建型模式)-工厂模式

目录 前言 一、面向对象的两类对象创建问题 二、解决问题 三、工厂模式代码示例 四、工厂模式的核心功能 五、工厂模式的应用场景 六、工厂模式的实现与结构 七、工厂模式的优缺点 八、工厂模式的扩展与优化 九、总结 前言 在面向对象系统设计中,开发者常…

CUDA兼容NVIDA版本关系

CUDA组成 兼容原则 CUDA 驱动(libcuda.so)兼容类型要求比CUDA新向后兼容无主版本一致,子版本旧兼容需要SASS、NVCC比CUDA老向前兼容提取对应兼容包 向后兼容:新版本支持旧版本的内容,关注的是新版本能否处理旧版本的内容。 向前兼容&#…

便捷批量字符一键查找替换工具

软件介绍 今天要给大家分享一款超好用的批量字符替换工具。它操作便捷,只需一键,就能帮你轻松查找替换内容。 这款工具的兼容性堪称强大,支持 txt、reg、bat、cmd、htm、html、xml、asp、aspx、php、php3、php4、php5、jsp、asax、java、cp…

环境变量1

我们今天开始学习环境变量,在此之前我们先接触一下命令行参数是什么 命令行参数 如上图所示,没想到main函数还可以带参数,argc和argv就是命令行参数,argc在C11里面叫可变参数模板,这里同样可变,argc是参数…

【Linux Redis】关于用docker拉取Redis后,让虚拟机运行起来redis,并使得其可以连接到虚拟机外的navicat。

步骤一:拉取Redis镜像 docker pull redis 这个命令会下载最新版本的Redis镜像到你的本地Docker仓库中。你也可以指定一个具体的版本号,例如docker pull redis:6.2.6,来拉取特定版本的Redis镜像。 如果拉取遇到问题请参考【Linux AnolisOS】关…

Android Hal AIDL 简介 (一)

Android 接口定义语言 (AIDL) 是一款可供用户用来抽象化 IPC 的工具。 以在 .aidl 文件中指定的接口为例,各种构建系统都会使用 aidl 二进制文件构造 C++ 或 Java 绑定,以便跨进程使用该接口(无论其运行时环境或位数如何)。 AIDL 可以在 Android 中的任何进程之间使用:在…

《Real-IAD: 用于基准测试多功能工业异常检测的真实世界多视角数据集》学习笔记

paper:2403.12580 GitHub:Real-IAD: A Real-World Multi-View Dataset for Benchmarking Versatile Industrial Anomaly Detection 目录 摘要 1、介绍 2、相关工作 2.1 异常检测数据集 2.2 标准异常检测 2.3 异常检测中的其他设置 3、Real-I…

网络工程师 (47)QOS

一、概念与原理 QOS即服务质量(Quality of Service)是一种网络技术,用于管理和保证网络中不同类型的质量和性能。它通过设置优先级和带宽限制等策略,确保关键应用(如视频会议、语音通信)的数据包能够在网络…

总结单例模式的写法(在线程安全的情况下)

目录 1 饿汉模式 2 懒汉模式 3 分析 啥是设计模式? 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀ 些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题场景". 针对这些问题…

首页 layout 架子(element-plus菜单组件)

直接 cv 笔记中静态页面 菜单组件: 认识了解 el-menu整个菜单组件,el-menu-item菜单项,el-sub-menu多级菜单的标题,el-menu-item各个展开内容。也就是一级直接 el-menu-item,如果下面还有分类,就是 el-sub-menu 首页架…

关系中出现这10个信号,离分手就不远了(爱情友情都适用)

亲密关系的隐形裂痕 在一个阳光明媚却略显萧瑟的午后,咖啡杯里的咖啡已经凉透。小李盯着手机屏幕,那些曾经热烈的对话记录现在看起来如此陌生,仿佛隔着一层薄薄的雾。她终于意识到,这段关系已经悄然走向尽头。 亲密关系是一场精心…

CV -- YOLOv8 图像分割(GPU环境)

目录 参考视频: 标注 JSON转为TXT 训练 验证 参考视频: 使用 Yolov8 自定义数据集进行图像分割_哔哩哔哩_bilibili 标注 数据集: 我使用的是一些苹果数据集,可以在我的csdn资源中下载: https://download.csdn.net/do…

从函数到神经网络

所有一切的前提是,你要相信这个世界上的所有逻辑和知识,都可以用一个函数来表示。Functions describe the world ! 比如输入物体的质量和加速度,根据牛顿第二定律,就可以得到物体施加的力,这就是人工智能早期的思路&am…

Token Embedding(词嵌入)和Positional Encoding(位置编码)的矩阵形状关系及转换过程

在从零开始构建一个小型字符级语言模型时,简化的实现步骤是:数据准备→模型架构设计→训练→评估与生成。模型架构设计阶段的流程如下: 图1 模型架构设计阶段的流程 包含了输入层、嵌入层、解码器层和输出层。其中在嵌入层中包括了Token Embedding(词嵌入)和Positional En…