Files
Yi.Framework/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Domain/Managers/OpenAiManager.cs
2025-06-20 18:06:33 +08:00

39 lines
1.2 KiB
C#

using Azure;
using Azure.AI.OpenAI;
using OpenAI.Chat;
using Volo.Abp.Domain.Services;
namespace Yi.Framework.AiHub.Domain.Managers;
public class OpenAiManager : DomainService
{
public static async Task TestAsync()
{
var endpoint = new Uri("https://japan-ccnetcore-resource.cognitiveservices.azure.com/");
// var deploymentName = "gpt-4.1-mini";
var deploymentName = "o4-mini";
var apiKey = "FaccnRh7Zvz25OCGH07kHPe2z1aCXMliLdr3esgWHgXQ2aivwFgDJQQJ99BFACi0881XJ3w3AAAAACOGAJ2G";
AzureOpenAIClient azureClient = new(
endpoint,
new AzureKeyCredential(apiKey));
ChatClient chatClient = azureClient.GetChatClient(deploymentName);
List<ChatMessage> messages = new List<ChatMessage>()
{
new UserChatMessage("使用c#写一个贪吃蛇代码"),
};
var response = chatClient.CompleteChatStreamingAsync(messages);
await foreach (StreamingChatCompletionUpdate update in response)
{
foreach (ChatMessageContentPart updatePart in update.ContentUpdate)
{
System.Console.Write(updatePart.Text);
}
}
System.Console.WriteLine("结束");
}
}