OpenAI -API -Client -Bibliothek für .NET. Es unterstützt OpenAI- und Azure-Openai-APIs. Diese Bibliothek wurde für den öffentlichen Gebrauch entwickelt und ist kostenlos zu verwenden. Unterstützte .NET -Versionen:
x> = v4.6.1,
x> = netpandard 2.0,
x> = dotnetcore 3.1,
.Net 6.0,
.NET 7.0
.NET 8.0
Funktioniert mit Blazor WebAssembly und Blazor Server.
Um das Paket zu installieren, fügen Sie Ihnen die folgende Zeile hinzu, die Ihnen die CSPROJ -Datei ersetzt, die XXX durch die neueste Versionsnummer ersetzt:
<PackageReference Include="Forge.OpenAI" Version="x.x.x" />
Sie können auch über den .NET CLI mit dem folgenden Befehl installieren:
dotnet add package Forge.OpenAI
Wenn Sie Visual Studio verwenden, können Sie auch über den integrierten Nuget -Paket -Manager installiert werden.
Sie sollten einen Apikey erstellen, um mit der OpenAI -API zu arbeiten.
Wenn Sie kein Konto bei OpenAI haben, erstellen Sie hier eines: https://platform.openai.com/
Als navigieren zu: https://platform.openai.com/account/api-keys
Standardmäßig verwendet diese Bibliothek die Microsoft -Abhängigkeitsinjektion, ist jedoch nicht erforderlich.
Sie können die Client -Dienste bei der Service -Sammlung in Ihrer Datei startup.cs / program.cs in Ihrer Anwendung registrieren.
public void ConfigureServices ( IServiceCollection services )
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
}Oder in Ihrer Datei programm.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 ( ) ;
}Oder
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 ( ) ;
}Sie sollten Ihren OpenAI -API -Schlüssel und optional Ihre Organisation zur Verfügung stellen, um den Dienst zu starten. Wenn Sie es in der Konfiguration nicht bereitstellen, suchen Sie automatisch die erforderlichen Informationen in Ihren Umgebungsvariablen, in einer JSON -Datei (.openai) oder in einer Umgebungsdatei (.env).
Beispiel für Umgebungsvariablen:
Openai_key oder openai_api_key oder openai_secret_key oder test_openai_secret_key werden auf die API -Taste überprüft
Organisationsschlüssel überprüft auf die Organisation
Beispiel für JSON -Datei:
{"apikey": "your_api_key", "organisation": "organisation_id"}
Die Umgebungsdatei muss Schlüssel-/Wertpaare in diesem Format enthält {Key} = {value}
Verwenden Sie für den " Schlüssel " einen der gleichen Wert, der in den obigen Umgebungsvariablen beschrieben wird.
Beispiel für die Umgebungsdatei:
Openai_key = your_api_key
Organisation = optional_your_organisation
OpenAI und die abhängigen Dienste erfordern OpenaiOptions, die manuell bereitgestellt werden können, oder es geschieht, wenn Sie eine Abhängigkeitsinjektion verwenden. Wenn Sie gleichzeitig mehrere OpenAI -Serviceinstanzen verwenden müssen, sollten Sie diese Optionen individuell mit unterschiedlichen Einstellungen und Authentifizierungsanmeldeinformationen angeben.
In den Optionen gibt es viele URI -Einstellungen, die nicht normal berührt wurden. Die wichtigste Option ist die Authentifizierungsinformation, die die Apikey- und und Organisations -ID enthält.
Außerdem gibt es eine zusätzliche Option, die als httpMessageHandlerfactory bezeichnet wird und die httpMessageHandler für das HTTPClient in einigen Sonderfällen erstellt, beispielsweise, wenn Sie ein Verhalten des HTTPClient überschreiben möchten.
Es gibt eine integrierte Protokollierungsfunktion, nur zum Testen und Debugging-Zweck, das als LogRequestSandResponses bezeichnet wird und alle Anfragen und Antworten in einem Ordner (LogrequestSandResponSFolder) bestehen. Mit dieser Funktion können Sie die Nachrichten auf niedriger Ebene überprüfen. Ich empfehle nicht, es in der Produktionsumgebung zu verwenden.
Wenn Sie mehr über die API-Funktionen erfahren möchten, besuchen Sie bitte https://platform.openai.com/docs/api-reference, wenn Sie einen API-Schlüssel generieren müssen
Ich habe einen Spielplatz erstellt, der Teil dieser Lösung ist. Es deckt alle Funktionen ab, die diese Bibliothek bietet. Fühlen Sie sich frei, diese Beispiele zu durchlaufen und mit den Einstellungen zu spielen.
Auch hier ist der OpenAI-Spielplatz, auf dem Sie auch Beispiele zur Verwendung finden: https://platform.openai.com/playground/p/default-chat?lang=node.js&mode=Complete&model=text-davinci-003
Richten Sie den Dienst mit einem Azure-OpenAI-Anbieter ein, Sie müssen den Namen Ihrer Azure OpenAI-Ressource sowie Ihre Modellbereitstellungs-ID angeben.
Voraussetzungen: https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs=command-line&pivots=programming-language-studio Dokumentation: https
Beispiel: https://github.com/jzo001/forge.openai/blob/main/playgrounds/azure-openai_setup_example/program.cs