原理
原理是利用Word的VBA宏,写代码接入API。无需下载额外插件。
步骤一、注册硅基流动
硅基流动统一登录
注册这个是为了有一个api调用的api_key,有一些免费的额度可以使用。大概就是这个公司提供token,我们使用这个公司的模型调用deepseek的r1。
步骤二、新建API_KEY
这个是为了获取一个密钥,sk-开头的一串字符串。例如sk-ncoublxkoyxsntfnnywfpxxxxxxxxxx,在下面的代码块里,把刚刚获取的密钥,替换成你真实的密钥
步骤三、编辑VB代码
office word 可以使用alt+f11 或者开发工具->VB编辑器打开编辑器
WPS这边VB编辑器是要开会员的,不过也能破解-。-
插件安装参考:WPS免费安装VBA的方法【无条件资源直接送】_哔哩哔哩_bilibili
在下面的代码里面将下面代码中的your_api_keys换成步骤二中获取的api-key。
Sub DeepSeekPolish()
Dim selectedText As String
Dim apiKey As String
Dim response As Object, re As String
Dim midString As String
Dim ans As String
Dim polishPrompt As String
Dim URL As String
Dim jsonResponse As Object
' 检查是否有正常选中的文本
If Selection.Type = wdSelectionNormal Then
' 获取选中文本并去除不需要的字符
selectedText = Selection.Text
selectedText = Replace(selectedText, ChrW$(13), "")
' 定义API密钥和请求URL
apiKey = "your_api_keys"
URL = "https://api.siliconflow.cn/v1/chat/completions"
' 设置润色提示词
polishPrompt = "请润色以上文字,要求语句通顺,条理清晰,专业而合理。"
' 创建HTTP请求对象并设置参数
Set response = CreateObject("MSXML2.XMLHTTP")
response.Open "POST", URL, False
' 添加必要的头部信息
response.setRequestHeader "Content-Type", "application/json"
response.setRequestHeader "Authorization", "Bearer " + apiKey
' 构建请求体
Dim requestBody As String
requestBody = "{""model"":""deepseek-ai/DeepSeek-R1-Distill-Qwen-7B"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & " " & polishPrompt & """}], ""temperature"":0.7}"
' 发送请求
response.Send requestBody
' 检查请求是否成功
If response.Status = 200 Then
' 处理响应数据
re = response.responseText
midString = Mid(re, InStr(re, """content"":""") + 11)
ans = Split(midString, """")(0)
ans = Replace(ans, "\n", "")
' 将原选中文本与润色后的文本一起插入文档中
Selection.Text = selectedText & vbNewLine & ans
Else
MsgBox "API请求失败,状态码:" & response.Status & ",响应:" & response.responseText
End If
Else
MsgBox "请先选中一段文本。"
End If
End Sub
编辑完成后点击保存按钮。
步骤四、设置自定义word功能
文件->选项->自定义功能区->新建组AI->新建选项卡deepseek->选中宏命令(刚刚创建的新宏)
使用
在工具栏里能找到刚刚的宏,调用deepseek即可