OpenAI
Provides a extension methods that wrap all OpenAI operations using LightResults.
Chat Completions example
using OpenAI.Chat;
using LightResults.Extensions.OpenAI;
var client = new ChatClient("gpt-4.1", apiKey);
// Simple chat completion
var result = client.TryCompleteChat("What is the meaning of life?");
if (result.IsSuccess(out var completion))
{
Console.WriteLine($"Response: {completion.Content[0].Text}");
}
else if (result.IsFailure(out var error))
{
Console.WriteLine($"Error: {error.Message}");
}
// Async chat completion
var asyncResult = await client.TryCompleteChatAsync("Explain quantum computing");
if (asyncResult.IsSuccess(out var asyncCompletion))
{
Console.WriteLine($"Response: {asyncCompletion.Content[0].Text}");
}
else if (asyncResult.IsFailure(out var asyncError))
{
Console.WriteLine($"Error: {asyncError.Message}");
}
// Chat with multiple messages
var messages = new List<ChatMessage>
{
new SystemChatMessage("You are a helpful assistant."),
new UserChatMessage("What is artificial intelligence?")
};
var chatResult = await client.TryCompleteChatAsync(messages);
if (chatResult.IsSuccess(out var chatCompletion))
{
Console.WriteLine($"Response: {chatCompletion.Content[0].Text}");
}
Image Generation example
using OpenAI.Images;
using LightResults.Extensions.OpenAI;
var imageClient = new ImageClient("gpt-4.1-image", apiKey);
// Generate single image
var imageResult = await imageClient.TryGenerateImageAsync(
"A serene landscape with mountains and a lake at sunset");
if (imageResult.IsSuccess(out var image))
{
Console.WriteLine($"Generated image URL: {image.ImageUri}");
}
// Generate multiple images
var imagesResult = await imageClient.TryGenerateImagesAsync(
"A cute cat wearing a hat",
imageCount: 2);
if (imagesResult.IsSuccess(out var images))
{
foreach (var generatedImage in images)
{
Console.WriteLine($"Image URL: {generatedImage.ImageUri}");
}
}