标签

.NET中的生成式AI入门:聊天应用基础

发布时间:2026-03-30 08:22来源:微信阅读:18

在本课程中,我们将探讨如何使用语言模型的补全功能和.NET中的函数来构建聊天应用。我们还会学习如何利用 Microsoft Extensions AI (MEAI) 创建聊天机器人。

文本补全可能是 AI 应用中与语言模型交互的最基础形式。文本补全是根据输入(即提供给模型的提示)由模型生成的单次响应。

文本补全本身并不是一个聊天应用,它更像是一次性交互。你可以将文本补全用于诸如内容摘要或情感分析等任务。

让我们看看如何使用 .NET 中的Microsoft.Extensions.AI库实现文本补全。

🧑‍💻示例代码:这是一个可用的示例应用,你可以跟随学习。

🗒️注意:这个示例展示了 Azure OpenAI 作为托管服务。如果你想使用 Ollama,请查看这个示例(它初始化了一个不同的IChatClient)。

如果你想使用 Microsoft Foundry,你可以使用相同的代码,但需要更改端点和凭据。

🙋需要帮助?:如果遇到任何问题,请在仓库中提交问题。

构建一个聊天应用会稍微复杂一些。这需要与模型进行对话,用户可以发送提示,模型会响应。而且,就像任何对话一样,你需要保留对话的上下文或历史记录,以确保一切都合理。

在与模型的聊天中,发送给模型的消息可以有不同的类型。以下是一些例子:

在与模型的聊天过程中,你需要跟踪聊天的历史记录。这很重要,因为模型会根据系统消息以及用户和助手之间的所有交互来生成响应。每一条额外的消息都会为模型生成下一次响应提供更多上下文。

让我们看看如何使用 MEAI 构建一个聊天应用。

🙋需要帮助?:如果遇到任何问题,请在仓库中提交问题。

在构建 AI 应用时,你并不仅限于基于文本的交互。你可以通过根据用户输入调用代码中预定义的函数来扩展聊天机器人的功能。换句话说,函数调用是模型与外部系统之间的桥梁。

🧑‍💻示例代码:这是一个可用的示例应用,你可以跟随学习。

要在 MEAI 中调用函数,需要进行一些设置步骤。

首先,当然是定义你希望聊天机器人能够调用的函数。在这个示例中,我们将获取天气预报。

当我们实例化IChatClient对象时,需要指定我们将使用函数调用。

最后,当我们与模型交互时,需要发送包含函数调用信息的ChatOptions对象,以便模型在需要获取天气信息时调用该函数。

🙋需要帮助?:如果遇到任何问题,请在仓库中提交问题。

在本课程中,我们学习了如何使用文本补全、启动和管理聊天对话,以及在聊天应用中调用函数。

在下一课中,你将学习如何与数据进行聊天,并构建一种称为检索增强生成 (RAG) 模型的聊天机器人,还会学习如何在 AI 应用中处理视觉和音频!

👉让我们构建一个 RAG 应用!