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.
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.
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:
Přihlaste se k Azure OpenAI Studiu.
Vyberte předplatné a prostředek OpenAI, se kterým chcete pracovat.
V horní části cílové stránky vyberte GPT-3 Playground .
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.
V rozevíracím seznamu Příklady vyberte Sumarizovat text.
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
- Přečtěte si další informace o tom, jak vygenerovat nejlepší dokončení v našem průvodci postupy při dokončování.
- Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.
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.
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
- Další příklady najdete v úložišti GitHub s ukázkami Azure OpenAI.
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.
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
- Další příklady najdete v úložišti GitHub s ukázkami Azure OpenAI.
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.
- Aktuální verze sady Java Development Kit (JDK)
- Nástroj sestavení Gradle nebo jiný správce závislostí.
- 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.
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
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.
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.
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
- Další příklady najdete v úložišti GitHub s ukázkami Azure OpenAI.
Ukázka artefaktů 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.
- Aktuální verze sady Java Development Kit (JDK)
- Nástroj Spring Boot CLI
- Prostředek služby Azure OpenAI s nasazeným modelem
gpt-35-turbo
. 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.
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
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>
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.
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.
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
- Přehled Azure OpenAI
- Další příklady najdete v úložišti GitHub s ukázkami Azure OpenAI.
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.
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.
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
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).
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.
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
- Přečtěte si další informace o tom, jak vygenerovat nejlepší dokončení v našem průvodci postupy při dokončování.
- Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.
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.
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.
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
- Přečtěte si další informace o tom, jak vygenerovat nejlepší dokončení v našem průvodci postupy při dokončování.
- Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.
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ělen 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.
- Můžete použít nejnovější verzi, PowerShell 7 nebo Windows PowerShell 5.1.
- Prostředek služby Azure OpenAI s nasazeným modelem Další informace o nasazení modelu najdete v průvodci nasazením prostředků.
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.
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
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).
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.
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
- Přečtěte si další informace o tom, jak vygenerovat nejlepší dokončení v našem průvodci postupy při dokončování.
- Další příklady najdete v úložišti GitHub ukázek Azure OpenAI.