AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自動收發消息)

1.本地部署

1.1 ollama

Ollama軟件通過其高度優化的推理引擎和先進的內存管理機制,顯著提升了大型語言模型在本地設備上的運行效率。其核心采用了量化技術(Quantization)以降低模型的計算復雜度和存儲需求,同時結合張量并行計算(Tensor Parallelism)混合精度計算(Mixed Precision Computing),在FP16、INT8等低精度格式下實現高效的數值運算,從而大幅減少顯存占用并加速推理過程。此外,Ollama支持動態批處理(Dynamic Batching)分布式推理(Distributed Inference),能夠根據輸入請求動態調整資源分配,并通過多GPU或節點間的高效通信協議(如NCCL)實現彈性擴展,突破單機硬件限制。為確保兼容性,Ollama內置了對主流框架(如PyTorch、TensorFlow)的支持,并通過ONNX RuntimeTensorRT進一步優化模型性能,同時提供靈活的API接口和模塊化設計,允許用戶進行自定義微調(Fine-tuning)和Prompt工程,滿足多樣化應用場景需求。

1.1.1 下載安裝

https://ollama.com/download
在這里插入圖片描述雙擊打開安裝,ollama默認只能安裝在C盤,占用:4.6G 空間。

C:\用戶\用戶名稱\AppData\Local\Programs\Ollama

我的電腦中安裝目錄:C:\Users\Administrator\AppData\Local\Programs\Ollama
在這里插入圖片描述
在這里插入圖片描述

1.1.2 環境變量

默認ollama去下載部署deepseek模型時,會放在C盤 C:\Users\Administrator\.ollama\models文件夾中。修改環境變量,可以讓后續模型下載到其他盤符。

OLLAMA_MODELS D:\ollama\models
在這里插入圖片描述

配置好之后,ollama重啟重啟電腦 讓環境變量生效。

1.2 deepseek部署

https://ollama.com/library/deepseek-r1
在這里插入圖片描述
根據自己電腦配置部署模型規模

模型規模硬盤顯存需求內存顯卡要求
1.5B1.1 GB~2-3 GB~4-6 GB單卡(RTX 3060/3090/4090)
7B4.7 GB~8-12 GB~16-24 GB單卡(RTX 3090/4090/A100)
8B4.9 GB~9-13 GB~18-26 GB單卡(RTX 3090/4090/A100)
14B9.0 GB~16-20 GB~32-40 GB單卡(A100 40GB)
32B20 GB~35-45 GB~70-90 GB單卡(A100 80GB)或多卡并行
70B43 GB~75-90 GB~150-180 GB多卡(A100/H100 + NVLink)
671B404 GB~700-900 GB~1.4-1.8 TB多卡集群(A100/H100 + NVLink)

執行命令本地部署:

ollama run deepseek-r1:1.5b

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

2.deepseek調用

在這里插入圖片描述
ollama中的服務可以用兩種方式啟動,默認監聽本機localhost 和 端口11434

  • 在終端執行命令: ollama serve
    在這里插入圖片描述
  • 找到ollama圖標,點擊運行
    在這里插入圖片描述

2.1 終端調用

C:\Users\Administrator>ollama list
NAME                ID              SIZE      MODIFIED       
deepseek-r1:1.5b    a42b25d8c10a    1.1 GB    4 hours ago
C:\Users\Administrator>ollama run deepseek-r1:1.5b
>>> 
>>> 學習python的路徑?
<think>
好吧,我現在要學習Python了。我對它還不是很了解,所以得一步一步來。首先,我應該確定我的學習目標是什么。可能是從基礎開始,比如語     
法和基本概念,然后逐步深入到更高級的內容。
...
>>> /bye

在這里插入圖片描述

2.2 API調用

對話相關的API有兩個:

  • /api/generate,用于一次性生成特定文本的場景。
  • /api/chat,針對多輪對話上下文生成的回復消息。

接下來,結合案例來使用API來調用,需要安裝Python環境 和 requests 模塊。

示例:/api/generate

該 API 主要用于基于給定的提示信息生成文本內容。它適用于一次性生成特定文本的場景,不涉及對話上下文的維護.請求參數model:要使用的模型名稱,例如 `deepseek-r1:1.5b`。prompt:提示信息,即向模型提供的輸入文本,模型會根據該提示生成相應的內容。可選參數:還可以包含其他參數來控制生成的行為,如 `temperature`(控制生成文本的隨機性,值越大越隨機)、`max_tokens`(限制生成文本的最大令牌數)等。示例請求體{"model": "llama2","prompt": "寫一首關于春天的詩","temperature": 0.7,"max_tokens": 200}
import requestsres = requests.post(url="http://localhost:11434/api/generate",json={"model": "deepseek-r1:1.5b","prompt": "寫一首關于春天的詩","stream": False}
)data_dict = res.json()
print(data_dict)

在這里插入圖片描述
示例:/api/chat

用于模擬對話交互,它會維護對話的上下文,使得模型能夠根據之前的對話內容生成合適的回復,實現更自然、連貫的對話效果。請求參數model:要使用的模型名稱。messages:一個包含對話消息的列表,每個消息對象包含 role(角色,如 user 表示用戶消息,assistant 表示模型回復)和 content(消息內容)。同樣可以包含可選參數來控制生成行為。示例請求體{"model": "deepseek-r1:1.5b","messages": [{"role": "user","content": "你好"}],"temperature": 0.8}
import requestsres = requests.post(url="http://localhost:11434/api/chat",json={"model": "deepseek-r1:1.5b","messages": [{"role": "user", "content": "你好"}],"stream": False}
)
data_dict = res.json()
print(data_dict)

在這里插入圖片描述
可以將對話保存下來,生成對話:

import requestsmessage_list = []while True:text = input("請輸入:")user_dict = {"role": "user", "content": text}message_list.append(user_dict)res = requests.post(url="http://localhost:11434/api/chat",json={"model": "deepseek-r1:1.5b","messages": message_list,"stream": False})data_dict = res.json()res_msg_dict = data_dict['message']print(res_msg_dict)message_list.append(res_msg_dict)

在這里插入圖片描述

2.3 網頁交互

搭建一個網站,在內部進行訪問使用。

第1步:電腦安裝nodejs

https://nodejs.org/zh-cn/download
在這里插入圖片描述
第2步:下載網站源碼

https://github.com/ollama-webui/ollama-webui-lite
在這里插入圖片描述
下載并解壓至任意目錄。例如:F:\ollama-webui-lite-main 【不要有中文路徑】
在這里插入圖片描述
第3步:安裝依賴并啟動網站

打開CMD終端進入項目目錄并執行相關命令。

C:\Users\Administrator>F:
F:\>cd F:\ollama-webui-lite-main
F:\ollama-webui-lite-main>
F:\ollama-webui-lite-main>npm ci
F:\ollama-webui-lite-main>npm run dev --  --port=9001

在這里插入圖片描述
訪問網站:http://localhost:9001/
在這里插入圖片描述

3.微信收發信息

wxauto 是一個基于UIAutomation開發的用于實現微信自動化得庫。

消息發送:支持發送文字、圖片、文件、@群好友、引用消息等功能
聊天記錄:可獲取好友的聊天記錄內容
監聽消息:實時獲取指定監聽好友(群)的新消息

所用開發環境:Python 3.12.6 + PC微信 3.9.12(目前最新)
在這里插入圖片描述
實現原理:在電腦安裝PC微信,基于wxauto自動控制微信界面來實現收發消息等功能。
在這里插入圖片描述
安裝wxauto

pip install wxauto==3.9.11.17.5

發消息

from wxauto import WeChat
wx = WeChat()
wx.SendMsg(msg="你好呀", who="xxx_888")  # 指定人/群發消息# wx.SendMsg(msg="你好呀", who="群名", at=["張三","張開"])   # 群消息+@指定人
# wx.SendMsg(filepath="F:\xxx.png", who="用戶或群") 
# wx.SendMsg(filepath=["文件A","文件B","F:\xxx.png"], who="用戶或群") 

收消息(所有)

from wxauto import WeChatwx = WeChat()while True:# 等待接受收到的最新消息# {"用戶昵稱A":[消息對象1,消息對象2,消息對象3], "用戶昵稱B":[消息對象1,消息對象2,消息對象3], }msg_dict = wx.GetNextNewMessage()for username, msg_list in msg_dict.items():print("昵稱:", username)# [消息對象1, 消息對象2, 消息對象3]for msg in msg_list:print("\t消息", msg.type, msg.content)

收消息(指定用戶)

from wxauto import WeChat
wx = WeChat()wx.AddListenChat(who="運營")
wx.AddListenChat(who="xxx_888")while True:# { "用戶A聊天窗口":[消息對象1,消息對象2,消息對象3],  "用戶B聊天窗口":[消息對象1,消息對象2,消息對象3]}listen_dict = wx.GetListenMessage()for chat_win,message_list in listen_dict.items():# 用戶或群名chat_user = chat_win.who# [消息對象1,消息對象2,消息對象3]for msg in message_list:if msg.type != "friend":continueprint(chat_user, msg.content)# 回復消息# chat_win.SendMsg("回復的內容")time.sleep(5)

👏歡迎貢獻代碼和改進項目!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/70601.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/70601.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/70601.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

使用 Docker-compose 部署 MySQL

使用 Docker Compose 部署 MySQL 本文將詳細指導如何使用 docker-compose 部署 MySQL&#xff0c;包括基本配置、啟動步驟、數據持久化以及一些高級選項。通過容器化部署 MySQL&#xff0c;你可以快速搭建一個隔離的數據庫環境&#xff0c;適用于開發、測試或小型生產場景。 關…

HTML 中的 Canvas 樣式設置全解

在 HTML5 中&#xff0c;<canvas> 元素提供了一個強大的繪圖接口&#xff0c;允許開發者通過 JavaScript 實現各種圖形和動畫效果。為了充分利用 <canvas> 的功能&#xff0c;理解其樣式設置是至關重要的。本文將詳細介紹如何在 HTML 中設置 <canvas> 的各種…

【論文解析】Fast prediction mode selection and CU partition for HEVC intra coding

級別:IET Image Processing(2020)CCF CSCI 4區時間:2020年機構:蘇州大學下載地址:Fast prediction mode selection and CU partition for HEVC intra coding摘要 HEVC確實是一個很大的進步,編碼效率翻倍,但計算復雜度也增加了不少。為了解決這個問題,提出了兩種算法:…

大數據組件(四)快速入門實時數據湖存儲系統Apache Paimon(2)

Paimon的下載及安裝&#xff0c;并且了解了主鍵表的引擎以及changelog-producer的含義參考&#xff1a; 大數據組件(四)快速入門實時數據湖存儲系統Apache Paimon(1) 利用Paimon表做lookup join&#xff0c;集成mysql cdc等參考&#xff1a; 大數據組件(四)快速入門實時數據…

智慧校園系統在學生學習與生活中的應用

隨著科技的快速發展&#xff0c;智慧校園系統逐漸成為現代教育不可或缺的一部分。它整合了先進的信息技術、物聯網技術以及人工智能等&#xff0c;旨在構建一個全面、智能、個性化的學習與生活環境。對于學生而言&#xff0c;這一系統不僅能夠極大地提高學習效率&#xff0c;還…

基于Flask的京東商品信息可視化分析系統的設計與實現

【Flask】基于Flask的京東商品信息可視化分析系統的設計與實現&#xff08;完整系統源碼開發筆記詳細部署教程&#xff09;? 目錄 一、項目簡介二、項目界面展示三、項目視頻展示 一、項目簡介 系統能夠靈活地執行SQL查詢&#xff0c;提取出用于分析的關鍵數據指標。為了將這…

Electron通過ffi-napi調用dll導出接口

electron使用ffi-napi環境搭建 附打包好的ffi-napi可以直接放到項目目錄下使用&#xff0c;避免以后麻煩 一、安裝node.js Node.js官網&#xff1a;https://nodejs.org/zh-cn/download&#xff0c;選擇LTS長期穩定版本即可 需要注意Node.js 區分32和64位&#xff0c;32位版…

25工程管理研究生復試面試問題匯總 工程管理專業知識問題很全! 工程管理復試全流程攻略 工程管理考研復試真題匯總

工程管理復試面試心里沒底&#xff1f;別慌&#xff01;學姐手把手教你怎么應對復試&#xff01; 很多同學面對復試總擔心踩坑&#xff0c;其實只要避開雷區掌握核心技巧&#xff0c;逆襲上岸完全有可能&#xff01;這份保姆級指南幫你快速鎖定重點&#xff0c;時間緊迫優先背…

深藍學院自主泊車第3次作業-IPM

目錄 1 題目介紹2 求解 1 題目介紹 已知魚眼相機的參數&#xff0c; image_width&#xff0c;表示圖像的寬度image_height&#xff0c;表示圖像的高度 ξ \xi ξ&#xff0c;表示魚眼相機參數 k 1 k_1 k1?、 k 2 k_2 k2?&#xff0c;表示徑向相機參數 p 1 p_1 p1?、 p 2 p…

核貨寶助力連鎖門店訂貨數字化轉型升級

在競爭激烈的連鎖零售行業&#xff0c;傳統訂貨模式弊端日益凸顯&#xff0c;嚴重制約著企業的發展。核貨寶訂貨系統以其卓越的數字化解決方案&#xff0c;為連鎖門店訂貨帶來了全方位的變革&#xff0c;助力企業實現數字化轉型升級&#xff0c;在市場中搶占先機。 一、增強總部…

2.最多提取子串數目(100分)-附帶Java逐行解析

題目 給定 [a-z]&#xff0c;26個英文字母小寫字符串組成的字符串 A 和 B&#xff0c;其中 A 可能存在重復字母&#xff0c;B 不會存在重復字母&#xff0c;現從字符串 A 中按規則挑選一些字母&#xff0c;可以組成字符串B。 挑選規則如下&#xff1a; 同一個位置的字母只能挑…

AutoGen 技術博客系列 八:深入剖析 Swarm—— 智能體協作的新范式

本系列博文在掘金同步發布, 更多優質文章&#xff0c;請關注本人掘金賬號&#xff1a; 人肉推土機的掘金賬號 AutoGen系列一&#xff1a;基礎介紹與入門教程 AutoGen系列二&#xff1a;深入自定義智能體 AutoGen系列三&#xff1a;內置智能體的應用與實戰 AutoGen系列四&am…

力扣每日一題【算法學習day.132】

前言 ###我做這類文章一個重要的目的還是記錄自己的學習過程&#xff0c;我的解析也不會做的非常詳細&#xff0c;只會提供思路和一些關鍵點&#xff0c;力扣上的大佬們的題解質量是非常非常高滴&#xff01;&#xff01;&#xff01; 習題 1.統計相似字符串對的數目 題目鏈…

C語言.h頭文件的寫法

頭文件的內容 #ifndef __SEQUENCE_LIST_H // 定義以防止遞歸包含 #define __SEQUENCE_LIST_H // (1)、其它頭文件 #include <stdio.h> #include <stdlib.h> #include <strings.h> #include <stdbool.h> // (2)、宏定義(函數、變量、常量) // (3)、…

Spring AI + Ollama 實現調用DeepSeek-R1模型API

一、前言 隨著人工智能技術的飛速發展&#xff0c;大語言模型&#xff08;LLM&#xff09;在各個領域的應用越來越廣泛。DeepSeek 作為一款備受矚目的國產大語言模型&#xff0c;憑借其強大的自然語言處理能力和豐富的知識儲備&#xff0c;迅速成為業界關注的焦點。無論是文本生…

自學Java-AI結合GUI開發一個石頭迷陣的游戲

自學Java-AI結合GUI開發一個石頭迷陣的游戲 準備環節1、創建石頭迷陣的界面2、打亂順序3、控制上下左右移動4、判斷是否通關5、統計移動步驟&#xff0c;重啟游戲6、拓展問題 準備環節 技術&#xff1a; 1、GUI界面編程 2、二維數組 3、程序流程控制 4、面向對象編程 ? \bulle…

C語言的內存分配:malloc和free

使用庫函數分配和管理內存。在運行時&#xff0c;分配更多的內存給程序使用&#xff0c;主要工具是malloc函數&#xff0c;這個函數接受一個參數&#xff1a;所需要要的內存字節數。malloc函數會找到合適的空閑內存塊&#xff0c;這樣的內存是匿名的&#xff0c;即malloc分配了…

本地安裝 Grafana Loki

本地安裝 Grafana Loki 一、 安裝 Loki1. 下載 Loki2. 創建 Loki 配置文件3. 創建 Loki 服務 二、安裝 Promtail1. 下載 Promtail2. 創建 Promtail 配置文件3. 創建 Promtail 服務 三、 安裝 Grafana四、啟動所有服務五、添加loki 數據源1. 添加儀表板2. 日志查詢面板 json 參考…

趣味數學300題1981版-十五個正方形

分析&#xff1a;移動兩根變成11個正方形很簡單&#xff1a; 移動4根變成15個正方形&#xff0c;分析&#xff1a; 一個田字格包含5個正方形&#xff0c;若要15個正方形需要3個田字格&#xff0c;如果3個田字格完全不重合&#xff0c;需要6*318根火柴。如果合并正方形的邊&…

IDEA——Mac版快捷鍵

目錄 按鍵含義常用組合代碼生成快捷鍵&#xff1a;代碼追蹤快捷鍵&#xff1a;高效編輯快捷鍵&#xff1a;代碼重構快捷鍵&#xff1a;工具類快捷鍵&#xff1a;常規文件操作快捷鍵&#xff1a; 按鍵含義 ? command Command鍵&#xff08;?&#xff09;相當于Windows中的Con…