Ollama本地部署DeepSeek并接入Excel

本文介绍了如何通过Ollama本地部署DeepSeek并接入Excel。

学习的内容来自以下两篇文章,十分感谢创作者的无私分享:

https://www.cnblogs.com/qubernet/p/18702147 https://blog.csdn.net/Python_cocola/article/details/145572074

1.下载Ollama

前往Ollama官网下载安装包,官方提供了三种安装包:macOS、Linux、Windows,可以按需下载。此处以Windows系统安装流程为例。

2.通过cmd安装Ollama

⭐step1.在开始菜单搜索CMD,右键"命令提示符"选择"以管理员身份运行"

⭐step2.假设OllamaSetup.exe文件被存储在C:\Ollama目录下,执行以下命令以定位到安装包所在目录:

cd C:\Ollama

假设D:\Ollama为期望的安装目录,键入以下命令:

OllamaSetup.exe /DIR="D:\Ollama"

⭐step3.执行上述命令后,会弹出OllamaSetup.exe安装窗口,点击Install按钮

*安装完成后在任务栏中退出Ollama,如下图所示右键Ollama图标后点击Quit Ollama

3.验证Ollama

⭐step1.以管理员身份运行CMD并进入Ollama所在目录,键入ollama -v,界面如下图所示代表Ollama已安装成功:

c:\>cd C:\Ollama

C:\Ollama>ollama -v
Warning could not connect to a running Ollama Instance
Warning Client version is 0.5.11

⭐step2.键入ollama -h可以查看Ollama其他操作命令:

4.配置环境变量

⭐step1.右键"此电脑"选择"属性",点击"高级系统设置"

点击"环境变量"

⭐step2.通过"新建"按钮,新增一个用户变量。变量名为:OLLAMA_MODELS;变量值为期望的模型存储位置如:C:\Ollama\Models。设置完成后点击"确定"以保存

5.下载DeepSeek -r1

⭐step1.打开Ollama官网,点击上方导航栏中的Models,选择deepseek -r1

在下拉列表中选择需要的版本,复制下拉框右侧的命令,如下图中就是ollama run deepseek -r1

⭐step2.用管理员权限打开CMD,将上一步中复制的命令粘贴至此,进行执行

当所有安装进度条都加载到100%时,代表下载已经完成。可以输入一些AI指令进行尝试

6.Excel VBA编辑器

⭐step1.点击上方工具栏中的"文件",选择"选项"。在Excel选项窗口中选择"自定义功能区",在右侧勾选上"开发工具"

⭐step2.利用快捷键Alt+F11打开VBA编辑器。如下图右击后选择"插入"-->"模块"

⭐step3.在右侧代码区粘贴以下代码

Public Function CallLLM(strUserQry As String)
Dim question As String
Dim response As String
Dim p_url As String
Dim p_apiKey As String
Dim http As Object
Dim content As String
Dim startPos As Long
Dim endPos As Long

question = strUserQry
p_url = Trim(Range("pmodelurl").Cells(1, 1).Value)
p_apiKey = Trim(Range("pmodelapikey").Cells(1, 1).Value)

Set http = CreateObject("MSXML2.XMLHTTP")

http.Open "POST", p_url, False
http.setRequestHeader "Content-Type", "application/json"
http.setRequestHeader "Authorization", "Bearer " & p_apiKey

Dim requestBody As String
requestBody = "{""model"":""" & Trim(Range("pmodelname").Cells(1, 1).Value) & """,""messages"":[{""role"":""user"",""content"":""" & question & """}]}"

http.send requestBody

Dim strContent As String

If http.Status = 200 Then
    response = http.responseText
    startPos = InStr(response, """content"":""") + Len("""content"":""")
    endPos = InStr(startPos, response, """},")
    content = Mid(response, startPos, endPos - startPos)
    strContent = ConvertUnicodeToText(content)
    
    Else
    
        strContent = "Error: " & http.Status & " - " & http.statusText
    End If
    CallLLM = strContent
End Function

Function ConvertUnicodeToText(ByVal mixedText As String) As String
    Dim regex As Object
    Dim matches As Object
    Dim match As Object
    Dim unicodeCode As String
    Dim convertedText As String
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "\\u([0-9A-Fa-f]{4})"
regex.Global = True


Set matches = regex.Execute(mixedText)
convertedText = ""
Dim i As Long
For i = 0 To matches.Count - 1
Set match = matches(i)
unicodeCode = match.SubMatches(0)
convertedText = convertedText & ChrW("&H" & unicodeCode)
If i < matches.Count - 1 Then
Dim startPos As Long
Dim endPos As Long
startPos = match.FirstIndex + match.Length
endPos = matches(i + 1).FirstIndex
convertedText = convertedText & Mid(mixedText, startPos + 1, endPos - startPos)
Else
convertedText = convertedText & Mid(mixedText, match.FirstIndex + match.Length)
End If
Next i

If convertedText = "" Then
ConvertUnicodeToText = Replace(mixedText, "\n", vbCrLf)
Else
ConvertUnicodeToText = Replace(convertedText, "\n", vbCrLf)
End If

End Function

⭐step4.回到Excel中的Sheet1,在上方工具栏中选择"公式"-->"名称管理器"分类下的"定义名称"

如下图将问题部分命名为"puserquery",将回答区命名为"pllmanswer"

⭐step5.新增一个名为Settings的sheet。

如下图将模型地址部分命名为"pmodelurl",模型名称命名为"pmodelname",API KEY命名为"pmodelapikey"。

⭐step6.填写Settings表中的参数

i. 模型地址。

        填写:http://localhost:11434/v1/chat/completions

ii. 模型名称。

        在CMD中键入ollama list查看对应版本,以下图为例模型名称应填写为:deepseek-r1:1.5b

iii. API KEY

        在DeepSeek官网申请API KEY,复制生成的key粘贴到Excel中

⭐step7.新建宏

i.在工具栏中选择"开发工具",点击"宏安全性"

启用所有宏,并允许访问

ii."开发工具"-->"插入"-->"表单控件"中的"按钮"

iii.点击Sheet1中的某个单元格,调出"指定宏"窗口,选择"新建"

iv.在代码区输入如下代码:

Range("pllmanswer").Cells(1, 1).Value = CallLLM(Trim(Range("puserquery").Cells(1, 1).Value))

7.使用DeepSeek

回到Sheet1,在问题区键入内容,点击按钮即可在回答区生成回答。

*保存文件时,应选择"Excel启用宏的工作簿"

内容概要:本文档详细介绍了 DEEP SEEK 的本地部署及其与私有知识库整合的具体步骤。主要包括两大部分:Ollama 平台的使用方法和 DeepSeek R1 模型的安装指导。Ollama 是一种能够便捷部署深度学习模型(尤其是大型语言模型)的工具,它支持多种操作系统在命令行中执行相应操作以完成从下载、配置直至实际使用的全过程。文中针对不同硬件条件给出了具体配置推荐,逐步讲解了从安装 Ollama 到运行特定大小版本 DeepSeek 模型(如 1.5b 至 70b),再到设置 API 键连接云端服务以及最后利用 Cherry Studio 构建个人专属的知识库的一系列操作指南。同时附上了多个辅助资源如视频教程、在线演示平台链接以便更好地理解和学习整个过程。 适合人群:适合有一定技术背景且想探索本地部署人工智能模型的初学者或是希望通过本地部署提高效率的研发团队。 使用场景及目标:一是帮助用户了解掌握在本地环境中配置高性能 AI 工具的全流程操作;二是使用户能够根据自己拥有的计算资源情况合理挑选合适的模型大小;三是通过集成私有知识库为企业内部提供定制化的问答或咨询系统,保护敏感数据不受公开访问威胁。 其他说明:考虑到安全性和稳定性因素,作者还提供了应对潜在风险如遭遇网络攻击时选用可靠替代源——硅基流动性 API 来保障服务持续稳定运作,强调在整个实施过程中应谨慎处理个人信息及企业关键资产以防泄露事件发生。此外,提到对于更高级的功能例如基于 Ollama 实现本地知识库还有待进一步探讨和发展。
### 部署 Ollama DeepSeek Excel 对接 #### 获取访问权限 为了能够使用 Ollama DeepSeek 的功能,在本地环境部署前需先登录 DeepSeek 开发者平台,创建应用来获得必要的 `API_KEY` 和接口地址[^1]。 #### 准备工作 确保本地服务器满足运行所需条件,包括但不限于操作系统版本、依赖库安装以及网络配置等。通常情况下,官方文档会提供详细的前置需求列表供参考。 #### 安装与配置 按照官方指南完成软件包下载及安装过程。这可能涉及到解压文件、设置环境变量等一系列操作。对于特定于 Windows 或 Linux 的指令,请参照对应系统的说明执行。 #### 接口调用准备 利用所获的 `API_KEY` 编写脚本或者程序去请求服务端的数据处理能力。Python 是一种常用的选择,因为它拥有丰富的 HTTP 请求库如 `requests` 来简化这一流程: ```python import requests url = 'https://api.deepseek.com/v1/endpoint' # 替换成实际获取到的URL headers = {'Authorization': f'Bearer YOUR_API_KEY'} response = requests.post(url, headers=headers, json=payload) print(response.json()) ``` #### 数据交换机制设计 为了让 Excel 能够有效地同已部署的服务交互,可以考虑采用 VBA (Visual Basic for Applications) 实现自动化任务或是借助 Power Query 加载外部数据源的方式实现动态更新表格内容的功能。下面是一个简单的通过 VBA 发送 POST 请求的例子: ```vba Sub CallDeepSeek() Dim http As Object Set http = CreateObject("MSXML2.XMLHTTP") url = "https://api.deepseek.com/v1/endpoint" apiKey = "YOUR_API_KEY" http.Open "POST", url, False http.setRequestHeader "Content-Type", "application/json" http.setRequestHeader "Authorization", "Bearer " & apiKey payload = "{""key"": ""value""}" ' 修改为具体参数 http.send (payload) MsgBox http.responseText End Sub ``` #### 测试验证 最后一步是对整个系统进行全面测试,确认各个组件之间正常通信无误,且能够在预期范围内正确返回结果给 Excel 表格展示出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值