39 lines
1.2 KiB
C#
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("结束");
|
|
}
|
|
} |