03 2025 档案
摘要:Ollama中deepseek排名的第一,下载次数是17M,第二名的llama 3.3是1.3M,可见火热度。 Ollama的具体地址见:https://ollama.com/search 我们用SK结合Ollama来测一下本地模型,首先安装Ollama,然后拉取deepseek-r1:1.5b到本
阅读全文
摘要:SemanticKernel已经支持deepseek-r1了,官方的Blog地址是https://devblogs.microsoft.com/semantic-kernel/using-deepseek-models-in-semantic-kernel,同时给出了接入的Demo,遗憾的是deep
阅读全文
摘要:在 .NET 的异步编程中,System.Threading.Channels 提供了一种强大的方式来处理生产者-消费者模式,尤其是当我们要在不同的任务或服务之间传递数据时。这篇文章我们就来聊聊 UnboundedChannelOptions 和 BoundedChannelOptions 这两个类
阅读全文
摘要:今天在.NET项目中,使用基于策略角色的鉴权时,遇到一个401的问题,场景如下: Program.cs代码如下: using Microsoft.AspNetCore.Authentication.JwtBearer; using Microsoft.AspNetCore.Mvc; using Mi
阅读全文
摘要:选项模式在 ASP.NET Core 中使用类来提供对相关配置设置的强类型访问。通过将配置设置隔离到单独的类,应用程序遵循封装和关注点分离的原则。封装确保依赖于配置的类仅依赖于其使用的设置;关注点分离则确保应用的不同部分的设置互不依赖或耦合。此外,选项模式还提供了验证配置数据的机制。 三种IOpti
阅读全文
摘要:SK的插件,能让AI功能如虎添翼。Plugin能让AI与本地功能和数据互动,使AI与应用的结合,并起到了很好的粘合剂作用。 怎么能让Plugin本身和功能分离呢?调用API是一个很好的办法,比如下面是一个查询订单的功能,是一个mini API项目。 using System.Text.Json.Se
阅读全文
摘要:微软在去年12月12日首次展示了Phi-4模型,该模型拥有140亿参数,但表现极为强大。在多项测试中表现优异: GPQA(研究生水平问答)和MATH数学基准测试中,Phi-4的表现超过了OpenAI的GPT-4o,并超越同类顶级开源模型Qwen 2.5 - 14B和Llama 3.3 - 70B。
阅读全文
摘要:随着生成式AI技术的蓬勃发展,AI已经成为现代软件不可或缺的一部分。如何更好地将AI融入产品,成为每个行业、每个开发者必须面对的问题。以下,我们将13个关键点浓缩为8个核心趋势,用通俗易懂的语言为大家解读每个趋势,并用真实案例来说明。 AI与行业的“深度结合”是未来主旋律 AI不再是万能药,它只有深
阅读全文
摘要:Process(流程)是为实现特定业务目标而设计的步骤集合,通过提供服务或产品,为客户创造价值。每个流程由一系列有序的活动组成,这些活动共同完成一个整体目标,旨在提升效率、优化决策,并促进跨团队协作。 在Microsoft Semantic Kernel框架中,Process Framework是一
阅读全文
摘要:在之前的SemanticKernel中,有一篇关于Agent的文章,不过现在看来其中使用的包过时,所以这篇来更新一下。原文章如下: Semantic Kernel:Agent代理 桂素伟,公众号:桂迹Semantic Kernel:Agent代理 原来项目引有的Nuget包如下,版本停留在
阅读全文
摘要:UnitsNet 是一个功能强大的 .NET 库,专为简化物理单位的处理而设计。它提供了丰富的单位类型及其转换功能,使开发人员能够在代码中方便地进行物理单位间的转换、计算和显示。UnitsNet 支持多种领域的物理单位,例如长度、质量、体积、温度、速度、面积等,极大地提高了开发效率和代码的可读性。无
阅读全文
摘要:下面是几个在.NET9中WinForm的新功能! 主题 Windows Forms 已初步支持暗模式,目标是在 .NET 10 中实现完整支持。应用程序的颜色模式可以设置为以下几种值: SystemColorMode.Classic—(默认)浅色模式,与之前版本的 Windows Forms 相同。
阅读全文
摘要:SemanticKernel系列 Semantic Kernel(SK)是微软开发的开源框架,旨在帮助开发者将大型语言模型(LLM)集成到应用程序中。它提供了丰富的工具和功能,支持多种编程语言,简化了LLM的调用和管理过程。通过SK,开发者可以更高效地构建智能应用,实现自然语言处理、对话生成等功能。
阅读全文
摘要:Results.Problem 是 ASP.NET Core 提供的一种标准化错误响应生成方法,用于创建符合 RFC 7807 标准的错误响应(Problem Details)。它可用于 Web API 中返回结构化的错误信息,包含 type、title、status 和 detail 等字段,帮助
阅读全文
摘要:最近有个需求,就是把我用中文录制的视频转成日语。基本思路是: 中文视频->采集中文字幕->优化->转成日语->转成日语语音->合成到视频中。 当前很多软件具有这个功能,一是收费,二是正好实现一下,把代码保留在自己手中,方便集成。 下面是直接看代码吧! smartfill.srt 1 00:00:02
阅读全文
摘要:在开始,先说说这个小工具的来由。我计划在11月16号在东京举办一次《AI应用开发之旅》的社区活动(https://www.just-agi.com/event.html),活动华人为主,所以用中文,朋友说要带日本人过来,问有没有日语字幕,看了一下我的Teams,只有实时字幕,并没有翻译,于是就开始自
阅读全文
摘要:虽然本节与SK无关,但都是基于AI,所以暂且放在这个系统中 Azure AI 视觉的多模式嵌入 API 可以将图像和文本转换为向量,也就是一种数字化的表示方式。这种技术可以让我们实现基于向量的图片搜索功能。通过结合这个 API 和 pgvector(PostgreSQL 中的向量库),我们可以让图片
阅读全文
摘要:插件是Semantic Kernel的核心组件。通过插件,你可以将现有的API封装成一个集合,供AI调用,从而赋予AI原本无法执行的操作能力。 在背后,Semantic Kernel利用了最新大型语言模型(LLM)中的原生功能——Function Calling,来帮助LLM进行规划并调用API。通
阅读全文
摘要:在上一篇的Function中,我们用混合方式来分别调用语义Function和本地Function,但调用顺序是开发者组织的。 其实SK是可以自组织的,下面定义了一个本地Function——GetChineseDay,用ImportPluginFromFunctions的方式添加到SK的插件库里。当在
阅读全文
摘要:Semantic Kernel中的Functions被设计为可被动态调用的“插件”,用于处理某些特定的操作。例如,一个Function可以是用于获取天气信息的API请求,或者是用于计算复杂数学表达式的函数。 在SK中,Functions通常分为以下两种类型:本地函数和语义函数。 Native Fun
阅读全文
摘要:在前面的《Semantic Kernel:用Embedding做客服(RAG)》中,我们是用Redis作为向量库的,这次,换成pg,看看怎么实现。 首先要引入Nuget包: Microsoft.SemanticKernel.Connectors.Postgres PostgreSQL本身安装后本身是
阅读全文
摘要:Metrics为程序健康运行提供了保驾护航,但过多的指标又会为问题调查,大屏展示,以及基础日志存储带来更多的负担,特别对一些几乎没有意义的指示,比如健康检查的请求指标。 .NET 9 引入了一个新功能,允许在某些端点和请求上选择不采集HTTP 指标记录。 你可以通过以下方法排除某些端点的指标记录:
阅读全文
摘要:在生成式AI中,代理通常指的是能够自主生成或操作数据的系统或模型。这些代理可以在多种场景中发挥作用,包括文本生成、图像和视频制作、音乐创作,以及数据分析和模拟。以下是一些代理在生成式AI中的具体作用和好处: 增强创造性: 代理可以生成新颖的创意,如艺术作品、音乐或文学文本,帮助艺术家和创作者超越传统
阅读全文
摘要:SK也对应了文生图的功能,本文中分别使用的是GPT的DALL·E 2和DALL·E 3来生成图版,虽然不如专业的文生图那么专业,但提示词到位,在一些场景中还是可用的。 项目引用的是当前最新的SK包,1.18.0-rc: <Project Sdk="Microsoft.NET.Sdk"> <Prope
阅读全文
摘要:多模态是每个LLM具有的能力,图片又是最常见的信息载体,GPT对图片的识别也很早就有了,随着GPT版本的迭代,效果越来越好。SK也是在很多就适配了图识文,只不过最近版本才支持本地图片的上传。(有点晚) 图片场景识别: using Microsoft.SemanticKernel.ChatComple
阅读全文
摘要:RAG(Retrieval-Augmented Generation)是一种结合信息检索和生成模型的自然语言处理方法。它通过检索相关文档片段作为生成模型的上下文,提高生成文本的准确性和相关性。RAG广泛应用于问答系统、对话系统和文本摘要等领域,兼具高效性和灵活性。公司的客户机器人都特别适合。 下面的
阅读全文
摘要:GraphRAG 是一种结构化的、层次化的检索增强生成(RAG)方法,区别于简单的文本片段语义搜索。GraphRAG 过程包括从原始文本中提取知识图谱,构建社区层级,为这些社区生成摘要,然后在执行 RAG 任务时利用这些结构。 详见:https://microsoft.github.io/graph
阅读全文
摘要:SmartFill使用说明 SmartFill是一款智能输入工具,用户可以输入文字;上传图片、Word、Excel、PDF、文本文件;语音输入。SmartFill会把用户输入的信息进行提取、转换、汇总,然后输入到页面内对应项目中,从而为用户节省时间,提升效率。 SmartFill目前以Chrome插
阅读全文
摘要:生成式AI之所以火爆,是通过ChatGPT引起的,因为这种智能对话(chat)式交互,颠覆人们对人机对话的认识和理解,它可以真人一样把上下文串起来,进行整体的理解和回复。 当然,SK会在早期的版中就进行了适配,SK让聊天上下文留存是通过ChatHistory实现的,并且这些内存会区分角色,当前1.1
阅读全文
摘要:在SK中内置了一些服务,这些服务可以让我们的应用,简单的实例化调用,便拥有AI能力。 以OpenAI为例,SK中内置的OpenAI服务有: 内容生成服务:OpenAITextGenerationService 聊天服务:OpenAIChatCompletionService 文本转图片服务:Open
阅读全文
摘要:最近有个需求,要求把日志加密,因为系统一直用的是NLog,所以也只能在这个基础上加密了。本文的用法NLog很早就有了,记录下来,以作后用。 NLog加密相对好处理,只需要定义一个TargetWithLayout的子类,重写它的Write方法即可,至于加密算法,可以自己行决定,这样就可以把灵活放成最大
阅读全文
摘要:目前SK已支持OpenAI,Azure OpenAI,Gemini,HuggingFace,MistralAI等LLM,相信之后会越来越丰富。 首先要引入所对应的LLM包,具体项目文件如下: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <Out
阅读全文
摘要:asp.net core 9中,引入了HyBridCache,本质上他并不是全新的一种缓存,而以与原来的缓存复合使用。 <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>net9.0</TargetFrame
阅读全文
摘要:随着Semantic Kernel功能的使用,和版本功能的稳定,是时候梳理一下SK的功能了。本系列文章会以C#作为主要的案例分享语言,尽量做到“概念解释简明易懂,示例代码清晰简洁”。 为了简单说明,之后Semantic Kernel都简写为SK。 SK是一个软件开发工具包(SDK),它将大型语言模型
阅读全文
摘要:前一篇简单说了一下怎么在项目中引入新的OpenAPI,本篇再进一步,看看怎么引入UI界面。 主要做法是通过添加/scalar/openapidemo这个静态页面实现,在页面中,引入了scalar的js,关于scalar,请详看https://scalar.com。其他信息与上一篇介绍的差不多。代码如
阅读全文
摘要:在.NET9的第4个预览版里,微软带来了OpenAPI,需要引用Microsoft.AspNetCore.OpenApi,如果想生成本地的API描述文件,需要引用Microsoft.Extensions.ApiDescription.Server。 下面是项目文件: <Project Sdk="Mi
阅读全文