OpenAI API клиентская библиотека для .NET. Он поддерживает API Openai и Azure-Openai. Эта библиотека была разработана для публичного использования, и она бесплатна. Поддерживаемые версии .NET:
x> = v4.6.1,
x> = Net Standard 2.0,
x> = dotnetcore 3.1,
.Net 6.0,
.NET 7.0
.NET 8.0
Работает с Blazor Webassembly и Blazor Server.
Чтобы установить пакет Добавить следующую строку в файл csproj, заменив XXX на последнюю версию номера:
<PackageReference Include="Forge.OpenAI" Version="x.x.x" />
Вы также можете установить через CLI .NET со следующей командой:
dotnet add package Forge.OpenAI
Если вы используете Visual Studio, вы также можете установить через встроенный диспетчер пакетов Nuget.
Вы должны создать Apikey для работы с API OpenAI.
Если у вас нет учетной записи в Openai, создайте одну здесь: https://platform.openai.com/
Чем перейдите к: https://platform.openai.com/account/api-keys
По умолчанию в этой библиотеке используется инъекция зависимости Microsoft, однако это не требуется.
Вы можете зарегистрировать клиентские службы с помощью коллекции услуг в вашем файле startup.cs / program.cs в вашем приложении.
public void ConfigureServices ( IServiceCollection services )
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
}Или в вашем файле Program.cs .
public static async Task Main ( string [ ] args )
{
var builder = WebAssemblyHostBuilder . CreateDefault ( args ) ;
builder . RootComponents . Add < App > ( " app " ) ;
builder . Services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = builder . Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
await builder . Build ( ) . RunAsync ( ) ;
}Или
public static async Task Main ( string [ ] args )
{
using var host = Host . CreateDefaultBuilder ( args )
. ConfigureServices ( ( builder , services ) =>
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = builder . Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
} )
. Build ( ) ;
}Вы должны предоставить свой ключ API OpenAI и, необязательно, свою организацию для загрузки услуг. Если вы не предоставите его в конфигурации, служба автоматически поиск необходимой информации в переменных вашей среды, в файле JSON (.openai) или в файле среды (.env).
Пример для переменных среды:
Openai_key или openai_api_key или openai_secret_key или test_openai_secret_key проверяются на ключ API
Ключ организации проверил на организацию
Пример для файла JSON:
{"apikey": "your_api_key", "Organization": "Organization_id"}
Файл среды должен содержать пары ключей/значения в этом формате {key} = {value}
Для « ключа » используйте одно из того же значения, которое описано в переменных среды выше.
Пример для файла среды:
Openai_key = your_api_key
Организация = необязательно_Your_organization
OpenAI и зависимые услуги требуют открытых мест, которые могут быть предоставлены вручную или это произойдет, если вы используете инъекцию зависимостей. Если вам нужно одновременно использовать несколько экземпляров Openai Service, вы должны предоставить эти параметры индивидуально с различными настройками и учетными данными аутентификации.
В параметрах есть много настроек URI, которые не были затронуты нормально. Наиболее важным вариантом является свойство AuthenticationInfo, которое содержит Apikey и идентификатор организации.
Кроме того, существует дополнительная опция, называемая httpmessagehandlerfactory, которая строит httpmessagehandler для httpclient в некоторых особых случаях, например, если вы хотите переопределить некоторое поведение Httpclient.
Существует встроенная функция регистрации, только для целей тестирования и отладки, называемой LogRequestSandResponses, которые сохраняют все запросы и ответы в папке (logRequestSandResponsessFolder). С помощью этой функции вы можете проверить сообщения низкого уровня. Я не рекомендую использовать его в производственной среде.
Если вы хотите узнать больше об возможностях API, пожалуйста, посетите https://platform.openai.com/docs/api-Referien
Я создал детскую площадку, которая является частью этого решения. Он охватывает все функции, которые предоставляет эта библиотека. Не стесняйтесь проходить через эти примеры и играть с настройками.
Также вот игровая площадка Openai, где вы также можете найти примеры использования: https://platform.openai.com/playground/p/default-chat?lang=node.js&mode=complete&model=text-davinci-003
Настройка услуги с провайдером Azure-Openai, вам необходимо указать название вашего ресурса Azure Openai, а также идентификатор развертывания модели.
Предварительные условия: https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs=command-line&pivots=programming-language-studio Документация: https://learn.microsoft.com/en-ranguage/cognitive-services-services-services-services-services-services-services-services-services-servics
Пример: https://github.com/jzo001/forge.openai/blob/main/playgrounds/azure-openai_setup_example/program.cs