Rychlý start: Začínáme s generováním textu pomocí služby Azure OpenAI Service

V tomto článku můžete začít s prvními voláními Azure OpenAI.

Požadavky

  • Předplatné Azure – Vytvořte si ho zdarma.

  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure

    V současné době je přístup k této službě udělován pouze aplikací. Pokud chcete získat přístup k Azure OpenAI, vyplňte formulář na adrese https://aka.ms/oai/access. Pokud máte problém, otevřete problém v tomto úložišti a kontaktujte nás.

  • Prostředek Azure OpenAI s nasazeným modelem. Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Tip

Vyzkoušejte si novou sjednocenou sadu Azure AI Studio (Preview), která spojuje možnosti z více služeb Azure AI.

Přechod na Azure OpenAI Studio

Přejděte na Azure OpenAI Studio https://oai.azure.com/ a přihlaste se pomocí přihlašovacích údajů, které mají přístup k vašemu prostředku OpenAI. Během nebo po přihlášení vyberte příslušný adresář, předplatné Azure a prostředek Azure OpenAI.

Na cílové stránce Azure OpenAI Studio můžete dále prozkoumat příklady pro dokončení výzvy, spravovat nasazení a modely a najít výukové materiály, jako jsou dokumentace a komunitní fóra.

Snímek obrazovky s cílovou stránkou Azure OpenAI Studio

Přejděte na Dětské hřiště , kde můžete experimentovat a doladit pracovní postup.

Hřiště

Začněte zkoumat funkce Azure OpenAI pomocí přístupu bez kódu prostřednictvím dětského hřiště GPT-3. Jedná se o textové pole, do kterého můžete odeslat výzvu k vygenerování dokončení. Na této stránce můžete rychle iterovat a experimentovat s možnostmi.

Snímek obrazovky se stránkou dětského hřiště v sadě Azure OpenAI Studio se zvýrazněnými oddíly

Můžete vybrat nasazení a vybrat si z několika předem načtených příkladů, které vám pomůžou začít. Pokud váš prostředek nemá nasazení, vyberte Vytvořit nasazení a postupujte podle pokynů uvedených průvodcem. Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Můžete experimentovat s nastavením konfigurace, jako je teplota a text předběžné odpovědi, a zlepšit tak výkon úlohy. Další informace o jednotlivých parametrech najdete v rozhraní REST API.

  • Výběrem tlačítka Generovat odešlete zadaný text do rozhraní API pro dokončování a výsledky streamujete zpět do textového pole.
  • Výběrem tlačítka Zpět vrátíte zpět předchozí volání generace.
  • Výběrem tlačítka Znovu vygenerovat dokončíte volání zpět a generování.

Azure OpenAI také provádí kon režim stanu ration na vstupech výzvy a generovaných výstupech. Výzvy nebo odpovědi mohou být filtrovány, pokud je zjištěn škodlivý obsah. Další informace najdete v článku filtru obsahu.

V dětském hřišti GPT-3 můžete také zobrazit ukázky kódu Pythonu a curl předem vyplněné podle vašeho vybraného nastavení. Stačí vybrat zobrazit kód vedle rozevíracího seznamu příkladů. Aplikaci můžete napsat tak, aby dokončila stejnou úlohu pomocí sady OpenAI Python SDK, curl nebo jiného klienta REST API.

Vyzkoušení shrnutí textu

Pokud chcete použít Azure OpenAI pro shrnutí textu v dětském prostředí GPT-3, postupujte takto:

  1. Přihlaste se k Azure OpenAI Studiu.

  2. Vyberte předplatné a prostředek OpenAI, se kterým chcete pracovat.

  3. V horní části cílové stránky vyberte GPT-3 Playground .

  4. V rozevíracím seznamu Nasazení vyberte své nasazení. Pokud váš prostředek nemá nasazení, vyberte Vytvořit nasazení a pak se k tomuto kroku znovu přihlaste.

  5. V rozevíracím seznamu Příklady vyberte Sumarizovat text.

    Snímek obrazovky se stránkou dětského hřiště v sadě Azure OpenAI Studio s viditelným rozevíracím seznamem Shrnutí textu

  6. Vyberte možnost Generate. Azure OpenAI se pokusí zachytit kontext textu a stručně ho přehrávejte. Měli byste získat výsledek podobný následujícímu textu:

    Tl;dr A neutron star is the collapsed core of a supergiant star. These incredibly dense objects are incredibly fascinating due to their strange properties and their potential for phenomena such as extreme gravitational forces and a strong magnetic field.
    

Přesnost odpovědi se může lišit v jednotlivých modelech. Model založený na Davinci v tomto příkladu je vhodný pro tento typ souhrnu, zatímco model založený na kódu by v tomto konkrétním úkolu nedělal stejně dobře.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

Ukázky balíčku zdrojového kódu | (NuGet) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure V současné době je přístup k této službě udělován pouze aplikací. K přístupu ke službě Azure OpenAI můžete požádat vyplněním formuláře na adrese https://aka.ms/oai/access.
  • Aktuální verze .NET Core
  • Prostředek služby Azure OpenAI s nasazeným modelem gpt-35-turbo-instruct . Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Nastavení

Vytvoření nové aplikace .NET Core

V okně konzoly (například cmd, PowerShell nebo Bash) pomocí dotnet new příkazu vytvořte novou konzolovou aplikaci s názvem azure-openai-quickstart. Tento příkaz vytvoří jednoduchý projekt Hello World s jedním zdrojovým souborem jazyka C#: Program.cs.

dotnet new console -n azure-openai-quickstart

Změňte adresář na nově vytvořenou složku aplikace. Aplikaci můžete sestavit pomocí následujících:

dotnet build

Výstup sestavení by neměl obsahovat žádná upozornění ani chyby.

...
Build succeeded.
 0 Warning(s)
 0 Error(s)
...

Nainstalujte klientskou knihovnu OpenAI .NET pomocí:

dotnet add package Azure.AI.OpenAI --prerelease

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření ukázkové aplikace

V adresáři projektu otevřete soubor program.cs a nahraďte následujícím kódem:

using Azure;
using Azure.AI.OpenAI;
using static System.Environment;

string endpoint = GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT");
string key = GetEnvironmentVariable("AZURE_OPENAI_API_KEY");

var client = new OpenAIClient(new Uri(endpoint), new AzureKeyCredential(key));

CompletionsOptions completionsOptions = new()
{
    DeploymentName = "gpt-35-turbo-instruct", 
    Prompts = { "When was Microsoft founded?" },
};

Response<Completions> completionsResponse = client.GetCompletions(completionsOptions);
string completion = completionsResponse.Value.Choices[0].Text;
Console.WriteLine($"Chatbot: {completion}");

Důležité

V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

dotnet run program.cs

Výstup

Chatbot:

Microsoft was founded on April 4, 1975.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek OpenAI, můžete ho odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

Ukázky balíčku zdrojového kódu | (Go)|

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure V současné době je přístup k této službě udělován pouze aplikací. K přístupu ke službě Azure OpenAI můžete požádat vyplněním formuláře na adrese https://aka.ms/oai/access.
  • Místně nainstalovaná verze Go 1.21.0 nebo vyšší.
  • Prostředek služby Azure OpenAI s nasazeným modelem gpt-35-turbo-instuct . Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření ukázkové aplikace

Vytvořte nový soubor s názvem completions.go. Do souboru completions.go zkopírujte následující kód.

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/Azure/azure-sdk-for-go/sdk/ai/azopenai"
	"github.com/Azure/azure-sdk-for-go/sdk/azcore/to"
)

func main() {
	azureOpenAIKey := os.Getenv("AZURE_OPENAI_API_KEY")
	modelDeploymentID := "gpt-35-turbo-instruct"

	azureOpenAIEndpoint := os.Getenv("AZURE_OPENAI_ENDPOINT")

	if azureOpenAIKey == "" || modelDeploymentID == "" || azureOpenAIEndpoint == "" {
		fmt.Fprintf(os.Stderr, "Skipping example, environment variables missing\n")
		return
	}

	keyCredential, err := azopenai.NewKeyCredential(azureOpenAIKey)

	if err != nil {
		// TODO: handle error
	}

	client, err := azopenai.NewClientWithKeyCredential(azureOpenAIEndpoint, keyCredential, nil)

	if err != nil {
		// TODO: handle error
	}

	resp, err := client.GetCompletions(context.TODO(), azopenai.CompletionsOptions{
		Prompt:       []string{"What is Azure OpenAI, in 20 words or less"},
		MaxTokens:    to.Ptr(int32(2048)),
		Temperature:  to.Ptr(float32(0.0)),
		Deployment: modelDeploymentID,
	}, nil)

	if err != nil {
		// TODO: handle error
	}

	for _, choice := range resp.Choices {
		fmt.Fprintf(os.Stderr, "Result: %s\n", *choice.Text)
	}

}

Důležité

V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

Teď otevřete příkazový řádek a spusťte:

go mod init completions.go

Další spuštění:

go mod tidy
go run completions.go

Výstup

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

Ukázky artefaktu zdrojového kódu | (Maven) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure V současné době je přístup k této službě udělován pouze aplikací. K přístupu ke službě Azure OpenAI můžete požádat vyplněním formuláře na adrese https://aka.ms/oai/access.
  • Prostředek služby Azure OpenAI s nasazeným modelem gpt-35-turbo-instruct . Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace v Javě

Vytvořte nový projekt Gradle.

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj.

mkdir myapp && cd myapp

gradle init Spusťte příkaz z pracovního adresáře. Tento příkaz vytvoří základní soubory sestavení pro Gradle, včetně build.gradle.kts, které se používají za běhu k vytvoření a konfiguraci aplikace.

gradle init --type basic

Po zobrazení výzvy k výběru DSL vyberte Kotlin.

Instalace sady Java SDK

V tomto rychlém startu se používá správce závislostí Gradle. Klientskou knihovnu a informace pro další správce závislostí najdete v centrálním úložišti Maven.

Vyhledejte build.gradle.kts a otevřete ho pomocí preferovaného integrovaného vývojového prostředí (IDE) nebo textového editoru. Pak zkopírujte následující konfiguraci sestavení. Tato konfigurace definuje projekt jako aplikaci Java, jejíž vstupním bodem je třída OpenAIQuickstart. Naimportuje knihovnu Azure AI Vision.

plugins {
    java
    application
}
application { 
    mainClass.set("GetCompletionsSample")
}
repositories {
    mavenCentral()
}
dependencies {
    implementation(group = "com.azure", name = "azure-ai-openai", version = "1.0.0-beta.3")
    implementation("org.slf4j:slf4j-simple:1.7.9")
}

Vytvoření ukázkové aplikace

  1. Vytvořte soubor Java.

    Spuštěním následujícího příkazu z pracovního adresáře vytvořte zdrojovou složku projektu:

    mkdir -p src/main/java
    

    Přejděte do nové složky a vytvořte soubor s názvem GetCompletionsSample.java.

  2. Otevřete GetCompletionsSample.java v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE) a vložte následující kód.

    package com.azure.ai.openai.usage;
    
    import com.azure.ai.openai.OpenAIClient;
    import com.azure.ai.openai.OpenAIClientBuilder;
    import com.azure.ai.openai.models.Choice;
    import com.azure.ai.openai.models.Completions;
    import com.azure.ai.openai.models.CompletionsOptions;
    import com.azure.ai.openai.models.CompletionsUsage;
    import com.azure.core.credential.AzureKeyCredential;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class GetCompletionsSample {
    
        public static void main(String[] args) {
            String azureOpenaiKey = System.getenv("AZURE_OPENAI_API_KEY");;
            String endpoint = System.getenv("AZURE_OPENAI_ENDPOINT");;
            String deploymentOrModelId = "gpt-35-turbo-instruct";
    
            OpenAIClient client = new OpenAIClientBuilder()
                .endpoint(endpoint)
                .credential(new AzureKeyCredential(azureOpenaiKey))
                .buildClient();
    
            List<String> prompt = new ArrayList<>();
            prompt.add("When was Microsoft founded?");
    
            Completions completions = client.getCompletions(deploymentOrModelId, new CompletionsOptions(prompt));
    
            System.out.printf("Model ID=%s is created at %s.%n", completions.getId(), completions.getCreatedAt());
            for (Choice choice : completions.getChoices()) {
                System.out.printf("Index: %d, Text: %s.%n", choice.getIndex(), choice.getText());
            }
    
            CompletionsUsage usage = completions.getUsage();
            System.out.printf("Usage: number of prompt token is %d, "
                    + "number of completion token is %d, and number of total tokens in request and response is %d.%n",
                usage.getPromptTokens(), usage.getCompletionTokens(), usage.getTotalTokens());
        }
    }
    

    Důležité

    V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

  3. Přejděte zpět do kořenové složky projektu a sestavte aplikaci pomocí:

    gradle build
    

    Pak ho spusťte pomocí gradle run příkazu:

    gradle run
    

Výstup

Model ID=cmpl-7JZRbWuEuHX8ozzG3BXC2v37q90mL is created at 1684898835.
Index: 0, Text:

Microsoft was founded on April 4, 1975..
Usage: number of prompt token is 5, number of completion token is 11, and number of total tokens in request and response is 16.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

Ukázka artefaktů zdrojového kódu | (Maven) |

Požadavky

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

Poznámka:

Spring AI ve výchozím nastavení nastaví název modelu na gpt-35-turbo. Hodnotu je nutné zadat SPRING_AI_AZURE_OPENAI_MODEL jenom v případě, že jste nasadili model s jiným názvem.

export SPRING_AI_AZURE_OPENAI_API_KEY="REPLACE_WITH_YOUR_KEY_VALUE_HERE"
export SPRING_AI_AZURE_OPENAI_ENDPOINT="REPLACE_WITH_YOUR_ENDPOINT_HERE"
export SPRING_AI_AZURE_OPENAI_MODEL="REPLACE_WITH_YOUR_MODEL_NAME_HERE"

Vytvoření nové aplikace Spring

Vytvořte nový projekt Spring.

V okně Bash vytvořte pro aplikaci nový adresář a přejděte na něj.

mkdir ai-completion-demo && cd ai-completion-demo

spring init Spusťte příkaz z pracovního adresáře. Tento příkaz vytvoří standardní adresářovou strukturu projektu Spring, včetně hlavního zdrojového souboru třídy Java a souboru pom.xml používaného ke správě projektů založených na Mavenu.

spring init -a ai-completion-demo -n AICompletion --force --build maven -x

Vygenerované soubory a složky se podobají následující struktuře:

ai-completion-demo/
|-- pom.xml
|-- mvn
|-- mvn.cmd
|-- HELP.md
|-- src/
    |-- main/
    |   |-- resources/
    |   |   |-- application.properties
    |   |-- java/
    |       |-- com/
    |           |-- example/
    |               |-- aicompletiondemo/
    |                   |-- AiCompletionApplication.java
    |-- test/
        |-- java/
            |-- com/
                |-- example/
                    |-- aicompletiondemo/
                        |-- AiCompletionApplicationTests.java

Úprava aplikace Spring

  1. Upravte soubor pom.xml.

    V kořenovém adresáři projektu otevřete soubor pom.xml v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE) a přepište soubor následujícím obsahem:

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>3.2.0</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.example</groupId>
        <artifactId>ai-completion-demo</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>AICompletion</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>17</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.experimental.ai</groupId>
                <artifactId>spring-ai-azure-openai-spring-boot-starter</artifactId>
                <version>0.7.0-SNAPSHOT</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
        <repositories>
            <repository>
                <id>spring-snapshots</id>
                <name>Spring Snapshots</name>
                <url>https://repo.spring.io/snapshot</url>
                <releases>
                    <enabled>false</enabled>
                </releases>
            </repository>
        </repositories>
    </project>
    
  2. Ve složce src/main/java/com/example/aicompletiondemo otevřete AiCompletionApplication.java v preferovaném editoru nebo integrovaném vývojovém prostředí a vložte následující kód:

    package com.example.aicompletiondemo;
    
    import java.util.Collections;
    import java.util.List;
    
    import org.springframework.ai.client.AiClient;
    import org.springframework.ai.prompt.Prompt;
    import org.springframework.ai.prompt.messages.Message;
    import org.springframework.ai.prompt.messages.MessageType;
    import org.springframework.ai.prompt.messages.UserMessage;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.boot.CommandLineRunner;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    
    @SpringBootApplication
    public class AiCompletionApplication implements CommandLineRunner
    {
        private static final String ROLE_INFO_KEY = "role";
    
        @Autowired
        private AiClient aiClient;
    
        public static void main(String[] args) {
            SpringApplication.run(AiCompletionApplication.class, args);
        }
    
        @Override
        public void run(String... args) throws Exception
        {
            System.out.println(String.format("Sending completion prompt to AI service. One moment please...\r\n"));
    
            final List<Message> msgs =
                    Collections.singletonList(new UserMessage("When was Microsoft founded?"));
    
            final var resps = aiClient.generate(new Prompt(msgs));
    
            System.out.println(String.format("Prompt created %d generated response(s).", resps.getGenerations().size()));
    
            resps.getGenerations().stream()
              .forEach(gen -> {
                  final var role = gen.getInfo().getOrDefault(ROLE_INFO_KEY, MessageType.ASSISTANT.getValue());
    
                  System.out.println(String.format("Generated respose from \"%s\": %s", role, gen.getText()));
              });
        }
    
    }
    

    Důležité

    V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

  3. Přejděte zpět do kořenové složky projektu a spusťte aplikaci pomocí následujícího příkazu:

    ./mvnw spring-boot:run
    

Výstup

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::                (v3.1.5)

2023-11-07T12:47:46.126-06:00  INFO 98687 --- [           main] c.e.a.AiCompletionApplication            : No active profile set, falling back to 1 default profile: "default"
2023-11-07T12:47:46.823-06:00  INFO 98687 --- [           main] c.e.a.AiCompletionApplication            : Started AiCompletionApplication in 0.925 seconds (process running for 1.238)
Sending completion prompt to AI service. One moment please...

Prompt created 1 generated response(s).
Generated respose from "assistant": Microsoft was founded on April 4, 1975.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

Další příklady najdete v úložišti GitHub s ukázkami Azure OpenAI.

Ukázky balíčku zdrojového kódu | (npm) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma
  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure V současné době je přístup k této službě udělován pouze aplikací. K přístupu ke službě Azure OpenAI můžete požádat vyplněním formuláře na adrese https://aka.ms/oai/access.
  • Verze LTS Node.js
  • Prostředek služby Azure OpenAI s nasazeným modelem gpt-35-turbo-instruct . Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI potřebujete koncový bod a klíč.

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v zobrazení kódu Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s přehledovým uživatelským rozhraním pro prostředek OpenAI na webu Azure Portal s červeným kruhem umístění koncového bodu a přístupových klíčů

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

V okně konzoly (například cmd, PowerShell nebo Bash) vytvořte pro vaši aplikaci nový adresář a přejděte do něj. Potom spuštěním npm init příkazu vytvořte aplikaci uzlu se souborem package.json .

npm init

Instalace klientské knihovny

Nainstalujte klientskou knihovnu Azure OpenAI pro JavaScript pomocí npm:

npm install @azure/openai

Soubor package.json vaší aplikace se aktualizuje o závislosti.

Vytvoření ukázkové aplikace

Otevřete příkazový řádek, ve kterém jste vytvořili nový projekt, a vytvořte nový soubor s názvem Completion.js. Do souboru Completion.js zkopírujte následující kód.

const { OpenAIClient, AzureKeyCredential } = require("@azure/openai");
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] ;
const azureApiKey = process.env["AZURE_OPENAI_API_KEY"] ;

const prompt = ["When was Microsoft founded?"];

async function main() {
  console.log("== Get completions Sample ==");

  const client = new OpenAIClient(endpoint, new AzureKeyCredential(azureApiKey));
  const deploymentId = "gpt-35-turbo-instruct";
  const result = await client.getCompletions(deploymentId, prompt);

  for (const choice of result.choices) {
    console.log(choice.text);
  }
}

main().catch((err) => {
  console.error("The sample encountered an error:", err);
});

module.exports = { main };

Důležité

V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

Spusťte skript pomocí následujícího příkazu:

node.exe Completion.js

Výstup

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek Azure OpenAI, můžete prostředek odstranit. Před odstraněním prostředku musíte nejprve odstranit všechny nasazené modely.

Další kroky

Balíček zdrojového kódu | knihovny (PyPi) |

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma

  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure

    V současné době je přístup k této službě udělován pouze aplikací. Pokud chcete získat přístup k Azure OpenAI, vyplňte formulář na adrese https://aka.ms/oai/access. Pokud máte problém, otevřete problém v tomto úložišti a kontaktujte nás.

  • Python 3.8 nebo novější verze

  • Následující knihovny Pythonu: os, requests, json

  • Prostředek služby Azure OpenAI s nasazeným modelem gpt-35-turbo-instruct Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Nastavení

Nainstalujte klientskou knihovnu OpenAI Pythonu pomocí:

pip install openai

Poznámka:

Tuto knihovnu udržuje OpenAI a aktuálně je ve verzi Preview. Informace o nejnovějších aktualizacích knihovny najdete v historii vydaných verzí nebo historii potvrzení version.py.

Načtení klíče a koncového bodu

K úspěšnému volání služby Azure OpenAI budete potřebovat následující:

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete hodnotu najít v kódu zobrazení Azure OpenAI Studio>Playground>. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.
DEPLOYMENT-NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili pro své nasazení při nasazování modelu. Tuto hodnotu najdete v části Nasazení modelu správy>prostředků na webu Azure Portal nebo v části Nasazení správy>v nástroji Azure OpenAI Studio.

Na webu Azure Portal přejděte ke svému prostředku. Klíče a koncový bod najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s oknem přehledu prostředku OpenAI na webu Azure Portal s červeným kruhem umístění koncových bodů a přístupových klíčů

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

Vytvoření nové aplikace v Pythonu

  1. Vytvořte nový soubor Pythonu s názvem quickstart.py. Pak ho otevřete v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE).

  2. Obsah quickstart.py nahraďte následujícím kódem. Upravte kód tak, aby přidal váš klíč, koncový bod a název nasazení:

import os
from openai import AzureOpenAI
    
client = AzureOpenAI(
    api_key=os.getenv("AZURE_OPENAI_API_KEY"),  
    api_version="2024-02-01",
    azure_endpoint = os.getenv("AZURE_OPENAI_ENDPOINT")
    )
    
deployment_name='REPLACE_WITH_YOUR_DEPLOYMENT_NAME' #This will correspond to the custom name you chose for your deployment when you deployed a model. Use a gpt-35-turbo-instruct deployment. 
    
# Send a completion call to generate an answer
print('Sending a test completion job')
start_phrase = 'Write a tagline for an ice cream shop. '
response = client.completions.create(model=deployment_name, prompt=start_phrase, max_tokens=10)
print(start_phrase+response.choices[0].text)

Důležité

V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

  1. Spusťte aplikaci pomocí příkazu v souboru rychlého python startu:

    python quickstart.py
    

Výstup

Výstup bude obsahovat text odpovědi za výzvou Write a tagline for an ice cream shop. . Azure OpenAI se vrátil The coldest ice cream in town! v tomto příkladu.

Sending a test completion job
Write a tagline for an ice cream shop. The coldest ice cream in town!

Spusťte kód ještě několikrát, abyste viděli, jaké další typy odpovědí získáte, protože odpověď nebude vždy stejná.

Porozumění výsledkům

Vzhledem k tomu, že náš příklad Write a tagline for an ice cream shop. poskytuje malý kontext, je normální, aby model nevrácel vždy očekávané výsledky. Maximální počet tokenů můžete upravit, pokud se odpověď zdá neočekávaná nebo zkrácená.

Azure OpenAI také provádí kon režim stanu ration na vstupech výzvy a generovaných výstupech. Výzvy nebo odpovědi můžou být filtrovány, pokud je zjištěn škodlivý obsah. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

Požadavky

  • Předplatné Azure – Vytvoření předplatného zdarma

  • Přístup udělený službě Azure OpenAI v požadovaném předplatném Azure

    V současné době je přístup k této službě udělován pouze aplikací. Pokud chcete získat přístup ke službě Azure OpenAI, vyplňte formulář na adrese https://aka.ms/oai/access. Pokud máte problém, otevřete problém v tomto úložišti a kontaktujte nás.

  • Python 3.8 nebo novější verze

  • Následující knihovny Pythonu: os, requests, json

  • Prostředek Azure OpenAI s nasazeným modelem. Další informace o nasazení modelu najdete v průvodci nasazením prostředků.

Nastavení

Načtení klíče a koncového bodu

K úspěšnému volání azure OpenAI budete potřebovat následující:

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete tuto hodnotu najít v nabídce Azure OpenAI Studio>Hřiště>Zobrazení kódu. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.
DEPLOYMENT-NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili pro své nasazení při nasazování modelu. Tuto hodnotu najdete v nabídce Správa prostředků>Nasazení na webu Azure Portal nebo případně v nabídce Správa>Nasazení v Azure OpenAI Studio.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s oknem přehledu prostředku OpenAI na webu Azure Portal s červeným kruhem umístění koncových bodů a přístupových klíčů

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

Proměnné prostředí

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

REST API

V prostředí Bash spusťte následující příkaz. Budete muset nahradit gpt-35-turbo-instruct názvem nasazení, který jste zvolili při nasazení gpt-35-turbo-instruct modelu. Zadání názvu modelu způsobí chybu, pokud jste vybrali název nasazení, který je shodný s názvem základního modelu.

curl $AZURE_OPENAI_ENDPOINT/openai/deployments/gpt-35-turbo-instruct/completions?api-version=2024-02-01 \
  -H "Content-Type: application/json" \
  -H "api-key: $AZURE_OPENAI_API_KEY" \
  -d "{\"prompt\": \"Once upon a time\"}"

Formát prvního řádku příkazu s ukázkovým koncovým bodem by se zobrazil následujícím způsobem curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \. Pokud dojde k chybě, pečlivě zkontrolujte, že nemáte zdvojnásobení intervalu / mezi koncovým bodem a /openai/deployments.

Pokud chcete tento příkaz spustit v normálním příkazovém řádku systému Windows, musíte text změnit, aby se odebraly \ konce řádků.

Důležité

V produkčním prostředí použijte bezpečný způsob ukládání přihlašovacích údajů a přístupu k vašim přihlašovacím údajům, jako je Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

Výstup

Výstup z rozhraní API pro dokončování bude vypadat následovně.

{
    "id": "ID of your call",
    "object": "text_completion",
    "created": 1675444965,
    "model": "gpt-35-turbo-instruct",
    "choices": [
        {
            "text": " there lived in a little village a woman who was known as the meanest",
            "index": 0,
            "finish_reason": "length",
            "logprobs": null
        }
    ],
    "usage": {
        "completion_tokens": 16,
        "prompt_tokens": 3,
        "total_tokens": 19
    }
}

Služba Azure OpenAI také provádí kon režim stanu ration na vstupech výzvy a generovaných výstupech. Výzvy nebo odpovědi mohou být filtrovány, pokud je zjištěn škodlivý obsah. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky

Požadavky

Načtení klíče a koncového bodu

K úspěšnému volání služby Azure OpenAI budete potřebovat následující:

Název proměnné Hodnota
ENDPOINT Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Případně můžete tuto hodnotu najít v nabídce Azure OpenAI Studio>Hřiště>Zobrazení kódu. Ukázkový koncový bod je: https://docs-test-001.openai.azure.com/.
API-KEY Tuto hodnotu najdete v části Klíče a koncový bod při zkoumání prostředku na webu Azure Portal. Použít můžete předponu KEY1 nebo KEY2.
DEPLOYMENT-NAME Tato hodnota bude odpovídat vlastnímu názvu, který jste si zvolili pro své nasazení při nasazování modelu. Tuto hodnotu najdete v nabídce Správa prostředků>Nasazení na webu Azure Portal nebo případně v nabídce Správa>Nasazení v Azure OpenAI Studio.

Na webu Azure Portal přejděte ke svému prostředku. Koncový bod a klíče najdete v části Správa prostředků. Zkopírujte koncový bod a přístupový klíč, protože budete potřebovat obojí pro ověřování volání rozhraní API. Použít můžete předponu KEY1 nebo KEY2. Vždy mít dva klíče vám umožní bezpečně otáčet a znovu vygenerovat klíče, aniž by to způsobilo přerušení služeb.

Snímek obrazovky s oknem přehledu prostředku OpenAI na webu Azure Portal s červeným kruhem umístění koncových bodů a přístupových klíčů

Vytvořte a přiřaďte trvalé proměnné prostředí pro klíč a koncový bod.

Proměnné prostředí

$Env:AZURE_OPENAI_API_KEY = 'YOUR_KEY_VALUE'
$Env:AZURE_OPENAI_ENDPOINT = 'YOUR_ENDPOINT'

Vytvoření nového skriptu PowerShellu

  1. Vytvořte nový soubor PowerShellu s názvem quickstart.ps1. Pak ho otevřete v preferovaném editoru nebo integrovaném vývojovém prostředí (IDE).

  2. Obsah souboru quickstart.ps1 nahraďte následujícím kódem. Upravte kód tak, aby přidal váš klíč, koncový bod a název nasazení:

    # Azure OpenAI metadata variables
    $openai = @{
        api_key     = $Env:AZURE_OPENAI_API_KEY
        api_base    = $Env:AZURE_OPENAI_ENDPOINT # your endpoint should look like the following https://YOUR_RESOURCE_NAME.openai.azure.com/
        api_version = '2023-05-15' # this may change in the future
        name        = 'YOUR-DEPLOYMENT-NAME-HERE' #This will correspond to the custom name you chose for your deployment when you deployed a model.
    }
    
    # Completion text
    $prompt = 'Once upon a time...'
    
    # Header for authentication
    $headers = [ordered]@{
        'api-key' = $openai.api_key
    }
    
    # Adjust these values to fine-tune completions
    $body = [ordered]@{
        prompt      = $prompt
        max_tokens  = 10
        temperature = 2
        top_p       = 0.5
    } | ConvertTo-Json
    
    # Send a completion call to generate an answer
    $url = "$($openai.api_base)/openai/deployments/$($openai.name)/completions?api-version=$($openai.api_version)"
    
    $response = Invoke-RestMethod -Uri $url -Headers $headers -Body $body -Method Post -ContentType 'application/json'
    return "$prompt`n$($response.choices[0].text)"
    

    Důležité

    V produkčním prostředí použijte zabezpečený způsob ukládání a přístupu k přihlašovacím údajům, jako je správa tajných kódů PowerShellu pomocí služby Azure Key Vault. Další informace o zabezpečení přihlašovacích údajů najdete v článku zabezpečení služeb Azure AI.

  3. Spusťte skript pomocí PowerShellu:

    ./quickstart.ps1
    

Výstup

Výstup bude obsahovat text odpovědi za výzvou Once upon a time . Azure OpenAI se vrátil There was a world beyond the mist...where a v tomto příkladu.

Once upon a time...
 There was a world beyond the mist...where a

Spusťte kód ještě několikrát, abyste viděli, jaké další typy odpovědí získáte, protože odpověď nebude vždy stejná.

Porozumění výsledkům

Vzhledem k tomu, že náš příklad Once upon a time... poskytuje malý kontext, je normální, aby model nevrácel vždy očekávané výsledky. Maximální počet tokenů můžete upravit, pokud se odpověď zdá neočekávaná nebo zkrácená.

Azure OpenAI také provádí kon režim stanu ration na vstupech výzvy a generovaných výstupech. Výzvy nebo odpovědi mohou být filtrovány, pokud je zjištěn škodlivý obsah. Další informace najdete v článku filtru obsahu.

Vyčištění prostředků

Pokud chcete vyčistit a odebrat prostředek OpenAI, můžete odstranit prostředek nebo skupinu prostředků. Odstraněním skupiny prostředků se odstraní také všechny ostatní prostředky, které jsou k ní přidružené.

Další kroky