如何使用Kimi API实现单次和多轮对话的Microsoft Agent Framework控制台应用?

摘要:引言 如果你的技术栈主要是 .NET,想要快速上手 Agent 开发,那么 Microsoft Agent Framework 是一个非常不错的选择。它提供了对话管理、上下文保持、工具调用等一系列功能,让你能专注于业务逻辑实现。 这篇文章用
引言 如果你的技术栈主要是 .NET,想要快速上手 Agent 开发,那么 Microsoft Agent Framework 是一个非常不错的选择。它提供了对话管理、上下文保持、工具调用等一系列功能,让你能专注于业务逻辑实现。 这篇文章用一个最小控制台应用,通过 maf + kimi ai 合作,完成下面的目标: 使用 Microsoft Agent Framework(NuGet 包名为 Microsoft.Agents.AI 体系) 使用 Kimi 的 OpenAI 兼容接口 实现单次对话 实现多轮对话(基于 Session 保留上下文) 你把代码复制后,只要配置好 KIMI_API_KEY 就能跑起来。 环境准备 .NET SDK 9.0+ Kimi API Key 一个控制台项目 创建项目并安装依赖: dotnet new console -n AgentConsoleApp cd AgentConsoleApp dotnet add package Microsoft.Agents.AI dotnet add package Microsoft.Agents.AI.OpenAI dotnet add package OpenAI 开发实战 一、配置 Kimi API 的访问参数 注意:在实际开发中,确保妥善保管 API 密钥,避免泄露。 我这里把密钥放在了环境变量中,代码中通过读取环境变量来获取密钥。 macOS / Linux: export KIMI_API_KEY="你的 kimi_api_key 放这里" export KIMI_MODEL="moonshot-v1-8k" export KIMI_BASE_URL="https://api.moonshot.cn/v1" Windows PowerShell: $env:KIMI_API_KEY="你的 kimi_api_key 放这里" $env:KIMI_MODEL="moonshot-v1-8k" $env:KIMI_BASE_URL="https://api.moonshot.cn/v1" 读取环境变量的配置类: internal sealed class KimiSettings { public required string ApiKey { get; init; } public required string Model { get; init; } public required string BaseUrl { get; init; } public static KimiSettings FromEnvironment() { var apiKey = Environment.GetEnvironmentVariable("KIMI_API_KEY"); var model = Environment.GetEnvironmentVariable("KIMI_MODEL") ?? "moonshot-v1-8k"; var baseUrl = Environment.GetEnvironmentVariable("KIMI_BASE_URL") ?? "https://api.moonshot.cn/v1"; if (string.IsNullOrWhiteSpace(apiKey)) { throw new InvalidOperationException("缺少环境变量 KIMI_API_KEY。
阅读全文