用途:为 .NET 应用与服务提供与提供商无关的 AI 集成方案,围绕 Microsoft.Extensions.AI 与 Microsoft.Extensions.AI.Abstractions 组织聊天、嵌入、工具调用、结构化输出、向量搜索、评估与 MCP 等能力。
主要能力:IChatClient 提供 GetResponseAsync 与 GetStreamingResponseAsync,返回 ChatResponse 或 ChatResponseUpdate;IEmbeddingGenerator 用于语义搜索、向量索引与缓存键;AIFunction、AIFunctionFactory 与 FunctionInvokingChatClient 支持工具调用;IImageGenerator 为实验性图像生成接口;Microsoft.Extensions.VectorData 与 DataIngestion 支撑 RAG;Evaluation 包提供质量、安全与回归检查。
使用方式:应用与服务默认引用 Microsoft.Extensions.AI,仅在编写提供商或连接器库时直接引用 Abstractions。在 DI 中显式组合 IChatClient 与 IEmbeddingGenerator,保持选项、缓存、遥测、日志与工具调用可检查。无状态提供商需重发历史,有状态提供商应传递 ConversationId。ChatOptions 控制模型 ID、温度、工具与 AdditionalProperties。
适用场景:需要提供商无关聊天、嵌入、中间件、结构化输出与可测试性的应用;本地模型原型(如 Ollama);RAG 与向量搜索;评估与 CI 门禁。
限制:IChatClient 不提供持久化智能体线程、编排或托管智能体语义,此类需求应升级到 dotnet-microsoft-agent-framework。工具定义消耗请求 token,需精简并只注册相关工具。RAG 需稳定分块、嵌入模型版本跟踪与向量维度约束。AI 功能应配备评估基线、安全检查与遥测。具体 API 边界行为以官方文档为准。