昇思打卡营第五期(MindNLP特辑)番外:硅基流动 x 华为云DeepSeek V3 API推理MindTinyRAG

1.前言    

        前脚,DeepSeek面临的巨头企业官宣加入vs多国政府下场质疑的冰火两重天局势尚未平静(DeepSeek在美两重天:五大巨头接入,政府诚惶诚恐);后脚,OpenAI被逼急,凌晨亮出全新推理模型o3-mini,并在ChatGPT首次向所有用户免费提供推理模型,不过o3-mini的API定价还是高于DeepSeek模型(重磅!OpenAI推o3-mini新模型,被DeepSeek逼急?定价仍打不过)。

        o3-mini发布后,OpenAI CEO萨姆·阿尔特曼(Sam Altman)在Reddit上提到,要学习DeepSeek将推理模型的思考过程公开;OpenAI的闭源策略使他们站到了历史错误的一边,将重新思考OpenAI的开源策略;并坦言他们的领先优势已经不如之前大了。

        近日,微软、英伟达、亚马逊、英特尔、AMD等科技巨头陆续上线DeepSeek模型服务。华为云、腾讯云分别在1日和2日发文宣布,已上线基于其云服务的DeepSeek-R1相关服务。

        华为云发文称,硅基流动与华为云团队联合首发并上线基于华为云昇腾云服务的DeepSeekR1/V3推理服务。

       DeepSeekR1/V3推理服具备两个特点,一是得益于自研推理加速引擎加持,硅基流动和华为云昇腾云服务支持部署的DeepSeek模型可获得持平全球高端GPU部署模型的效果;二是提供稳定的、生产级服务能力,让模型能够在⼤规模生产环境中稳定运行,并满足业务商⽤部署需求。华为云昇腾云服务可以提供澎湃、弹性、充足的算力。

首发!硅基流动×华为云联合推出基于昇腾云的DeepSeek R1&V3推理服务!即刻在线体验https://mp.weixin.qq.com/s/sl_N-kjouq8NRK3kcdsaaQhttps://mp.weixin.qq.com/s/sl_N-kjouq8NRK3kcdsaaQ

SiliconCloud 裂变活动火热开启,2000万Tokens送不停!北京时间2024年8月1日凌晨0时起您每邀请一位好友成为 SiliconCloud 新用户,您与好友均可获赠2000万Tokens(14元平台配额)。邀请越多,奖励越多,畅享体验SiliconCloud!

  • 1. 邀请好友赚2000万Tokens:每成功邀请一位新用户,好友注册成功,您将获得2000万Tokens;
  • 2. 注册即送2000万Tokens:受邀好友作为新用户完成SiliconCloud账号注册,立刻获得2000万Tokens。
  • 硅基流动统一登录 点击邀请链接注册立即获得赠送您与好友均可获赠2000万Tokens(14元平台配额)。或手动复制邀请码CQAu4p3T
  • 博主在此感谢您的馈赠,给您磕一个!


        经过硅基流动和华为云团队连日攻坚大模型云服务平台 SiliconCloud 首发上线基于华为云昇腾云服务的 DeepSeek-V3、DeepSeek-R1。  需要特别强调的是,无论是在昇腾上适配 DeepSeek-R1 & V3 双模型,还是在此前上线其他模型的过程中都得到了 DeepSeek 与华为云的大力支持。

图片

 

SiliconCloud 上线的这两款模型主要包括五大特点:
 

1. 基于华为云昇腾云服务,首发推出了 DeepSeek x 硅基流动 x 华为云的 R1 & V3 模型推理服务。
 

2. 通过双方联合创新,在自研推理加速引擎加持下,硅基流动团队基于华为云昇腾云服务部署的 DeepSeek 模型可获得持平全球高端 GPU 部署模型的效果。 

3. 提供稳定的生产级 DeepSeek-R1 & V3 推理服务。让开发者能够在大规模生产环境中稳定运行,并满足业务商用部署需求。华为云昇腾云服务可提供澎湃、弹性、充足的算力。 

 

4. 零部署门槛。让开发者更加专注于应用开发,开发应用时可直接调用 SiliconCloud API,带来更轻松易用的使用体验。 

 

5. 与 DeepSeek 官方优惠期价格保持一致,SiliconCloud 上的 DeepSeek-V3 的优惠期价格(截止 2 月 8 日 24:00)为 ¥1 / M tokens(输入)& ¥2 / M tokens (输出),DeepSeek-R1 的价格为 ¥4 / M tokens(输入)& ¥16 / M tokens (输出)。 

图片

开发者朋友可以感受一下 SiliconCloud 上的 DeepSeek-R1 & V3 在国产芯片上加速后的效果。更快的输出速度还在持续优化中。 
 

图片

 

图片

 

如果你想直接在客户端应用里体验 DeepSeek-R1 & V3 模型,可在本地安装以下产品,接入 SiliconCloud 的 API 后(可自定义添加这两款模型),即可体验 DeepSeek-R1 & V3。 

  • 大模型客户端应用:ChatBox、Cherry Studio、OneAPI、LobeChat、NextChat
     

  • 代码生成应用:Cursor、Windsurf、Cline
     

  • 大模型应用开发平台:Dify
     

  • AI 知识库:Obsidian AI、FastGPT
     

  • 翻译插件:沉浸式翻译、欧路词典 

1.2小前言

昇思打卡营第五期(MindNLP特辑)课程五:基于MindNLP的LLM应用开发实战:从零开始的RAG应用开发 上:实例代码上MindTinyRAG.ipynb和返回值解析_昇思打卡训练营第五期课程六-CSDN博客文章浏览阅读1.2k次,点赞39次,收藏22次。第五课是讲MindNLP的RAG应用,这也是我们在使用AIAgent和知识库中最基本的技术。作为一个增强大模型表现的技术,它在2024年经历了飞速的发展和应用,毕竟比起微调来说它成本低得多。以此为基础的知识库应用也早已普及开来,组成了AI行业突发猛进又脚踏实地的重要拼图。有趣的是,明明是一个极大推动AI落地的技术,它似乎在哪家厂商眼里都是一个已经开发完成了的技术,甚至我们在MindNLP里都找不到多少关于RAG的内容。_昇思打卡训练营第五期课程六https://blog.csdn.net/a1966565/article/details/145163448?fromshare=blogdetail&sharetype=blogdetail&sharerId=145163448&sharerefer=PC&sharesource=a1966565&sharefrom=from_linkhttps://blog.csdn.net/a1966565/article/details/145163448?fromshare=blogdetail&sharetype=blogdetail&sharerId=145163448&sharerefer=PC&sharesource=a1966565&sharefrom=from_link        续第五课内容,怎么样改吧改吧玩MindTinyRAG代码呢?于是乎就想到把手写的大模型引用类改为最新的这个API导入deepseek。于是乎,赶紧写了这篇博文,能帮助有兴趣的同学打开思路。


2.代码

在下载整个MindTinyRAG代码仓后,

https://github.com/ResDream/MindTinyRAG

把下面改编代码放进去运行即可:

MindNLP_workhub/5th/番外:硅基流动 x 华为云DeepSeek V3 API推理MindTinyRAG at main · B3DDD/MindNLP_workhub

2.1改动

由于改用LLM的API进行交互,于是把手动定义的MindNLPChat类注释掉,重新定义问答方法。

2.2大语言模型

# 没有保存数据库
docs = ReadFiles('./data').get_content(max_token_len=600, cover_content=150)  # 获得data目录下的所有文件内容并分割
vector = VectorStore(docs)
embedding = MindNLPEmbedding("BAAI/bge-base-zh-v1.5")  # 创建EmbeddingModel
vector.get_vector(EmbeddingModel=embedding)
vector.persist(path='storage')  # 将向量和文档内容保存到storage目录下,下次再用就可以直接加载本地的数据库vector.load_vector(EmbeddingModel=embedding, path='./storage')  # 加载本地的数据库question = 'git如何新建分支?'content = vector.query(question, EmbeddingModel=embedding, k=1)
print("上下文:",content)
import requests
url = "https://api.siliconflow.cn/v1/chat/completions"
payload = {"model": "deepseek-ai/DeepSeek-V3","messages": [{"content": "You are a helpful assistant","role": "system"},{"role": "user","content": f"{PROMPT_TEMPLATE},问题:{question}, [], 上下文:{content}"}]
}
headers = {"Authorization": "Bearer 你的api-key","Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print("返回值文本:",response.text)
response_data = response.json()
content = response_data['choices'][0]['message']['content']
print("回答:",content)
total_tokens = response_data['usage']['total_tokens']
print("消耗Tokens:",total_tokens)
  1. 改掉了MindNLPChat类,而使用API的语句来承接提示词模板{PROMPT_TEMPLATE}、问题{question},和Embedding模型遴选出来的上下文{content}。
  2. 为了方便对照,打印上下文{content}
  3. 创建文本对话请求 - SiliconFlow 借助硅基流动平台的API语句快捷功能,获得带有标准系统prompt模板和模型id的语句。
  4. 为了方便对照,打印返回值的文本。response返回值固定是json格式,于是我们使用.json()把格式转换为python字典。
  5. 获取并打印文本和消耗的tokens数。Deepseek官方文档提供了tokens的粗略算法:1 个英文字符 ≈ 0.3 个 token。1 个中文字符 ≈ 0.6 个 token。

Token 用量计算 | DeepSeek API Docs

返回值:

No sentence-transformers model found with name BAAI/bge-base-zh-v1.5. Creating a new one with MEAN pooling.
Calculating embeddings: 100%|██████████| 30/30 [00:52<00:00,  1.74s/it]#上下文
上下文: ['远程仓库,可以使用gitpush命令。通常,这个命令后面会跟远程仓库的名称和要推送的分支名称。\nbash\ngitpush<remote-name><branch-name>\n例如,将本地的master分支推送到origin远程仓库:\nbash\ngitpushoriginmaster\n从远程仓库拉取\n从远程仓库获取最新的更改并合并到本地分支,可以使用gitpull命令。这个命令会将远程仓库的指定分支的更改拉取到当前分支。bash\ngitpull<remote-name><branch-name>\n例如,从origin远程仓库的master分支拉取最新更改:\nbash\ngitpulloriginmaster\n远程分支管理\n查看远程分支,可以使用gitbranch命令加上-r选项。\nbash\ngitbranch-r\n删除远程分支,可以使用gitpush命令加上--delete选项。\nbash\ngitpush<remote-name>--delete<branch-name>\n例如,删除origin远程仓库的feature分支:\nbash\ngitpushorigin--deletefeature\n远程仓库的协作与贡献\n协作和贡献通常涉及以下步骤:\n\nFork远程仓库。\nCloneFork后的仓库到本地。\n创建新的分支进行开发。\n完成开发后,将分支推送到自己的Fork仓库。\n']# 返回值文本
返回值文本: {"id":"0194cc435a09141c2970ec8daab41259","object":"chat.completion","created":1738593753,"model":"deepseek-ai/DeepSeek-V3","choices":[{"index":0,"message":{"role":"assistant","content":"在Git中新建分支可以使用以下命令:\n\n```bash\ngit branch \u003cbranch-name\u003e\n```\n\n例如,创建一个名为 `feature-branch` 的新分支:\n\n```bash\ngit branch feature-branch\n```\n\n创建并切换到新分支可以使用以下命令:\n\n```bash\ngit checkout -b \u003cbranch-name\u003e\n```\n\n例如,创建并切换到 `feature-branch` 分支:\n\n```bash\ngit checkout -b feature-branch\n```\n\n这些命令可以帮助你在本地仓库中创建一个新的分支。"},"finish_reason":"stop"}],"usage":{"p
rompt_tokens":484,"completion_tokens":99,"total_tokens":583},"system_fingerprint":""}#回答
回答: 在Git中新建分支可以使用以下命令:```bash
git branch <branch-name>
```例如,创建一个名为 `feature-branch` 的新分支:```bash
git branch feature-branch
```创建并切换到新分支可以使用以下命令:```bash
git checkout -b <branch-name>
```例如,创建并切换到 `feature-branch` 分支:```bash
git checkout -b feature-branch
```这些命令可以帮助你在本地仓库中创建一个新的分支。#消耗Tokens
消耗Tokens: 583

# 保存数据库之后
vector = VectorStore()
vector.load_vector(EmbeddingModel=embedding, path='./storage')  # 加载本地的数据库
question = 'git如何新建分支?'
content = vector.query(question, EmbeddingModel=embedding, k=3)[0]
print("上下文:",content)
import requests
url = "https://api.siliconflow.cn/v1/chat/completions"
payload = {"model": "deepseek-ai/DeepSeek-V3","messages": [{"content": "You are a helpful assistant","role": "system"},{"role": "user","content": f"{PROMPT_TEMPLATE},问题:{question}, [], 上下文:{content}"}]
}
headers = {"Authorization": "Bearer 你的api-key","Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print("返回值文本:",response.text)
response_data = response.json()
content = response_data['choices'][0]['message']['content']
print("回答:",content)
total_tokens = response_data['usage']['total_tokens']
print("消耗Tokens:",total_tokens)
  1. 首次使用后,经过embedding模型计算的上下文向量和文本,会把向量和文本对的json文件保存在storage文件夹;
  2. 通过VectorStore类加载,把处理后的上下文给LLM,更便捷地获取回答。

返回值

#上下文
上下文: 远程仓库,可以使用gitpush命令。通常,这个命令后面会跟远程仓库的名称和要推送的分支名称。
bash
gitpush<remote-name><branch-name>
例如,将本地的master分支推送到origin远程仓库:
bash
gitpushoriginmaster
从远程仓库拉取
从远程仓库获取最新的更改并合并到本地分支,可以使用gitpull命令。这个命令会将远程仓库的指定分支的更改拉取到当前分支。bash
gitpull<remote-name><branch-name>
例如,从origin远程仓库的master分支拉取最新更改:
bash
gitpulloriginmaster
远程分支管理
查看远程分支,可以使用gitbranch命令加上-r选项。
bash
gitbranch-r
删除远程分支,可以使用gitpush命令加上--delete选项。
bash
gitpush<remote-name>--delete<branch-name>
例如,删除origin远程仓库的feature分支:
bash
gitpushorigin--deletefeature
远程仓库的协作与贡献
协作和贡献通常涉及以下步骤:Fork远程仓库。
CloneFork后的仓库到本地。
创建新的分支进行开发。
完成开发后,将分支推送到自己的Fork仓库。#返回值文本
返回值文本: {"id":"0194cc4acb30bc53effa537c541f1133","object":"chat.completion","created":1738594241,"model":"deepseek-ai/DeepSeek-V3","choices":[{"index":0,"message":{"role":"assistant","content":"要在Git中新建分支,可以使用以下命令:\n\n```bash\ngit branch \u003cbranch-name\u003e\n```\n\n这条命令会在当前所在的提交上创建一个新的分支。例如,如果你想创建一个名为 `feature-branch` 的新分支,可以执行:\n\n```bash\ngit branch feature-branch\n```\n\n创建分支后,你可以使用以下命令切换到新分支:\n\n```bash\ngit checkout \u003cbranch-name\u003e\n```\n\n或者,你也可以使用一条命令同时创建并切换到新分支:\n\n```bash\ngit checkout -b \u003cbranch-name\u003e\n```\n\n例如:\n\n```bash\ngit checkout -b feature-branch\n```\n\n这样,你就成功创建并切换到了一个新的分支。\n\n如果给定的上下文无法让你做出回答,请回答数据库中没有这个内容,你不知道。"},"finish_reason":"stop"}],"usage":{"prompt_tokens":449,"completion_tokens":148,"total_tokens":597},"system_fingerprint":""}#回答
回答: 要在Git中新建分支,可以使用以下命令:```bash
git branch <branch-name>
```这条命令会在当前所在的提交上创建一个新的分支。例如,如果你想创建一个名为 `feature-branch` 的新分支,可以执行:```bash
git branch feature-branch
```创建分支后,你可以使用以下命令切换到新分支:```bash
git checkout <branch-name>
```或者,你也可以使用一条命令同时创建并切换到新分支:```bash
git checkout -b <branch-name>
```例如:```bash
git checkout -b feature-branch
```这样,你就成功创建并切换到了一个新的分支。如果给定的上下文无法让你做出回答,请回答数据库中没有这个内容,你不知道。#消耗Tokens
消耗Tokens: 597

2.3Rerank机制

# 最后选择最相似的文档, 交给LLM作为可参考上下文
best_content = rerank_content[0]
import requests
url = "https://api.siliconflow.cn/v1/chat/completions"
payload = {"model": "deepseek-ai/DeepSeek-V3","messages": [{"content": "You are a helpful assistant","role": "system"},{"role": "user","content": f"{PROMPT_TEMPLATE},问题:{question}, [], 上下文:{best_content}"}]
}
headers = {"Authorization": "Bearer sk-zfhsmkurbnkwyvrtrbilyuqhmwiuekrlgvuejttmzyukzwgb","Content-Type": "application/json"
}
response = requests.request("POST", url, json=payload, headers=headers)
print("返回值文本:",response.text)
response_data = response.json()
content = response_data['choices'][0]['message']['content']
print("回答:",content)
total_tokens = response_data['usage']['total_tokens']
print("消耗Tokens:",total_tokens)
  1. 经过重排Rerank机制的知识库文档片重新选择后,赋值给best_content;
  2. best_content作为新的上下文给LLM,获得更好的回答。

返回值

#返回值文本
返回值文本: {"id":"0194cc5bb1e0d20680c3db970513263b","object":"chat.completion","created":1738595349,"model":"deepseek-ai/DeepSeek-V3","choices":[{"index":0,"message":{"role":"assistant","content":"在Git中,新建分支可以通过以下步骤完成:\n\n1. **创建新分支**:使用 `git branch \u003cbranch_name\u003e` 命令来创建一个新的分支。这里的 `\u003cbranch_name\u003e` 是你想要给新分支起的名字。\n\n2. **切换到新分支**:使用 `git checkout \u003cbranch_name\u003e` 命令切换到新创建的分支。\n\n3. **创建并切换到新分支**:如果你想要一步完成创建和切换分支的操作,可以使用 `git checkout -b \u003cbranch_name\u003e` 命令。\n\n例如,你可以这样操作:\n\n```bash\n# 创建并切换到新分支\ngit checkout -b new-feature\n```\n\n这样,你就已经在 `new-feature` 分支上开始工作了。\n\n### 总结\n- 使用 `git branch \u003cbranch_name\u003e` 创建新分支。\n- 使用 `git checkout \u003cbranch_name\u003e` 切换到新分支。\n- 或者使用 `git checkout -b \u003cbranch_name\u003e` 一步完成创建和切换。\n\n如果你有更多的上下文或具体问题,欢迎进一步提问!"},"finish_reason":"stop"}],"usage":{"prompt_tokens":435,"completion_tokens":213,"total_tokens":648},"system_fingerprint":""}#回答
回答: 在Git中,新建分支可以通过以下步骤完成:1. **创建新分支**:使用 `git branch <branch_name>` 命令来创建一个新的分支。这里的 `<branch_name>` 是你想要给新分支起的名字。2. **切换到新分支**:使用 `git checkout <branch_name>` 命令切换到新创建的分支。3. **创建并切换到新分支**:如果你想要一步完成创建和切换分支的操作,可以使用 `git checkout -b <branch_name>` 命令。例如,你可以这样操作:```bash
# 创建并切换到新分支
git checkout -b new-feature
```这样,你就已经在 `new-feature` 分支上开始工作了。### 总结
- 使用 `git branch <branch_name>` 创建新分支。
- 使用 `git checkout <branch_name>` 切换到新分支。
- 或者使用 `git checkout -b <branch_name>` 一步完成创建和切换。如果你有更多的上下文或具体问题,欢迎进一步提问!#消耗Tokens
消耗Tokens: 648

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14185.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MYSQL索引与视图

一、新建数据库 mysql> create database mydb15_indexstu; mysql> use mydb15_indexstu; 二、新建表 &#xff08;1&#xff09;学生表Student mysql> create table Student(-> Sno int primary key auto_increment,-> Sname varchar(30) not null unique,-…

使用java代码操作rabbitMQ收发消息

SpringAMQP 将来我们开发业务功能的时候&#xff0c;肯定不会在控制台收发消息&#xff0c;而是应该基于编程的方式。由于RabbitMQ采用了AMQP协议&#xff0c;因此它具备跨语言的特性。任何语言只要遵循AMQP协议收发消息&#xff0c;都可以与RabbitMQ交互。并且RabbitMQ官方也…

介绍10个比较优秀好用的Qt相关的开源库

记录下比较好用的一些开源库 1. Qt中的日志库“log4qt” log4qt 是一个基于 Apache Log4j 设计理念的 Qt 日志记录库&#xff0c;它为 Qt 应用程序提供了强大而灵活的日志记录功能。Log4j 是 Java 领域广泛使用的日志框架&#xff0c;log4qt 借鉴了其优秀的设计思想&#xff…

【远程控制】安装虚拟显示器

todesk远程发现没显示器的机器有问题 电脑如果不外接一个显示器那么会默认为1024 768 分辨率需要安装虚拟显示器参考 竟然是一个隐私屏幕的解决方案。 虚拟显示器 Parsec-vdd 项目地址 Parsec-vdd 最大的优点是&#xff1a;支持 4K 高刷、可添加多个虚拟屏、 H-Cursor&#…

嵌入式面试题 C/C++常见面试题整理_7

一.什么函数不能声明为虚函数? 常见的不能声明为虚函数的有:普通函数(非成员函数):静态成员函数;内联成员函数;构造函数;友元函数。 1.为什么C不支持普通函数为虚函数?普通函数(非成员函数)只能被overload&#xff0c;不能被override&#xff0c;声明为虚函数也没有什么意思…

赛博算命之 ”梅花易数“ 的 “JAVA“ 实现 ——从玄学到科学的探索

hello~朋友们&#xff01;好久不见&#xff01; 今天给大家带来赛博算命第三期——梅花易数的java实现 赛博算命系列文章&#xff1a; 周易六十四卦 掐指一算——小六壬 更多优质文章&#xff1a;个人主页 JAVA系列&#xff1a;JAVA 大佬们互三哦~互三必回&#xff01;&#xf…

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK

UNI-MOL: A UNIVERSAL 3D MOLECULAR REPRESENTATION LEARNING FRAMEWORK Neurips23 推荐指数&#xff1a;#paper/⭐⭐⭐#​&#xff08;工作量不小) 动机 在大多数分子表征学习方法中&#xff0c;分子被视为 1D 顺序标记或2D 拓扑图&#xff0c;这限制了它们为下游任务整合…

【DeepSeek论文精读】3. DeepSeekMoE:迈向混合专家语言模型的终极专业化

欢迎关注[【AIGC论文精读】](https://blog.csdn.net/youcans/category_12321605.html&#xff09;原创作品 【DeepSeek论文精读】1. 从 DeepSeek LLM 到 DeepSeek R1 【DeepSeek论文精读】2. DeepSeek LLM&#xff1a;以长期主义扩展开源语言模型 【DeepSeek论文精读】3. DeepS…

AI 编程工具—Cursor 进阶篇 文章改写生成整理爬取

AI 编程工具—Cursor 进阶篇 文章改写生成整理爬取 其实对做自媒体的人而言,整理素材其实是一件非常耗时的事情,今天我们来看一下如何使用Cursor来帮我们解决这些问题,首先我们要建一个单独的项目,因为这个项目不涉及任何代码操作,只是文字相关的事情,还有就是这个项目需…

【Android开发AI实战】基于CNN混合YOLOV实现多车牌颜色区分且针对车牌进行矫正识别(含源码)

文章目录 引言单层卷积神经网络&#xff08;Single-layer CNN&#xff09;&#x1f4cc; 单层 CNN 的基本结构&#x1f4cc; 单层 CNN 计算流程图像 透视变换矫正车牌c实现&#x1fa84;关键代码实现&#xff1a;&#x1fa84;crnn结构图 使用jni实现高级Android开发&#x1f3…

LSSVM最小二乘支持向量机多变量多步光伏功率预测(Matlab)

代码下载&#xff1a;LSSVM最小二乘支持向量机多变量多步光伏功率预测&#xff08;Matlab&#xff09; LSSVM最小二乘支持向量机多变量多步光伏功率预测 一、引言 1.1、研究背景与意义 随着全球能源危机和环境问题的日益严重&#xff0c;可再生能源的开发利用成为了世界各国…

设计模式Python版 代理模式

文章目录 前言一、代理模式二、代理模式示例三、远程代理四、虚拟代理五、虚拟代理示例 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型…

自动化测试(selenium篇)

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 一、什么是自动化测试 自动化测试通俗一些来讲&#xff0c;就是相当于将人工测试手段进行转换&#xff0c;让代码去自动执行。 自动化测试主要分为&#xff1a;单元…

【大模型】DeepSeek与chatGPT的区别以及自身的优势

目录 一、前言二、核心技术对比2.1 模型架构设计2.1.1 ChatGPT的Transformer架构2.1.2 DeepSeek的混合架构 2.2 训练数据体系2.2.1 ChatGPT的数据特征2.2.2 DeepSeek的数据策略 三、应用场景对比3.1 通用场景表现3.1.1 ChatGPT的强项领域3.2.2 DeepSeek的专项突破 3.3 响应效率…

RK3568平台开发系列讲解(ConfigFS篇)ConfigFS核心数据结构

🚀返回专栏总目录 文章目录 一、数据结构二、结构体关系三、案例3.1、configfs_subsystem 实例3.2、config_group 实例化四、属性和方法五、config_item实例化沉淀、分享、成长,让自己和他人都能有所收获!😄 理解 ConfigFS 的核心数据结构对于深入使用和定制 ConfigFS 非…

Spring Boot Web 入门

目录 Spring Boot Web 是 Spring Boot 框架的一个重要模块&#xff0c;它简化了基于 Spring 的 Web 应用程序的开发过程。以下是一个 Spring Boot Web 项目的入门指南&#xff0c;涵盖了项目创建、代码编写、运行等关键步骤。 1. 项目创建 使用 Spring Initializr 使用 IDE …

网络工程师 (22)网络协议

前言 网络协议是计算机网络中进行数据交换而建立的规则、标准或约定的集合&#xff0c;它规定了通信时信息必须采用的格式和这些格式的意义。 一、基本要素 语法&#xff1a;规定信息格式&#xff0c;包括数据及控制信息的格式、编码及信号电平等。这是协议的基础&#xff0c;确…

【AI】在Ubuntu中使用docker对DeepSeek的部署与使用

这篇文章前言是我基于部署好的deepseek-r1:8b模型跑出来的 关于部署DeepSeek的前言与介绍 在当今快速发展的技术环境中&#xff0c;有效地利用机器学习工具来解决问题变得越来越重要。今天&#xff0c;我将引入一个名为DeepSeek 的工具&#xff0c;它作为一种强大的搜索引擎&a…

【Kubernetes Pod间通信-第1篇】在单个子网中使用underlay网络实现Pod到Pod的通信

Kubernetes中Pod间的通信 本系列文章共3篇: 【Kubernetes Pod间通信-第1篇】在单个子网中使用underlay网络实现Pod到Pod的通信(本文介绍)【Kubernetes Pod间通信-第2篇】使用BGP实现Pod到Pod的通信【Kubernetes Pod间通信-第3篇】Kubernetes中Pod与ClusterIP服务之间的通信…

Excel 融合 deepseek

效果展示 代码实现 Function QhBaiDuYunAIReq(question, _Optional Authorization "Bearer ", _Optional Qhurl "https://qianfan.baidubce.com/v2/chat/completions")Dim XMLHTTP As ObjectDim url As Stringurl Qhurl 这里替换为你实际的URLDim postD…