当前位置: 首页 > article >正文

从Word里面用VBA调用NVIDIA的免费DeepSeekR1

看上去能用而已。

选中的文字作为输入,运行对应的宏即可;会先MSGBOX提示一下,然后相关内容追加到word文档中。
在这里插入图片描述需要自己注册生成好用的apikey

Option Explicit

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
    Dim URL
    If Selection.Type = wdSelectionNormal Then
        selectedText = Selection.Text
        selectedText = Replace(selectedText, ChrW$(13), "")
        apiKey = "nvapi--LlRnvapi-这里需要自己注册生成api key-LlR_nTfd" '"3f"
        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)
        MsgBox re
        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
    Dim URL
    
    ' 检查是否有正常选中的文本
    If Selection.Type = wdSelectionNormal Then
        ' 获取选中文本并去除不需要的字符
        selectedText = Selection.Text
        selectedText = Replace(selectedText, ChrW$(13), "")
        
        ' 定义API密钥和请求URL
        apiKey = "nvapi-这里需要自己注册生成api key-LlR" ' 
        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
        MsgBox re
        
        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


http://www.kler.cn/a/542532.html

相关文章:

  • NO.13十六届蓝桥杯备战|条件操作符|三目操作符|逻辑操作符|!||||(C++)
  • 【Vue中BUG解决】npm error path git
  • 国产编辑器EverEdit - 编辑辅助功能介绍
  • Spring MVC 拦截器(Interceptor)与过滤器(Filter)的区别?
  • Flink KafkaConsumer offset是如何提交的
  • 寒假2.8
  • 2025年2月第一周国内外科技资讯精选(软件工程与Python领域)
  • 本地部署DeepSeek Nodejs版
  • C++ ——从C到C++
  • chrome-mojo idl
  • kafka生产端之架构及工作原理
  • DevSecOps,DevOps的进阶
  • 网络编程-day5-sqlite3数据库
  • DeepSeek 大模型在 Mac 上的部署和运行
  • python基础入门:8.1项目1:爬虫与数据分析
  • 无人机避障——基于ESDF地图的JPS算法前端路径规划
  • 每日一题——有重复项数字的全排列
  • Kafka 中基于 Segment 和 Offset 查找消息的过程
  • 解决 keep-alive 缓存组件中定时器干扰问题
  • STM32、GD32驱动TM1640原理图、源码分享
  • 新数据结构(4)——Java继承
  • Python实现GO鹅优化算法优化支持向量机SVM分类模型项目实战
  • 港中文腾讯提出可穿戴3D资产生成方法BAG,可自动生成服装和配饰等3D资产如,并适应特定的人体模型。
  • Java 读取 PDF 模板文档并替换内容重新生成 PDF
  • CES Asia 2025:科技盛宴助力中国数字经济腾飞
  • 中间件-安装Minio-集成使用(ubantu-docker)