Word接入DeepSeek r1,轻松实现智能文本生成与润色

之前我曾利用Word的VBA宏接入ChatGPT 3.5的API。然而,由于OpenAI对中国大陆地区的限制,这一方案难以持续使用。随后出现的大型语言模型要么难以调用,要么收费昂贵。如今,随着DeepSeek的开源,结合Word这一办公常用场景,我决定将DeepSeek模型接入Word,实现文本生成和文本润色两大功能。

Vba code

文本生成模块代码

通过VBA调用英伟达的API(具体获取方式之前已提到多次不再赘述),采用非流式生成方式。用户只需选中文字并点击模块名称,稍等片刻即可生成结果。该模块基于推理文本模型,并保留了模型的思考过程。

Sub DeepSeek()
    Dim selectedText As String
    Dim apiKey As String
    Dim response As Object, re As String
    Dim midString As String
    Dim ans As String
    If Selection.Type = wdSelectionNormal Then
        selectedText = Selection.Text
        selectedText = Replace(selectedText, ChrW$(13), "")
        apiKey = "your_api_key_here"
        URL = "https://integrate.api.nvidia.com/v1/chat/completions"
        Set response = CreateObject("MSXML2.XMLHTTP")
        response.Open "POST", URL, False
        response.setRequestHeader "Content-Type", "application/json"
        response.setRequestHeader "Authorization", "Bearer " + apiKey
        response.Send "{""model"":""deepseek-ai/deepseek-r1"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}], ""temperature"":0.7}"
        
        re = response.responseText
        midString = Mid(re, InStr(re, """content"":""") + 11)
        ans = Split(midString, """")(0)
        ans = Replace(ans, "\n", "")
        Selection.Text = selectedText & vbNewLine & ans
        Else
        Exit Sub
    End If

End Sub

文本润色模块

文本润色模块内置了提示词,大家可根据需要修改提示词,实现翻译、润色、续写等功能。

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
    
    ' 检查是否有正常选中的文本
    If Selection.Type = wdSelectionNormal Then
        ' 获取选中文本并去除不需要的字符
        selectedText = Selection.Text
        selectedText = Replace(selectedText, ChrW$(13), "")
        
        ' 定义API密钥和请求URL
        apiKey = "your_api_key_here"
        URL = "https://integrate.api.nvidia.com/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
        
        ' 发送请求,注意在JSON字符串中添加了polishPrompt
        response.Send "{""model"":""deepseek-ai/deepseek-r1"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}, {""role"":""assistant"", ""content"":""" & polishPrompt & """}], ""temperature"":0.7}"
        
        ' 处理响应数据
        re = response.responseText
        midString = Mid(re, InStr(re, """content"":""") + 11)
        ans = Split(midString, """")(0)
        ans = Replace(ans, "\n", "")
        
        ' 将原选中文本与润色后的文本一起插入文档中
        Selection.Text = selectedText & vbNewLine & ans
    Else
        Exit Sub
    End If
End Sub

宏的使用

宏的使用有很多方法,快捷键、放在功能区都行,这里以自定义功能区简单介绍。

添加宏

  1. 开启开发工具。
  2. 点击“开发工具”选项卡。
  3. 点击“Visual Basic”。
  4. 右键当前文稿下的“模块”,选择“插入模块”。
  5. 复制上述代码到新建的模块中。

自定义功能区

  1. 点击“文件”->“选项”->“自定义功能区”。
  2. 选择“宏”,在右侧自定义功能区新建选项卡和组。
  3. 将宏添加至组中,重命名并更换图标。

效果预览

小结

最近几天,我一直在探索DeepSeek的应用,深感其高性能和低成本对工作生活的普惠意义。对于个人和小企业而言,人工智能的应用应紧密结合自身场景,无需考虑在本地搭建模型。尽管DeepSeek模型开源,但在本地运行全功能模型成本较高。随着各大厂商的跟进,生成式模型可能成为基础设施,如同GitHub一样普及。我们需要做的是提前跑通整个流程,以便在新模型出现时能迅速应用。目前,DeepSeek虽强大,但运行速度仍有提升空间,尤其是RI推理模型。让我们保持热情,持续关注其发展。

BY

纯个人经验,如有帮助,请收藏点赞,如需转载,请注明出处。
微信公众号:环境猫 er
CSDN : 细节处有神明
个人博客: https://maoyu92.github.io/

相关文章

GPT3.5 与word的结合,提前享受office copilot_wordgpt-CSDN博客
nivdia 接入 deepseek r1 免费调用API-CSDN博客
DeepSeek 崛起引发的思考:一场颠覆性技术革命如何重塑全球AI与半导体格局-CSDN博客
使用Streamlit与DeepSeek API快速构建Chat应用-CSDN博客
deepseek+cursor打造免费智能代码编辑器-CSDN博客

### 将DeepSeek R1集成到Microsoft Word中的方法 为了实现仅通过代码将DeepSeek R1集成至Microsoft Word,可以采用Python脚本结合`python-docx`库来操作Word文档,并利用API接口调用DeepSeek R1的服务。下面提供了一个简单的例子说明这一过程。 #### 安装必要的软件包 首先需要安装两个主要的依赖项:一个是用于处理Word文件的`python-docx`;另一个则是发起HTTP请求所需的`requests`模块。可以通过pip命令完成这些工具的安装: ```bash pip install python-docx requests ``` #### 编写Python脚本来集成服务 接下来展示一段Python代码片段,该程序能够读取指定路径下的.docx文件内容并发送给DeepSeek R1 API获取增强后的文本结果,最后再保存回原文件位置。 ```python from docx import Document import requests def enhance_text_with_deepseek(text): url = "https://api.deepseekr1.example.com/enhance" payload = {"text": text} response = requests.post(url, json=payload) if response.status_code == 200: enhanced_data = response.json() return enhanced_data['enhancedText'] else: raise Exception(f"Failed to get response from DeepSeek R1: {response.text}") def process_word_document(file_path): document = Document(file_path) paragraphs = list(document.paragraphs) for paragraph in paragraphs: original_text = paragraph.text.strip() try: enhanced_paragraph = enhance_text_with_deepseek(original_text) paragraph.text = enhanced_paragraph except Exception as e: print(e) output_file_name = f"{file_path}_enhanced.docx" document.save(output_file_name) if __name__ == "__main__": input_docx_path = "./example_input.docx" process_word_document(input_docx_path) ``` 这段代码实现了基本的功能需求——即从本地加载一个Word文档,逐段提取文字并通过POST请求传递给预设好的DeepSeek R1 RESTful API端点进行加工处理,之后把返回的结果替换原文档相应部分的内容,最终另存为新的带有"_enhanced"标记的新版本文件[^1]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

细节处有神明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值