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

news2025/2/12 1:38:21

看上去能用而已。

选中的文字作为输入,运行对应的宏即可;会先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.coloradmin.cn/o/2296594.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言学习笔记:子函数的调用实现各个位的累加和

在C语言程序学习之初,我们都会学习如何打印 hello world,在学习时我们知道了int main()是主函数,程序从main函数开始执行,这是流程控制的一部分内容。在主函数中我们想要实现一些功能,比如求各个…

grafana面板配置opentsdb

新增面板: 这里add-panel: 如果不是想新增面板而是想新增一行条目,则点击convert to row: 在新增的面板这里可以看到选择数据源 Aggregator:聚合条件,区分下第一行和第二行的aggregator,第一个是对指标值的聚合&…

2025年02月10日Github流行趋势

项目名称:dify 项目地址url:https://github.com/langgenius/dify项目语言:TypeScript历史star数:64707今日star数:376项目维护者:takatost, crazywoola, laipz8200, iamjoel, JohnJyong项目简介&#xff1a…

Ansible简单介绍及用法

一、简介 Ansible是一个简单的自动化运维管理工具,基于Python语言实现,由Paramiko和PyYAML两个关键模块构建,可用于自动化部署应用、配置、编排task(持续交付、无宕机更新等)。主版本大概每2个月发布一次。 Ansible与Saltstack最大的区别是…

渗透利器工具:Burp Suite 联动 XRAY 图形化工具.(主动扫描+被动扫描)

Burp Suite 联动 XRAY 图形化工具.(主动扫描被动扫描) Burp Suite 和 Xray 联合使用,能够将 Burp 的强大流量拦截与修改功能,与 Xray 的高效漏洞检测能力相结合,实现更全面、高效的网络安全测试,同时提升漏…

HTML-day1(学习自用)

目录 一、HTML介绍 二、常用的标签 1、各级标题(h1-h6) 2、段落标签(p) 3、文本容器(span) 4、图片标签(img) 5、超链接标签(a) 6、表格(t…

Vue07

一、Vuex 概述 目标:明确Vuex是什么,应用场景以及优势 1.是什么 Vuex 是一个 Vue 的 状态管理工具,状态就是数据。 大白话:Vuex 是一个插件,可以管理 Vue 通用的数据 (多组件共享的数据)。例如:购物车数…

Godot开发框架探索#2

前言 距离上次发文又又又隔了很长一段时间。主要原因还是因为思绪在徘徊,最近纠结的点有以下几个:1.渴求一个稳定的Godot开发框架;2.要不要使用更轻量的开发框架,或者直接写引擎; 3.对自己想做的游戏品类拿不定主意。…

deepseek实现私有知识库

前言 之前写了如何本地部署deepseek,已经可以私有化问答了,本地搭建deepseek实操(ollama搭建,docker管理,open-webui使用) 其中我觉得最厉害的还是这个模型蒸馏,使我们可以用很低的代价使用大模…

【探索未来科技】2025年国际学术会议前瞻

【探索未来科技】2025年国际学术会议前瞻 【探索未来科技】2025年国际学术会议前瞻 文章目录 【探索未来科技】2025年国际学术会议前瞻前言1. 第四届电子信息工程、大数据与计算机技术国际学术会议( EIBDCT 2025)代码示例:机器学习中的线性回…

大模型基本原理(四)——如何武装ChatGPT

传统的LLM存在几个短板:编造事实、计算不准确、数据过时等,为了应对这几个问题,可以借助一些外部工具或数据把AI武装起来。 实现这一思路的框架包括RAG、PAL、ReAct。 1、RAG(检索增强生成) LLM生成的内容会受到训练…

开发完的小程序如何分包

好几次了,终于想起来写个笔记记一下 我最开始并不会给小程序分包,然后我就各种搜,发现讲的基本上都是开发之前的小程序分包,可是我都开发完要发布了,提示我说主包太大需要分包,所以我就不会了。。。 好了…

java配置api,vue网页调用api从oracle数据库读取数据

一、主入口文件 1:java后端端口号 2:数据库类型 和 数据库所在服务器ip地址 3:服务器用户名和密码 二、映射数据库表中的数据 resources/mapper/.xml文件 1:column后变量名是数据库中存储的变量名 property的值是column值的…

iOS三方登录 - Facebook登录

引言 在出海APP的开发中,集成主流社交平台的三方登录已成为必不可少的一环。Facebook 作为全球最大的社交网络平台之一,其提供的 Facebook 登录功能能够大大简化用户注册和登录流程,提高用户体验,减少流失率。对于开发者而言&…

机器学习 - 理解偏差-方差分解

为了避免过拟合,我们经常会在模型的拟合能力和复杂度之间进行权衡。拟合能力强的模型一般复杂度会比较高,容易导致过拟合。相反,如果限制模型的复杂度,降低其拟合能力,又可能会导致欠拟合。因此,如何在模型…

深度学习01 神经网络

目录 神经网络 ​感知器 感知器的定义 感知器的数学表达 感知器的局限性 多层感知器(MLP, Multi-Layer Perceptron) 多层感知器的定义 多层感知器的结构 多层感知器的优势 偏置 偏置的作用 偏置的数学表达 神经网络的构造 ​神经网络的基本…

自动化xpath定位元素(附几款浏览器xpath插件)

在 Web 自动化测试、数据采集、前端调试中,XPath 仍然是不可或缺的技能。虽然 CSS 选择器越来越强大,但面对复杂 DOM 结构时,XPath 仍然更具灵活性。因此,掌握 XPath,不仅能提高自动化测试的稳定性,还能在爬…

PromptSource官方文档翻译

目录 核心概念解析 提示模板(Prompt Template) P3数据集 安装指南 基础安装(仅使用提示) 开发环境安装(需创建提示) API使用详解 基本用法 子数据集处理 批量操作 提示创建流程 Web界面操作 手…

2025年软件测试五大趋势:AI、API安全、云测试等前沿实践

随着软件开发的不断进步,测试方法也在演变。企业需要紧跟新兴趋势,以提升软件质量、提高测试效率,并确保安全性,在竞争激烈的技术环境中保持领先地位。本文将深入探讨2025年最值得关注的五大软件测试趋势。 Parasoft下载https://…

js的DOM一遍过

一、获取元素 1.根据id获取 document.getElementById(id);2.根据标签名获取 使用 getElementsByTagName() 方法可以返回带有指定标签名的对象的集合。 document.getElementsByTagName(标签名);获取某个元素(父元素)内部所有指定标签名的子元素。 element.getElementsByTag…