65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 OpenAI 增强的 API 在 .NET 应用程序中轻松生成图像变体

starIconstarIconstarIconstarIconstarIcon

5.00/5 (4投票s)

2023 年 10 月 11 日

CPOL

2分钟阅读

viewsIcon

11140

探索使用 OpenAI 增强的 API 功能在 .NET 应用程序中创建各种图像的简化过程。

引言

ConnectingApps.Refit.OpenAI NuGet 包现在包含一项有价值的新功能,允许开发者使用 OpenAI 的 API 高效地生成图像变体。本文将简要介绍并演示此新功能。如果您不熟悉此 NuGet 包,请考虑阅读 CodeProject 上的介绍文章 CodeProject,以获取更多背景信息。

背景

生成图像变体对于不同的应用至关重要,包括机器学习的数据增强、测试或内容生成。随着 ConnectingApps.Refit.OpenAI 包中图像变体功能的引入,开发者可以毫不费力地在他们的 .NET 应用程序中实现这些任务。

Using the Code

以下步骤指导您如何使用新引入的图像变体功能

首先,您需要将 OpenAI API 密钥设置为环境变量并创建一个授权头

var apiKey = Environment.GetEnvironmentVariable("OPENAI_KEY");
var authorizationHeader = $"Bearer {apiKey}";

接下来,使用 FileStream 对象打开并读取您想要创建变体的图像

await using (var image = new FileStream("otter.png", FileMode.Open, FileAccess.Read))

然后,创建 IVariation 接口的实例并启动 GetImageVariations 方法以获取图像变体

var openAiApi = RestService.For<ivariation>
                ("https://api.openai.com", OpenAiRefitSettings.RefitSettings);
var streamPart = new StreamPart(image, "otter.png");
var response = await openAiApi.GetImageVariations
               (authorizationHeader, streamPart, 2, "1024x1024");

GetImageVariations 方法将返回一个包含状态代码和图像变体的响应。然后,您可以根据需要访问和使用这些变体

Console.WriteLine($"Returned response status code {response.StatusCode}");
Console.WriteLine($"Number of new items created {response.Content!.Data.Count}");
Console.WriteLine($"First item url {response.Content!.Data.First().Url}");
Console.WriteLine($"Second item url {response.Content!.Data.Last().Url}");

此代码的输出将类似于

Returned response status code OK
Number of new items created 2
First item url [IMAGE URL 1]
Second item url [IMAGE URL 2]

要深入了解代码,请随时查看该包的 GitHub 仓库

关注点

随着图像变体功能的引入,ConnectingApps.Refit.OpenAI 包已成为开发者使用 OpenAI API 的更强大的工具。它简化了交互,同时确保开发者可以访问 OpenAI API 提供的广泛功能。

历史

  • 2023 年 10 月 11 日:初始发布

本次更新涵盖了 ConnectingApps.Refit.OpenAI NuGet 包中图像变体功能的引入。未来的更新可能会带来更多功能和改进,从而进一步增强该包对 .NET 开发人员的实用性和效率。

© . All rights reserved.