Code: Select all
public class AzureAIService
{
private readonly AzureOpenAIClient _azureClient;
#pragma warning disable OPENAI001
private readonly AssistantClient _assistantClient;
public AzureAIService(string apiKey)
{
string keyFromEnvironment = Environment.GetEnvironmentVariable("AZURE_OPENAI_API_KEY") ?? string.Empty;
_azureClient = new(
new Uri("https://your-azure-openai-resource.com"),
new ApiKeyCredential(keyFromEnvironment));
ChatClient chatClient = _azureClient.GetChatClient("my-gpt-35-turbo-deployment");
_assistantClient = _azureClient.GetAssistantClient();
}
public async Task CreateChatClientAsync()
{
Assistant assistant = await _assistantClient.CreateAssistantAsync(
model: "my-gpt-4o-deployment",
new AssistantCreationOptions()
{
Name = "Ecommerce Assistant",
Instructions = "You are an assistant for an ecommerce and you have to evaluate a series of metrics",
Tools = { ToolDefinition.CreateCodeInterpreter() },
});
ThreadInitializationMessage initialMessage = new(
MessageRole.User,
[
"Here are your recommendations based on today's data:"
]);
AssistantThread thread = await _assistantClient.CreateThreadAsync(new ThreadCreationOptions()
{
InitialMessages = { initialMessage },
});
}
}