最近和几个朋友聊天,发现一个有趣的现象:90%的C#开发者都想在项目中加入AI功能,但80%的人觉得太复杂而放弃。
"调用OpenAI API要处理HTTP请求、token管理、错误重试..."
"接入本地模型要学Docker、API封装、流式处理..."
"老板催得紧,但光搭环境就要一周..."
如果你也有这些困扰,今天这篇文章将彻底改变你的想法。Microsoft.Extensions.AI 让AI集成变得像写Hello World一样简单,5行代码就能让你的应用具备AI对话能力!
1. 复杂的SDK集成
2. 繁琐的基础设施
3. 高昂的学习成本
Microsoft推出的 Extensions.AI 包就像是AI界的"万能适配器",一套代码,适配所有主流AI服务!
想象一下,你正在开发一个客服系统,需要AI来回答常见问题。传统方式可能需要几十行代码,现在只需要这样:
C#using Microsoft.Extensions.AI;
using OllamaSharp;
namespace AppMsAi
{
internal class Program
{
static async Task Main(string[] args)
{
// 🎯 关键点1:一行代码创建AI客户端
IChatClient client = new OllamaApiClient(
new Uri("http://localhost:11434"), // 本地Ollama服务
"qwen2.5:3b"); // 使用轻量级模型
// 🎯 关键点2:设置客服场景的上下文
List<ChatMessage> customerServiceContext = [
new(ChatRole.System, "你是一个专业的电商客服,友好且高效地解决用户问题"),
new(ChatRole.User, "我的订单什么时候能到?")
];
// 🎯 关键点3:获取AI回复
ChatResponse response = await client.GetResponseAsync(customerServiceContext);
Console.WriteLine($"AI客服回复:{response}");
}
}
}

在人工智能快速发展的今天,如何将AI技术与实际应用场景无缝融合,已成为开发者的热门话题。本文将详细介绍如何使用 Microsoft Semantic Kernel 构建一个智能、高效的天气查询应用,让开发者了解如何利用 AI 赋能传统应用。
Semantic Kernel(语义内核)是微软推出的一个开源 SDK,它允许开发者轻松地将大语言模型(LLM)与传统编程方法结合。通过插件机制,开发者可以让 AI 调用 .NET 代码中的方法,实现更智能的交互。
在现代 AI 应用开发中,函数调用是一项强大的功能,它允许 AI 模型直接与应用程序的功能进行交互。Microsoft Semantic Kernel 作为一个开源框架,提供了简单而强大的方式来集成这一能力。本文将详细介绍如何在 Semantic Kernel 中使用聊天完成(Chat Completion)进行函数调用,帮助开发者构建更智能、更实用的 AI 应用。
函数调用(Function Calling)允许 AI 模型识别何时应该调用预定义的函数,并以结构化的方式提供必要的参数。这使得 AI 能够:
在 Semantic Kernel 中,这一功能与大型语言模型(LLM)的能力无缝集成,使开发体验更加流畅。
首先,我们需要创建一个新的 C# 项目并安装必要的 NuGet 包:

YAML架构是语义内核提供的一种声明式语法,用于定义AI提示模板。通过使用YAML,开发者可以更加结构化地创建、管理和维护提示,使得提示的版本控制、测试和部署变得更加简单。 问题来了,YAML是我现阶段最不喜欢的配置文件格式。。。。
语义内核提示的YAML文件由几个关键部分组成,下面我们将详细介绍每个部分:
YAML# 提示函数的基本信息
name: SummarizeText # 函数名称
description: 将文本概括为简明扼要的摘要 # 函数描述
template_format: semantic-kernel # 模板格式
template: | # 提示模板内容
请将以下文本概括为简洁的摘要:
{{$input}}
摘要:
# 输入变量定义
input_variables:
- name: input # 变量名称
description: 需要被概括的文本 # 变量描述
is_required: true # 是否必需
default: "" # 默认值
# 输出变量定义
output_variables:
- name: summary # 输出变量名
description: 生成的文本摘要 # 输出描述
# 执行设置
execution_settings:
default: # 默认设置
service: OpenAI # 服务提供商
model: gpt-4 # 使用的模型
temperature: 0.7 # 温度参数
max_tokens: 500 # 最大令牌数
在人工智能和大型语言模型(LLM)的世界中,提示词(Prompts)扮演着至关重要的角色。它们是我们与AI沟通的桥梁,决定了AI输出的质量和相关性。本文将深入探讨Microsoft Semantic Kernel中的提示词工程,帮助您理解如何有效地利用提示词来提升AI应用的效果。
提示词是我们提供给模型的输入或查询,以期获取特定的响应。在Microsoft Semantic Kernel中,提示词工程(Prompt Engineering)已成为一个新兴的专业领域,它需要创造力和对细节的关注。
有效的提示词设计对于从LLM AI模型中获得预期结果至关重要。通过精心选择正确的词语、短语、符号和格式,可以引导模型生成高质量且相关的文本。
例如,考虑以下两个提示词:
text请给我讲述人类的历史。 请用3句话给我讲述人类的历史。
第一个提示词可能会产生一个冗长的报告,而第二个提示词则会产生一个简洁的回应。如果您正在构建空间有限的用户界面,第二个提示词会更适合您的需求。