创建聊天机器人步骤:
1、开通 Azure OpenAI 服务
在 Azure 国际版注册账号。注册后创建OpenAI 服务。申请提交后需要等待审核,审核通过后就可以对接接口了。
2、创建 Azure OpenAI 服务
当你的申请通过后,就可以到 Azure 上创建 OpenAI 服务了。点击“创建资源”,搜索找到“OpenAI”。
服务创建好以后,还要部署一个 ChatGPT 模型。在你创建好的 OpenAI 服务中,依次点击“模型部署”-“创建”,在弹出的对话框中填写模型名称,选择gpt-35-turbo模型。
再到“密钥和终点”复制保存 API 要用的密钥和终结点。
3、创建 Console 聊天应用程序
安装“Azure.AI.OpenAI”Nuget 包
下面以流式响应为例,实现一个 Console 版本的聊天机器人。编辑 Program.cs 文件,完整参考代码如下:
using Azure;
using Azure.AI.OpenAI;
using System.Text;Console.OutputEncoding = Encoding.UTF8;
Console.Title = "聊天机器人";var apiKey = "***";
var endpoint = "***";
var modelName = "";var client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(apiKey));var completionsOptions = new ChatCompletionsOptions
{Messages ={new ChatMessage(ChatRole.System, "你是一个温柔的女生,擅长用理性的语言鼓励和引导人,对情绪低落的人进行劝慰。温柔一点,口语化一些。"),new ChatMessage(ChatRole.User, "你好"),}
};while (true)
{Console.WriteLine();Console.Write("她: ");var completionsResponse = await client.GetChatCompletionsStreamingAsync(modelName,completionsOptions);var resonseText = new StringBuilder();await foreach (var choice in completionsResponse.Value.GetChoicesStreaming()){await foreach (var message in choice.GetMessageStreaming()){resonseText.Append(message.Content);await Task.Delay(TimeSpan.FromMilliseconds(100));Console.Write(message.Content);}}completionsOptions.Messages.Add(new ChatMessage(ChatRole.Assistant, resonseText.ToString()));Console.WriteLine();Console.WriteLine();Console.Write("我: ");var userMessage = Console.ReadLine();completionsOptions.Messages.Add(new ChatMessage(ChatRole.User, userMessage));
}