《AI大模型应知应会100篇》第58篇:Semantic Kernel:微软的大模型应用框架
第58篇:Semantic Kernel:微软的大模型应用框架
——用C#和Python构建下一代AI应用的统一编程范式
📌 摘要
随着大模型(LLM)技术的快速发展,如何将这些强大的语言模型与传统代码系统进行无缝集成,成为开发者面临的核心挑战。为此,微软推出了 Semantic Kernel(简称SK) —— 一个融合了语义逻辑与程序逻辑的轻量级 SDK,支持 C# 和 Python,是连接传统开发与生成式 AI 的桥梁。
本文将带你从零开始,深入理解 Semantic Kernel 的核心架构、关键组件和实战开发流程,并通过多个真实代码示例帮助你快速上手这一前沿框架。
✅ 适合对象:AI初中级开发者、熟悉C#/Python的工程人员
🧪 实战内容:Kernel配置、语义函数定义、Planner调度、Plugin开发
🛠️ 工具链完整:OpenAI/Azure OpenAI接入、Docker部署、日志监控
🎯 场景覆盖:智能助手、企业自动化、多模态处理
🔍 核心概念与知识点
1. Semantic Kernel架构基础【实战部分】
1.1 核心概念:Kernel、Plugins、Functions与Planners
组件 | 功能 |
---|---|
Kernel | 核心运行时,管理模型、插件、上下文等 |
Function | 最小可执行单元,可以是语义函数或原生函数 |
Plugin | 一组相关功能的集合,用于组织和封装 |
Planner | 负责解析用户意图并生成执行计划 |
📌 示例结构:
Kernel
├── Model: gpt-4 / Azure OpenAI
├── Plugins:
│ ├── SummarizerPlugin
│ └── NewsSearchPlugin
└── Planner: SequentialPlanner / ActionPlanner
1.2 跨语言设计:C#与Python实现的对比与选择
特性 | C# | Python |
---|---|---|
性能 | 更高(.NET生态) | 灵活易读 |
社区 | 微软生态强 | 开源社区活跃 |
部署 | Windows/.NET 兼容性好 | 多平台通用 |
IDE 支持 | VS/VS Code 强大 | Jupyter/JetBrains 支持良好 |
📌 建议使用场景:
- C#:企业内部系统、Windows服务、.NET微服务;
- Python:原型开发、研究实验、Jupyter Notebook 快速验证;
1.3 与传统编程的融合:编程范式转变与思维模型
Semantic Kernel 的最大亮点在于其 混合编程范式:
- 传统编程:控制流、数据结构、状态管理;
- 语义编程:自然语言描述任务、自动编排、推理决策;
📌 示例:使用语义函数替代硬编码逻辑
// 传统方式
string summary = SummarizeText(text);// 使用 SK
var result = await kernel.InvokeAsync("Summarizer", "Summarize", new() { ["input"] = text });
1.4 与其他框架的区别:与LangChain/LlamaIndex的对比
框架 | 设计理念 | 优势 | 不足 |
---|---|---|---|
LangChain | 流程驱动、模块化 | 插件丰富、生态成熟 | 学习曲线陡峭 |
LlamaIndex | 数据驱动、检索优化 | 知识库能力强 | 编排能力弱 |
Semantic Kernel | 混合编程、跨语言统一 | 易于集成、微软生态友好 | 生态仍在成长中 |
🧩 核心组件开发【实战部分】
2.1 Kernel配置:连接不同模型的设置方法
C# 示例
using Microsoft.SemanticKernel;var builder = Kernel.CreateBuilder();
builder.AddOpenAIChatCompletion("gpt-4",Environment.GetEnvironmentVariable("OPENAI_API_KEY")
);
builder.AddAzureOpenAIChatCompletion("deployment-name","https://your-endpoint.openai.azure.com/",Environment.GetEnvironmentVariable("AZURE_OPENAI_KEY")
);var kernel = builder.Build();
📌 解释说明:
AddOpenAIChatCompletion
连接 OpenAI;AddAzureOpenAIChatCompletion
支持 Azure;- 支持多模型共存,便于切换测试。
Python 示例
import semantic_kernel as sk
from semantic_kernel.connectors.ai.open_ai import OpenAIChatCompletionkernel = sk.Kernel()
kernel.add_chat_service("chat_completion",OpenAIChatCompletion("gpt-4", api_key="your-api-key")
)
📌 解释说明:
add_chat_service()
添加 LLM;- 支持多种后端(如 HuggingFace、本地模型);
- 可结合 LangChain 使用。
2.2 语义函数构建:定义、调用与组合模式
C# 示例
var summarizeFunction = kernel.CreateFunctionFromPrompt("请总结以下内容:{{$input}}",new OpenAIPromptExecutionSettings { Temperature = 0.1 }
);var result = await kernel.InvokeAsync(summarizeFunction, new() { ["input"] = "需要总结的长文本..." });
Console.WriteLine(result);
📌 解释说明:
CreateFunctionFromPrompt
将 Prompt 转为 Function;- 支持变量替换(
{{$input}}
); - 可以设定温度、最大输出长度等参数。
Python 示例
from semantic_kernel.functions import kernel_function@kernel_function()
async def summarize(input: str, kernel: sk.Kernel) -> str:"""总结提供的文本内容"""template = "请总结以下内容:{{$input}}"prompt_config = sk.PromptTemplateConfig(template=template)prompt_template = sk.PromptTemplate(prompt_config)function_config = sk.SemanticFunctionConfig(prompt_config)summary_function = kernel.register_semantic_function("Summarizer", "Summarize", function_config)return await kernel.invoke(summary_function, input=input)
📌 解释说明:
- 使用装饰器定义语义函数;
register_semantic_function()
注册到命名空间;- 支持异步调用。
2.3 Plugins开发:原生函数与语义函数集成
class NewsSearchPlugin:@kernel_function(name="SearchNews", description="搜索互联网上的新闻")async def search_news(self, query: str) -> str:# 模拟搜索return f"搜索结果:{query}"kernel.import_plugin_from_object(NewsSearchPlugin(), plugin_name="News")
📌 解释说明:
@kernel_function
定义 Plugin 中的方法;import_plugin_from_object()
注册插件;- 可结合外部 API(如 Bing Search、Google Custom Search)扩展功能。
2.4 记忆组件:嵌入式存储与检索系统实现
from semantic_kernel.memory import VolatileMemoryStore
from semantic_kernel.connectors.memory.volatile import VolatileMemoryStorememory = VolatileMemoryStore()
kernel.register_memory_store(memory)# 保存记忆
await memory.save_information("general", id="news_001", text="AI 技术正在改变世界")# 检索记忆
results = await memory.search("general", "AI", limit=5)
for result in results:print(result.text)
📌 解释说明:
- 内置
VolatileMemoryStore
支持短期记忆; - 可扩展为 Redis、Chroma、Pinecone 等持久化方案;
- 支持多命名空间、关键词搜索。
🧠 高级功能应用【实战部分】
3.1 Planner使用:ActionPlanner与SequentialPlanner实现
C# 示例
using Microsoft.SemanticKernel.Planning;var planner = new SequentialPlanner(kernel);
var plan = await planner.CreatePlanAsync("查找关于人工智能的最新新闻,然后总结成中文");var result = await kernel.InvokeAsync(plan);
Console.WriteLine(result);
Python 示例
from semantic_kernel.planning import SequentialPlannerplanner = SequentialPlanner(kernel)
plan = await planner.create_plan("查找关于人工智能的最新新闻,然后总结成中文")result = await kernel.invoke(plan)
print(result)
📌 解释说明:
SequentialPlanner
按顺序执行步骤;ActionPlanner
支持更复杂的条件分支;- 自动识别所需插件并组合调用。
3.2 外部工具集成:结合API与现有系统的方法
import requestsclass WeatherPlugin:@kernel_function(description="获取天气信息")async def get_weather(self, city: str) -> str:response = requests.get(f"https://api.weatherapi.com/v1/current.json?key=YOUR_KEY&q={city}")data = response.json()return f"{city} 当前温度为 {data['current']['temp_c']}℃"
📌 解释说明:
- 可轻松对接 RESTful API;
- 支持同步/异步调用;
- 适用于企业已有系统集成。
3.3 会话与上下文:多轮对话状态管理技术
from semantic_kernel.core_skills.conversation_summary_skill import ConversationSummarySkillsummary_skill = ConversationSummarySkill(kernel)
context = kernel.create_new_context()context.variables.update("user_input", "你喜欢什么样的音乐?")
response = await kernel.run_async("ConversationSummary", "SummarizeConversations", input_vars=context.variables)
print(response)
📌 解释说明:
- 支持上下文管理;
- 可用于构建聊天机器人、客服代理;
- 支持历史压缩、摘要生成。
3.4 嵌入与向量搜索:知识库集成实现
from semantic_kernel.memory import MemoryStore, MemoryRecord
from semantic_kernel.connectors.memory.volatile import VolatileMemoryStorememory = VolatileMemoryStore()
record = MemoryRecord(id="doc1", text="量子计算的基本原理", embedding=[0.1, 0.2, 0.3])
await memory.save_record(record)results = await memory.search("default", "量子计算", limit=5)
for r in results:print(r.text)
📌 解释说明:
- 支持自定义 Embedding;
- 可对接 FAISS、Weaviate、Pinecone;
- 构建 RAG 应用的基础组件。
🧩 企业级应用架构【实战部分】
4.1 微服务集成:分布式系统中的部署模式
- 使用 ASP.NET Core + SK 构建 REST API;
- 使用 FastAPI + SK 构建 Python 微服务;
- 支持 gRPC、Kafka 等通信协议;
- 可部署在 Azure Functions 或 AWS Lambda 上。
4.2 容器化部署:Docker与Kubernetes环境配置
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . .
RUN dotnet publish -c Release -o outFROM mcr.microsoft.com/dotnet/runtime:7.0
WORKDIR /app
COPY --from=build /app/out .
ENTRYPOINT ["dotnet", "MyApp.dll"]
📌 解释说明:
- 支持 Docker 化部署;
- 可部署至 Kubernetes 集群;
- 支持自动扩缩容。
4.3 日志与监控:可观测性与性能分析
- 使用 Application Insights(C#);
- 使用 Prometheus + Grafana(Python);
- 支持 Trace、Metrics、Logs;
- 可追踪每个 Function 的执行路径与耗时。
4.4 安全最佳实践:企业环境中的安全控制
- 敏感信息加密(如 API Key);
- RBAC 权限控制;
- 请求频率限制;
- HTTPS 加密通信。
🧩 案例与实例
5.1 智能助手应用:多功能代理的完整实现
- 使用 Planner 解析用户请求;
- 集成天气、新闻、翻译等插件;
- 支持多轮对话与记忆管理;
- 可部署为 Web API 或桌面应用。
5.2 企业工作流自动化:与现有系统集成的案例
- 结合 SharePoint 获取文档;
- 使用 Outlook 发送邮件;
- 自动提取发票信息并分类;
- 提升办公效率。
5.3 多模态内容处理:结合图像分析的应用示例
- 使用 Vision Plugin 分析图片;
- 结合 GPT-4-Vision 描述图像;
- 支持图像转文字、图表解读等;
- 适用于教育、医疗、金融等领域。
🛠️ 实战代码与项目模板
6.1 完整应用脚手架:快速启动项目模板
GitHub 示例地址(假设):https://github.com/yourname/sk-starter-kit
6.2 自定义Plugin开发:扩展功能的示例代码
- 天气查询插件;
- 新闻搜索插件;
- 文档解析插件;
- 图像识别插件。
6.3 测试框架:单元测试与集成测试最佳实践
- 使用 xUnit/NUnit(C#);
- 使用 pytest(Python);
- 模拟 LLM 返回值进行测试;
- 支持 Mocking 与断言。
6.4 性能优化指南:大规模应用的配置建议
- 启用缓存(Redis);
- 使用异步接口提升吞吐;
- 控制并发请求数;
- 使用批量处理降低延迟。
🧠 总结与扩展思考
7.1 Semantic Kernel在企业环境中的独特优势
- 微软生态无缝集成:Azure、Office 365、Teams;
- 跨语言统一接口:C# 与 Python 一致性高;
- 易于扩展与维护:插件机制清晰;
- 低门槛入门:无需复杂编排即可上手。
7.2 与微软AI服务生态的集成策略
- Azure Cognitive Services;
- Microsoft Graph;
- Power Platform;
- Copilot Studio;
- Microsoft Viva & Dynamics 365。
7.3 混合编程范式的未来发展趋势
- 语义逻辑 + 程序逻辑深度融合;
- AutoGen + SK 构建高级代理系统;
- RAG + Planning 构建智能决策系统;
- 多模态 + 多模型协同推理。
📚 参考资料
- Semantic Kernel 官方文档:https://learn.microsoft.com/en-us/semantic-kernel/
- GitHub 仓库:https://github.com/microsoft/semantic-kernel
- Semantic Kernel 中文社区:https://semantickernel.cn/
🧑💻 结语
Semantic Kernel 是一个极具潜力的大模型开发框架,它不仅简化了 AI 应用的开发流程,还实现了语义逻辑与传统编程的完美融合。无论你是 C# 开发者还是 Python 工程师,都可以借助 SK 快速构建强大的 AI 应用。
💬 如果你想了解某个平台的深度评测、定制化训练或私有化部署方案,欢迎留言,我们将安排专题深入讲解!
✅ 关注《AI大模型应知应会100篇》专栏,持续更新前沿技术干货!
相关文章:
《AI大模型应知应会100篇》第58篇:Semantic Kernel:微软的大模型应用框架
第58篇:Semantic Kernel:微软的大模型应用框架 ——用C#和Python构建下一代AI应用的统一编程范式 📌 摘要 随着大模型(LLM)技术的快速发展,如何将这些强大的语言模型与传统代码系统进行无缝集成ÿ…...
ssh -T git@github.com 测试失败解决方案:修改hosts文件
问题描述 通过SSH方式测试,使用该方法测试连接可能会遇到连接超时、端口占用的情况,原因是因为DNS配置及其解析的问题 ssh -T gitgithub.com我们可以详细看看建立 ssh 连接的过程中发生了什么,可以使用 ssh -v命令,-v表示 verbo…...
c++面向对象:接口设计
一、什么是接口(Interface)? 在面向对象编程中,接口可以理解为一种“规范”或“约定”。 更具体一点: 它定义了“某个对象”应该具备哪些功能(方法、行为)但不关心这些功能的具体实现细节 用…...
[Java][Leetcode middle] 80. 删除有序数组中的重复项 II
删除重复元素,最多只保留两个 1. 计数法 第一个元素直接加入当与前一个元素相同时,计数器1,不同时计数器恢复1; 只有计数器小于2时,记录元素; public int removeDuplicates2(int[] nums) {int cnt 1;in…...
【Bluedroid】蓝牙HID DEVICE断开连接流程源码分析
蓝牙HID(Human Interface Device)的断开连接流程涉及从应用层到协议栈的多层交互。本文通过剖析Android Bluetooth协议栈代码,梳理从上层调用disconnect()到最终物理链路断开的完整流程,涵盖状态检查、消息传递、L2CAP通道关闭、资…...
嵌入式硬件篇---陀螺仪|PID
文章目录 前言1. 硬件准备主控芯片陀螺仪模块电机驱动电源其他 2. 硬件连接3. 软件实现步骤(1) MPU6050初始化与数据读取(2) 姿态解算(互补滤波或DMP)(3) PID控制器设计(4) 麦克纳姆轮协同控制 4. 主程序逻辑5. 关键优化与调试技巧(1) 传感器校准(2) PID…...
redis数据结构-07(SADD、SREM、SMEMBERS)
Redis Sets 简介:SADD、SREM、SMEMBERS Redis 集合是一种基础数据结构,可用于存储一组唯一且无序的元素。了解如何管理集合对于各种应用至关重要,从跟踪唯一访客到管理用户权限。本课将全面介绍 Redis 集合,重点介绍核心命令 SAD…...
嵌入式硬件篇---TOF|PID
文章目录 前言1. 硬件准备主控芯片ToF模块1.VL53L0X2.TFmini 执行机构:电机舵机其他 2. 硬件连接(1) VL53L0X(IC接口)(2) TFmini(串口通信) 3. ToF模块初始化与数据读取(1) VL53L0X(基于HAL库)(…...
# Anaconda3 常用命令
Anaconda3 常用命令及沙箱环境管理指南 Anaconda3 是一个强大的 Python 发行版,广泛用于数据科学、机器学习和科学计算。其核心优势在于通过 沙箱环境(Conda Environment) 实现项目隔离,避免依赖冲突。本文将介绍 Anaconda3 的常…...
嵌入式硬件篇---无线通信模块
文章目录 前言一、四种无线串口模块深度对比二、模块优缺点分析1. 蓝牙模块(HC-05)优点缺点 2. WiFi模块(ESP8266)优点缺点 3. 2.4G射频(NRF24L01)优点缺点 4. LoRa模块(SX1278)优点…...
MySQL 索引(二)
文章目录 索引理解MySQL对page做管理page的概念单个page多个page 页目录单页情况(提高page内部的查找的效率)多页情况(提高page间的查找效率)复盘一下为什么选择B树,不选择其他数据结构呢聚簇索引 VS 非聚簇索引 索引操…...
代码随想录算法训练营第六十天| 图论7—卡码网53. 寻宝
图论第七天,prim和kruskal算法,说实话都没看的很懂,有点抽象难理解,只能照着题解理解一下了。 53. 寻宝(prim) 53. 寻宝(第七期模拟笔试) 复制一下网站上的prim算法的结论 prim算…...
「OC」源码学习—— 消息发送、动态方法解析和消息转发
「OC」源码学习—— 消息发送、动态方法解析和消息转发 前言 前面我们在学习alloc源码的时候,就在callAlloc源码之中简单的探究过,类初始化缓存的问题,我们知道在一个类第一次被实例化的时候,会调用objc_msgSend去二次调用alloc…...
MySQL数据库下篇
#作者:允砸儿 #日期:乙巳青蛇年 四月十四 今天笔者将会把MySQL数据库的知识完结,再者笔者会浅写一下sql注入的内容。在后面笔者会逐渐的将网安世界徐徐展开。 php与mysql联动 编程接口 笔者在前面的文章写了php的内容,现在我…...
Linux之进程概念
目录 一、冯诺依曼体系结构 二、操作系统(Operator System) 2.1、概念 2.2、设计OS的目的 2.3、系统调用和库函数概念 三、进程 3.1、基本概念 3.1.1、描述进程-PCB 3.1.2、task_struct 3.1.3、查看进程 3.1.4、通过系统调用获取进程标识符 3.1.5、两种杀掉进程的方…...
numpy模块综合使用
一、numpy模块的综合使用方法 # 使用矩阵的好处,矩阵对于python中列表,字典等数据类型一个一个拿来计算是会方便计算很多的,底层使用的是c语言 # 在数据分析和数据处理的时候也经常常用 import numpy as np array np.array([[1,2,3],[2,3,4…...
嵌入式硬件篇---SPI
文章目录 前言1. SPI协议基础1.1 物理层特性四线制(标准SPI)SCKMOSIMISONSS/CS 三线制(半双工模式)通信模式 1.2 通信时序(时钟极性CPOL和相位CPHA)常用模式Mode 0Mode 3 1.3 典型通信流程 2. STM32F103RCT…...
【大模型】AI智能体Coze 知识库从使用到实战详解
目录 一、前言 二、知识库介绍 2.1 coze 知识库功能介绍 2.2 coze 知识库应用场景 2.3 coze 知识库类型 2.4 coze 知识库权限说明 2.5 coze 知识库与记忆对比 2.6 知识库的使用流程 三、知识库创建与使用 3.1 创建知识库入口 3.2 创建文本知识库 3.2.1 上传文件 3.…...
深度学习:系统性学习策略(二)
深度学习的系统性学习策略 基于《认知觉醒》与《认知驱动》的核心方法论,结合深度学习的研究实践,从认知与技能双重维度总结以下系统性学习策略: 一、认知觉醒:构建深度学习的思维操作系统 三重脑区协同法则 遵循**本能脑(舒适区)-情绪脑(拉伸区)-理智脑(困难区)**的…...
TikTok 推广干货:AI 加持推广效能
TikTok 推广是提升账号影响力、吸引更多关注的关键一环。其中,巧妙利用热门话题标签是增加视频曝光的有效捷径。运营者需要密切关注当下流行趋势,搜索与账号定位紧密相关的热门标签。例如,对于美妆账号而言,带上 “# 美妆教程 #热…...
滑动窗口——将x减到0的最小操作数
题目: 这个题如果我们直接去思考方法是很困难的,因为我们不知道下一步是在数组的左还是右操作才能使其最小。正难则反,思考一下,无论是怎么样的,最终这个数组都会分成三个部分左中右,而左右的组合就是我们…...
无侵入式弹窗体验_探索 Chrome 的 Close Watcher API
1. 引言 在网页开发中,弹窗(Popup)是一种常见的交互方式,用于提示用户进行操作、确认信息或展示关键内容。然而,传统的 JavaScript 弹窗方法如 alert()、confirm() 和 prompt() 存在诸多问题,包括阻塞主线程、样式不可定制等。 为了解决这些问题,Chrome 浏览器引入了 …...
牛客周赛 Round 92 题解 Java
目录 A 小红的签到题 B 小红的模拟题 C 小红的方神题 D 小红的数学题 E 小红的 ds 题 F 小红的小苯题 A 小红的签到题 直接构造类似于 a_aaaa,a_aaaaaaaa 这种 即可 // github https://github.com/Dddddduo // github https://github.com/Dddddduo/acm-java…...
DAY 17 训练
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 DAY 17 训练 聚类算法聚类评估指标介绍1. 轮廓系数 (Silhouette Score)2. CH 指数 (Calinski-Harabasz Index)3. DB 指数 (Davies-Bouldin Index) 1. KMeans 聚类算法原理确定…...
多源最短路径(Floyed)
#include <iostream> #include <vector> #include <stack> using namespace std; class Graph{ private: int vertex; //顶点数 //int** matrix; //有向图关系矩阵 int** path; //存储关系矩阵 int** pre; //存储中间节点k public: con…...
基于去中心化与AI智能服务的web3钱包的应用开发的背景描述
Web3代表了下一代互联网模式,其核心特征包括去中心化、数据主权、智能合约和区块链技术的广泛应用。根据大数据调查显示,用户希望拥有自己的数据控制权,并希望在去中心化网络中享受类似Web2的便捷体验。DeFi(去中心化金融) 生态日趋成熟的背景…...
LabVIEW车牌自动识别系统
在智能交通快速发展的时代,车牌自动识别系统成为提升交通管理效率的关键技术。本案例详细介绍了基于 LabVIEW 平台,搭配大恒品牌相机构建的车牌自动识别系统,该系统在多个场景中发挥着重要作用,为交通管理提供了高效、精准的解决方…...
C# Newtonsoft.Json 使用指南
Newtonsoft.Json (也称为 Json.NET) 是一种适用于 .NET 的常用高性能 JSON 框架,用于处理 JSON 数据。它提供了高性能的 JSON 序列化和反序列化功能。 安装 通过 NuGet 安装 基本用法 1. 序列化对象为 JSON 字符串 using Newtonsoft.Json;var product new Prod…...
Python_day22
DAY 22 复习日 复习日 仔细回顾一下之前21天的内容,没跟上进度的同学补一下进度。 作业: 自行学习参考如何使用kaggle平台,写下使用注意点,并对下述比赛提交代码 kaggle泰坦里克号人员生还预测 一、Kaggle 基础使用步骤 注册与登录…...
浏览器的B/S架构和C/S架构
浏览器的B/S架构和C/S架构 概述拓展 欢迎来到 Shane 的博客~ 心有猛虎,细嗅蔷薇。 概述 C/S架构? Client/Server架构。但是缺少通用性、系统维护、升级需要重新设计和开发,并且需要开发不同的操作系统,增加了维护和管理的难度。&…...
【C++】内存管理 —— new 和 delete
文章目录 一、C/C 内存分布二、C 语言中动态内存管理方式1. malloc / calloc / realloc / free 三、C 内存管理方式1. new / delete2. operator new 与 operator delete 函数3. new 和 delete 的实现原理(1) new 的原理(2) delete 的原理(3) new T[N] 的原理(4) delete[] 的原理…...
springboot3整合SpringSecurity实现登录校验与权限认证
一:概述 1.1 基本概念 (1)认证 系统判断身份是否合法 (2)会话 为了避免每次操作都进行认证可将用户信息保存在会话中 session认证 服务端有个session,把 session id给前端,每次请求cookie都带着…...
【东枫科技】使用LabVIEW进行深度学习开发
文章目录 DeepLTK LabVIEW深度学习工具包LabVIEW中的深度神经网络**功能与特性****功能亮点:** **支持的网络层****支持的网络架构****参考示例** 授权售价 DeepLTK LabVIEW深度学习工具包 LabVIEW中的深度神经网络 功能亮点: 在 LabVIEW 中创建、配置…...
《智能网联汽车 自动驾驶系统通用技术要求》 GB/T 44721-2024——解读
目录 一、核心框架与适用范围 二、关键技术要求 1. 总体要求 2. 动态驾驶任务执行 3. 动态驾驶任务后援 4. 人机交互(HMI) 5. 说明书要求 三、附录重点 附录A(规范性)——功能安全与预期功能安全 附录B(资料性…...
同一个虚拟环境中conda和pip安装的文件存储位置解析
文章目录 存储位置的基本区别conda安装的包pip安装的包 看似相同实则不同的机制实际路径示例这种差异带来的问题如何检查包安装来源最佳实践建议 总结 存储位置的基本区别 conda安装的包 存储在Anaconda(或Miniconda)目录下的pkgs和envs子目录中: ~/anaconda3/en…...
《Hadoop 权威指南》笔记
Hadoop 基础 MapReduce Hadoop 操作 Hadoop 相关开源项目...
每日一题洛谷P8615 [蓝桥杯 2014 国 C] 拼接平方数c++
P8615 [蓝桥杯 2014 国 C] 拼接平方数 - 洛谷 (luogu.com.cn) #include<iostream> #include<string> #include<cmath> using namespace std; bool jud(int p) {int m sqrt(p);return m * m p; } void solve(int n) {string t to_string(n);//int转换为str…...
【C++】AVL树实现
目录 前言 一、AVL树的概念 二、AVL树的实现 1.基本框架 2.AVL树的插入 三、旋转 1.右单旋 2.左单旋 3.左右双旋 4.右左双旋 四、AVL树的查找 五、AVL树的平衡检测 六、AVL树的删除 总结 前言 本文主要讲解AVL树的插入,AVL树是在二叉搜索树的基础上&a…...
49.EFT测试与静电测试环境和干扰特征分析
EFT测试与静电测试环境和干扰特征分析 1. EFT/B电快速瞬变脉冲群测试及干扰特征分析2. EFT的干扰特征分析与滤波方法3. ESD静电测试及干扰特征分析 1. EFT/B电快速瞬变脉冲群测试及干扰特征分析 EFT测试是模拟在大的感性设备断开瞬间产生的快速瞬变脉冲群对被测设备的影响。 E…...
html body 设置heigth 100%,body内元素设置margin-top出滚动条(margin 重叠问题)
今天在用移动端的时候发现个问题,html,body 设置 height:100% 会出现纵向滚动条 <!DOCTYPE html> <html> <head> <title>html5</title> <style> html, body {height: 100%; } * {margin: 0;padding: 0; } </sty…...
1688 API 自动化采集实践:商品详情实时数据接口开发与优化
在电商行业竞争日益激烈的当下,实时获取 1688 平台商品详情数据,能够帮助商家分析市场动态、优化选品策略,也能助力数据分析师洞察行业趋势。通过 API 自动化采集商品详情数据,不仅可以提高数据获取效率,还能保证数据的…...
Transformer Decoder-Only 参数量计算
Transformer 的 Decoder-Only 架构(如 GPT 系列模型)是当前大语言模型的主流架构,其参数量主要由以下几个部分组成: 嵌入层(Embedding Layer)自注意力层(Self-Attention Layers)前馈…...
苍穹外卖(数据统计–Excel报表)
数据统计(Excel报表) 工作台 接口设计 今日数据接口 套餐总览接口 菜品总览接口 订单管理接口 编辑代码导入 功能测试 导出运营数据Excel报表 接口设计 代码开发 将模板文件放到项目中 导入Apache POI的maven坐标 在ReportCont…...
如何实现Flask应用程序的安全性
在 Flask 应用中,确保安全性非常关键,尤其是当你将应用部署到公网环境中时。Flask 本身虽然轻量,但通过组合安全策略、扩展库和最佳实践,可以构建一个非常安全的 Web 应用。 一、常见 Flask 安全风险(必须防护…...
【Redis】Redis的主从复制
文章目录 1. 单点问题2. 主从模式2.1 建立复制2.2 断开复制 3. 拓扑结构3.1 三种结构3.2 数据同步3.3 复制流程3.3.1 psync运行流程3.3.2 全量复制3.3.3 部分复制3.3.4 实时复制 1. 单点问题 单点问题:某个服务器程序,只有一个节点(只搞一个…...
趣味编程:四叶草
概述:在万千三叶草中寻觅,只为那一抹独特的四叶草之绿,它象征着幸运与希望。本篇博客主要介绍四叶草的绘制。 1. 效果展示 绘制四叶草的过程是一个动态的过程,因此博客中所展示的为绘制完成的四叶草。 2. 源码展示 #define _CR…...
HTTP 响应状态码总结
一、引言 HTTP 响应状态码是超文本传输协议(HTTP)中服务器对客户端(通常是 Web 浏览器)请求的响应指示。这些状态码是三位数字代码,用于告知客户端请求的结果,包括请求是否成功。响应被分为五个类别&#…...
C语言常见的文件操作函数总结
目录 前言 一、打开和关闭 1.fopen 细节 2.fclos 基本用法示例 二、读写 1.fputc和fgetc 1)fputc 细节 基本用法示例 2)fgetc 细节 基本用法示例 2.fputs和fgets 1)fputs 细节 基本用法示例 2)fgets 细节 基本用法示例 3)puts的使用,以及为什…...
卫宁健康WiNGPT3.0与WiNEX Copilot 2.2:医疗AI创新的双轮驱动分析
引言:医疗AI的双翼时代 在医疗信息化的浪潮中,人工智能技术的深度融入正在重塑整个医疗行业。卫宁健康作为国内医疗健康和卫生领域数字化解决方案的领军企业,持续探索AI技术在医疗场景中的创新应用。2025年5月10日,在第29届中国医院信息网络大会(CHIMA2025)上,卫宁健康…...
【GPT入门】第38课 RAG评估指标概述
这里写自定义目录标题 一、RAG评估指标二、ragas 评估三、trulens 一、RAG评估指标 二、ragas 评估 2.1 ragas介绍 开源地址:https://github.com/explodinggradients/ragas 官方文档:https://docs.ragas.io/en/stable/从文本生成和文本召回两个维度&am…...