التشغيل السريع: ابدأ في إنشاء نص باستخدام خدمة Azure OpenAI

استخدم هذه المقالة للبدء في إجراء مكالماتك الأولى إلى Azure OpenAI.

المتطلبات الأساسية

  • اشتراك Azure - أنشئ اشتراكاً مجاناً.

  • الوصول الممنوح إلى Azure OpenAI في اشتراك Azure المطلوب.

    حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access. افتح مشكلة على هذا المستودع للاتصال بنا إذا كانت لديك مشكلة.

  • مورد Azure OpenAI مع نشر نموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

تلميح

جرب Azure الذكاء الاصطناعي Studio الموحد الجديد (معاينة) الذي يجمع القدرات من خلال خدمات Azure الذكاء الاصطناعي المتعددة.

انتقل إلى Azure OpenAI Studio

انتقل إلى Azure OpenAI Studio في https://oai.azure.com/ وسجل الدخول باستخدام بيانات الاعتماد التي لديها حق الوصول إلى مورد OpenAI الخاص بك. أثناء سير عمل تسجيل الدخول أو بعده، حدد الدليل المناسب واشتراك Azure ومورد Azure OpenAI.

من الصفحة المنتقل إليها في Azure OpenAI Studio، انتقل إلى أبعد من ذلك لاستكشاف أمثلة للإكمال السريع، وإدارة عمليات النشر والنماذج، والعثور على موارد التعلم مثل الوثائق ومنتديات المجتمع.

لقطة شاشة للصفحة المنتقل إليها في Azure OpenAI Studio.

انتقل إلى Playground لسير عمل التجريب والضبط الدقيق.

Playground

ابدأ في استكشاف قدرات Azure OpenAI باستخدام نهج بدون تعليمات برمجية من خلال GPT-3 Playground. إنه ببساطة مربع نص حيث يمكنك إرسال مطالبة لإنشاء إكمال. من هذه الصفحة، يمكنك تكرار القدرات وتجربتها بسرعة.

لقطة شاشة لصفحة ملعب Azure OpenAI Studio مع تمييز الأقسام.

يمكنك تحديد توزيع والاختيار من بين بعض الأمثلة التي تم تحميلها مسبقا للبدء. إذا لم يكن المورد الخاص بك يحتوي على نشر، فحدد Create a deployment واتبع الإرشادات التي يوفرها المعالج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

يمكنك تجربة إعدادات التكوين مثل درجة الحرارة ونص ما قبل الاستجابة لتحسين أداء مهمتك. يمكنك قراءة المزيد حول كل معلمة في واجهة برمجة تطبيقات REST.

  • سيؤدي تحديد الزر Generate إلى إرسال النص الذي تم إدخاله إلى واجهة برمجة تطبيقات الإكمال وبث النتائج مرة أخرى إلى مربع النص.
  • حدد الزر تراجع للتراجع عن استدعاء الجيل السابق.
  • حدد الزر إعادة إنشاء لإكمال مكالمة التراجع والتوليد معا.

يقوم Azure OpenAI أيضا بإجراء con وضع الخيمة ration على مدخلات المطالبة والمخرجات التي تم إنشاؤها. قد تتم تصفية المطالبات أو الاستجابات إذا تم الكشف عن محتوى ضار. لمزيد من المعلومات، راجع مقالة تصفية المحتوى.

في ملعب GPT-3 يمكنك أيضا عرض نماذج التعليمات البرمجية Python و curl التي تمت تعبئتها مسبقا وفقا لإعداداتك المحددة. ما عليك سوى تحديد عرض التعليمات البرمجية بجوار القائمة المنسدلة الأمثلة. يمكنك كتابة تطبيق لإكمال نفس المهمة باستخدام OpenAI Python SDK أو curl أو عميل REST API آخر.

جرب تلخيص النص

لاستخدام Azure OpenAI لتلخيص النص في GPT-3 Playground، اتبع الخطوات التالية:

  1. سجل الدخول إلى Azure OpenAI Studio.

  2. حدد الاشتراك ومورد OpenAI للعمل معه.

  3. حدد GPT-3 Playground في أعلى الصفحة المقصودة.

  4. حدد التوزيع من القائمة المنسدلة Deployments . إذا لم يكن المورد الخاص بك يحتوي على نشر، فحدد Create a deployment ثم أعد النظر في هذه الخطوة.

  5. حدد تلخيص النص من القائمة المنسدلة أمثلة .

    لقطة شاشة لصفحة الملعب الخاصة بـ Azure OpenAI Studio مع تحديد القائمة المنسدلة

  6. حدد Generate. سيحاول Azure OpenAI التقاط سياق النص وإعادة صياغته بإيجاز. يجب أن تحصل على نتيجة تشبه النص التالي:

    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.
    

يمكن أن تختلف دقة الاستجابة لكل نموذج. النموذج المستند إلى Davinci في هذا المثال مناسب تماما لهذا النوع من التلخيص، في حين أن النموذج المستند إلى Codex لن يعمل بشكل جيد في هذه المهمة المحددة.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

نماذج حزمة التعليمات البرمجية | المصدر (NuGet) |

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الوصول الممنوح لخدمة Azure OpenAI في اشتراك Azure المطلوب. حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى خدمة Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access.
  • الإصدار الحالي من .NET Core.
  • مورد خدمة Azure OpenAI مع gpt-35-turbo-instruct نشر النموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

إنشاء تطبيق .NET Core جديد

في نافذة وحدة تحكم (مثل cmd أو PowerShell أو Bash)، استخدم الأمر ⁧dotnet new⁩ لإنشاء تطبيق وحدة تحكم جديد بالاسم ⁧azure-openai-quickstart⁩. ينشئ هذا الأمر مشروع "Hello World" بسيطًا مع ملف مصدر C# واحد: Program.cs.

dotnet new console -n azure-openai-quickstart

غيّر دليلك إلى مجلد التطبيق المنشأ حديثاً. يمكنك إنشاء التطبيق باستخدام:

dotnet build

يجب ألا يحتوي إخراج البناء على تحذيرات أو أخطاء.

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

تثبيت مكتبة عميل OpenAI .NET مع:

dotnet add package Azure.AI.OpenAI --prerelease

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، تحتاج إلى نقطة نهاية ومفتاح.

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلاً من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على قسم Keys & Endpoint في قسم Resource Management . انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لواجهة مستخدم النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع نقطة النهاية وموقع مفاتيح الوصول في دائرة باللون الأحمر.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

إنشاء نموذج تطبيق

من دليل المشروع، افتح ملف program.cs واستبدل بالتعليمات البرمجية التالية:

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}");

هام

للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

dotnet run program.cs

المخرجات

Chatbot:

Microsoft was founded on April 4, 1975.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد. قبل حذف المورد، يجب أولا حذف أي نماذج تم نشرها.

الخطوات التالية

حزمة التعليمات البرمجية | المصدر (Go)عينات|

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الوصول الممنوح لخدمة Azure OpenAI في اشتراك Azure المطلوب. حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى خدمة Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access.
  • Go 1.21.0 أو أعلى مثبت محليا.
  • مورد خدمة Azure OpenAI مع gpt-35-turbo-instuct نشر النموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، تحتاج إلى نقطة نهاية ومفتاح.

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلاً من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على قسم Keys & Endpoint في قسم Resource Management . انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لواجهة مستخدم النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع نقطة النهاية وموقع مفاتيح الوصول في دائرة باللون الأحمر.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

إنشاء نموذج تطبيق

إنشاء ملف جديد باسم completions.go. انسخ التعليمات البرمجية التالية في ملف completions.go.

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)
	}

}

هام

للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

الآن افتح موجه الأوامر وقم بتشغيل:

go mod init completions.go

التشغيل التالي:

go mod tidy
go run completions.go

المخرجات

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد. قبل حذف المورد، يجب أولا حذف أي نماذج تم نشرها.

الخطوات التالية

عينات البيانات الاصطناعية للتعليمات البرمجية | المصدر (Maven) |

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الوصول الممنوح لخدمة Azure OpenAI في اشتراك Azure المطلوب. حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى خدمة Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access.
  • مورد خدمة Azure OpenAI مع gpt-35-turbo-instruct نشر النموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، تحتاج إلى نقطة نهاية ومفتاح.

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلاً من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على قسم Keys & Endpoint في قسم Resource Management . انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لواجهة مستخدم النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع نقطة النهاية وموقع مفاتيح الوصول في دائرة باللون الأحمر.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

إنشاء تطبيق Java جديد

قم بإنشاء مشروع Gradle جديد.

في إطار نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، يمكنك إنشاء دليل جديد لتطبيقك وانتقل إليه.

mkdir myapp && cd myapp

بادر بتشغيل الأمر gradle init من دليل العمل خاصتك. سينشئ هذا الأمر ملفات بناء أساسية لـ Gradle، بما في ذلك build.gradle.kts، والذي يجري استخدامه في وقت التشغيل لإنشاء تطبيقك وتكوينه.

gradle init --type basic

عند طلب اختيار DSL، حدد Kotlin.

تثبيت Java SDK

يستخدم هذا التشغيل السريع مدير تبعية Gradle. يمكنك العثور على مكتبة العميل ومعلومات مديري التبعية الآخرين على Maven Central Repository.

حدد build.gradle.kts وافتحه باستخدام IDE أو محرر النص المفضل لديك. ثم انسخ في تكوين البناء التالي. يعرف هذا التكوين المشروع على أنه تطبيق Java الذي نقطة إدخاله هي الفئة OpenAIQuickstart. يستورد مكتبة Azure الذكاء الاصطناعي 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")
}

إنشاء نموذج تطبيق

  1. أنشئ ملف Java.

    من دليل العمل الخاص بك، قم بتشغيل الأمر التالي لإنشاء مجلد مصدر المشروع:

    mkdir -p src/main/java
    

    انتقل إلى المجلد الجديد وأنشئ ملفا يسمى GetCompletionsSample.java.

  2. افتح GetCompletionsSample.java في المحرر المفضل لديك أو IDE والصق التعليمات البرمجية التالية.

    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());
        }
    }
    

    هام

    للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

  3. انتقل مرة أخرى إلى المجلد الجذر للمشروع، وأنشئ التطبيق باستخدام:

    gradle build
    

    ثم، شغله باستخدام أمر gradle run:

    gradle run
    

المخرجات

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.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد. قبل حذف المورد، يجب أولا حذف أي نماذج تم نشرها.

الخطوات التالية

نموذج البيانات الاصطناعية للتعليمات البرمجية | المصدر (Maven) |

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الوصول الممنوح لخدمة Azure OpenAI في اشتراك Azure المطلوب. حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى خدمة Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access.
  • الإصدار الحالي من Java Development Kit (JDK)
  • أداة Spring Boot CLI
  • مورد خدمة Azure OpenAI مع gpt-35-turbo نشر النموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، تحتاج إلى نقطة نهاية ومفتاح.

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلاً من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على قسم Keys & Endpoint في قسم Resource Management . انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لواجهة مستخدم النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع نقطة النهاية وموقع مفاتيح الوصول في دائرة باللون الأحمر.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

إشعار

يقوم Spring الذكاء الاصطناعي افتراضيا بتسمية النموذج إلى gpt-35-turbo. من الضروري فقط توفير SPRING_AI_AZURE_OPENAI_MODEL القيمة إذا قمت بنشر نموذج باسم مختلف.

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"

إنشاء تطبيق Spring جديد

إنشاء مشروع Spring جديد.

في نافذة Bash، قم بإنشاء دليل جديد لتطبيقك، وانتقل إليه.

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

بادر بتشغيل الأمر spring init من دليل العمل خاصتك. ينشئ هذا الأمر بنية دليل قياسية لمشروع Spring الخاص بك بما في ذلك ملف مصدر فئة Java الرئيسي وملف pom.xml المستخدم لإدارة المشاريع المستندة إلى Maven.

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

تشبه الملفات والمجلدات التي تم إنشاؤها البنية التالية:

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

تحرير تطبيق Spring

  1. تحرير ملف pom.xml.

    من جذر دليل المشروع، افتح ملف pom.xml في المحرر المفضل لديك أو IDE واستبدل الملف بالمحتوى التالي:

    <?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. من المجلد src/main/java/com/example/aicompletiondemo، افتح AiCompletionApplication.java في المحرر المفضل لديك أو IDE والصق التعليمات البرمجية التالية:

    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()));
              });
        }
    
    }
    

    هام

    للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

  3. انتقل مرة أخرى إلى المجلد الجذر للمشروع، وقم بتشغيل التطبيق باستخدام الأمر التالي:

    ./mvnw spring-boot:run
    

المخرجات

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: 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.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد. قبل حذف المورد، يجب أولا حذف أي نماذج تم نشرها.

الخطوات التالية

لمزيد من الأمثلة، راجع مستودع Azure OpenAI Samples GitHub

نماذج حزمة التعليمات البرمجية | المصدر (npm) |

إشعار

تم تحديث هذه المقالة لاستخدام أحدث حزمة OpenAI npm التي تدعم الآن Azure OpenAI بشكل كامل. إذا كنت تبحث عن أمثلة التعليمات البرمجية ل Azure OpenAI JavaScript SDK القديمة، فإنها لا تزال حاليا 1available في هذا المستودع.

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً
  • الوصول الممنوح لخدمة Azure OpenAI في اشتراك Azure المطلوب. حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى خدمة Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access.
  • إصدارات "LTS" من "Node.js".
  • مورد خدمة Azure OpenAI مع gpt-35-turbo-instruct نشر النموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، تحتاج إلى نقطة نهاية ومفتاح.

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلاً من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على قسم Keys & Endpoint في قسم Resource Management . انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لواجهة مستخدم النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع نقطة النهاية وموقع مفاتيح الوصول في دائرة باللون الأحمر.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

في إطار نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، يمكنك إنشاء دليل جديد لتطبيقك وانتقل إليه.

تثبيت مكتبة العميل

تثبيت الحزم المطلوبة ل JavaScript مع npm من داخل سياق الدليل الجديد الخاص بك:

npm install openai dotenv @azure/identity

سيتم تحديث ملف package.json الخاص بتطبيقك بالتبعيات.

إنشاء نموذج تطبيق

افتح موجه الأوامر حيث أنشأت المشروع الجديد، وأنشئ ملفا جديدا باسم Completion.js. انسخ التعليمات البرمجية التالية في ملف Completion.js.

const { AzureOpenAI } = require("openai");

// Load the .env file if it exists
const dotenv = require("dotenv");
dotenv.config();

// You will need to set these environment variables or edit the following values
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "<endpoint>";
const apiKey = process.env["AZURE_OPENAI_API_KEY"] || "<api key>";
const apiVersion = "2024-04-01-preview";
const deployment = "gpt-35-turbo-instruct"; //The deployment name for your completions API model. The instruct model is the only new model that supports the legacy API.

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

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

  const client = new AzureOpenAI({ endpoint, apiKey, apiVersion, deployment });  

  const result = await client.completions.create({ prompt, model: deployment, max_tokens: 128 });

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

main().catch((err) => {
  console.error("Error occurred:", err);
});

module.exports = { main };

قم بتشغيل البرنامج النصي مع الأمر التالي:

node.exe Completion.js

المخرجات

== Get completions Sample ==

Microsoft was founded on April 4, 1975.

Microsoft Entra ID

هام

في المثال السابق، نوضح المصادقة المستندة إلى المفتاح. بمجرد اختبار المصادقة المستندة إلى المفتاح بنجاح، نوصي باستخدام معرف Microsoft Entra الأكثر أمانا للمصادقة الذي يظهر في نموذج التعليمات البرمجية التالي. سيتطلب بدء استخدام [معرف Microsoft Entra] بعض المتطلبات الأساسية الإضافية.

const { AzureOpenAI } = require("openai");
const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity");

// Set AZURE_OPENAI_ENDPOINT to the endpoint of your
// OpenAI resource. You can find this in the Azure portal.
// Load the .env file if it exists
require("dotenv/config");

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

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

  const scope = "https://cognitiveservices.azure.com/.default";
  const azureADTokenProvider = getBearerTokenProvider(new DefaultAzureCredential(), scope);
  const deployment = "gpt-35-turbo-instruct";
  const apiVersion = "2024-04-01-preview";
  const client = new AzureOpenAI({ azureADTokenProvider, deployment, apiVersion });
  const result = await client.completions.create({ prompt, model: deployment, max_tokens: 128 });

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

main().catch((err) => {
  console.error("Error occurred:", err);
});

module.exports = { main };

إشعار

إذا تلقيت الخطأ: حدث خطأ: OpenAIError: apiKey الوسيطتان و azureADTokenProvider حصريتان بشكل متبادل؛ يمكن تمرير وسيطة واحدة فقط في كل مرة. قد تحتاج إلى إزالة متغير بيئة موجود مسبقا لمفتاح API من النظام الخاص بك. على الرغم من أن نموذج التعليمات البرمجية لمعرف Microsoft Entra لا يشير صراحة إلى متغير بيئة مفتاح API، إذا كان موجودا على النظام الذي ينفذ هذا النموذج، فسيظل يتم إنشاء هذا الخطأ.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد. قبل حذف المورد، يجب أولا حذف أي نماذج تم نشرها.

الخطوات التالية

مكتبة التعليمات البرمجية | الحزمة (PyPi) |

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً

  • الوصول الممنوح إلى Azure OpenAI في اشتراك Azure المطلوب

    حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى Azure OpenAI عن طريق إكمال النموذج في https://aka.ms/oai/access. افتح مشكلة على هذا المستودع للاتصال بنا إذا كانت لديك مشكلة.

  • Python 3.8 أو إصدار أحدث

  • مكتبات python التالية: os، الطلبات، json

  • مورد خدمة Azure OpenAI مع gpt-35-turbo-instruct نشر نموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

تثبيت مكتبة عميل OpenAI Python باستخدام:

pip install openai

إشعار

يتم الاحتفاظ بهذه المكتبة بواسطة OpenAI وهي قيد المعاينة حاليا. راجع محفوظات الإصدار أو محفوظات التثبيت version.py لتعقب آخر التحديثات إلى المكتبة.

قم باسترداد المفتاح ونقطة النهاية

لإجراء استدعاء بنجاح مقابل خدمة Azure OpenAI، ستحتاج إلى ما يلي:

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم Keys and Endpoint عند فحص المورد من مدخل Microsoft Azure. بدلا من ذلك، يمكنك العثور على القيمة في التعليمات البرمجية ل Azure OpenAI Studio>Playground>View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم Keys and Endpoint عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.
DEPLOYMENT-NAME ستتوافق هذه القيمة مع الاسم المخصص الذي اخترته للتوزيع عند نشر نموذج. يمكن العثور على هذه القيمة ضمن Resource Management>Model Deployments في مدخل Microsoft Azure أو بدلا من ذلك ضمن Management>Deployments في Azure OpenAI Studio.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على المفاتيح ونقطة النهاية في قسم إدارة الموارد. انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لجزء النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع دائرة حول موقع مفاتيح نقطة النهاية باللون الأحمر.

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

إنشاء تطبيق Python جديد

  1. إنشاء ملف Python جديد باسم ⁧⁩quickstart.py. ثم افتحه في المحرر أو IDE المُفضل لديك.

  2. استبدل التعليمات البرمجية التالية بمحتويات quickstart.py. تعديل التعليمات البرمجية لإضافة المفتاح ونقطة النهاية واسم النشر:

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)

هام

للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

  1. قم بتشغيل التطبيق باستخدام الأمر على python ملف التشغيل السريع:

    python quickstart.py
    

المخرجات

سيتضمن الإخراج نص الاستجابة بعد المطالبة Write a tagline for an ice cream shop. . تم The coldest ice cream in town! إرجاع Azure OpenAI في هذا المثال.

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

قم بتشغيل التعليمات البرمجية عدة مرات أخرى لمعرفة أنواع الاستجابات الأخرى التي تحصل عليها لأن الاستجابة لن تكون دائماً هي نفسها.

فهم نتائج SMART الخاصة بك

نظرا لأن مثالنا على Write a tagline for an ice cream shop. يوفر سياقا صغيرا، فمن الطبيعي أن لا يرجع النموذج دائما النتائج المتوقعة. يمكنك ضبط الحد الأقصى لعدد الرموز المميّزة إذا كانت الاستجابة تبدو غير متوقعة أو مقتطعة.

يقوم Azure OpenAI أيضا بإجراء con وضع الخيمة ration على مدخلات المطالبة والمخرجات التي تم إنشاؤها. قد تتم تصفية المطالبات أو الاستجابات إذا تم الكشف عن محتوى ضار. لمزيد من المعلومات، راجع مقالة تصفية المحتوى.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

المتطلبات الأساسية

  • اشتراك Azure - إنشاء اشتراك مجاناً

  • الوصول الممنوح إلى Azure OpenAI في اشتراك Azure المطلوب

    حاليًا، يتم منح الوصول إلى هذه الخدمة فقط بواسطة التطبيق. يمكنك التقدم بطلب للوصول إلى Azure OpenAI service عن طريق إكمال النموذج في https://aka.ms/oai/access. افتح مشكلة على هذا المستودع للاتصال بنا إذا كانت لديك مشكلة.

  • Python 3.8 أو إصدار أحدث

  • مكتبات python التالية: os، الطلبات، json

  • مورد Azure OpenAI مع نشر نموذج. لمزيد من المعلومات حول نشر النموذج، راجع دليل توزيع الموارد.

الإعداد

قم باسترداد المفتاح ونقطة النهاية

لإجراء مكالمة بنجاح مقابل Azure OpenAI، ستحتاج إلى ما يلي:

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلا من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.
DEPLOYMENT-NAME ستتوافق هذه القيمة مع الاسم المخصص الذي اخترته للتوزيع عند نشر نموذج. يمكن العثور على هذه القيمة ضمن Resource Management>Deployments في مدخل Microsoft Azure أو بدلاً من ذلك ضمن Management>Deployments في Azure OpenAI Studio.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على نقطة النهاية والمفاتيح في قسم إدارة الموارد. انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لجزء النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع دائرة حول موقع مفاتيح نقطة النهاية باللون الأحمر.

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

متغيرات البيئة

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

setx AZURE_OPENAI_API_KEY "REPLACE_WITH_YOUR_KEY_VALUE_HERE" 
setx AZURE_OPENAI_ENDPOINT "REPLACE_WITH_YOUR_ENDPOINT_HERE" 

واجهة برمجة تطبيقات REST

في bash shell، قم بتشغيل الأمر التالي. ستحتاج إلى استبدال gpt-35-turbo-instruct باسم النشر الذي اخترته عند نشر gpt-35-turbo-instruct النموذج. سيؤدي إدخال اسم النموذج إلى حدوث خطأ ما لم تختص باسم نشر مطابق لاسم النموذج الأساسي.

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\"}"

سيظهر تنسيق السطر الأول من الأمر مع مثال نقطة نهاية على النحو التالي curl https://docs-test-001.openai.azure.com/openai/deployments/{YOUR-DEPLOYMENT_NAME_HERE}/completions?api-version=2024-02-01 \. إذا واجهت خطأ، فتحقق مرة أخرى للتأكد من عدم وجود مضاعفة / للفصل بين نقطة النهاية و /openai/deployments.

إذا كنت تريد تشغيل هذا الأمر في موجه أوامر Windows عادي، فستحتاج إلى تغيير النص لإزالة \ فواصل الأسطر و.

هام

للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد والوصول إليها مثل Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

المخرجات

سيبدو الإخراج من واجهة برمجة تطبيقات الإكمال كما يلي.

{
    "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
    }
}

تقوم خدمة Azure OpenAI أيضا بإجراء con وضع الخيمة ration على مدخلات المطالبة والمخرجات التي تم إنشاؤها. قد تتم تصفية المطالبات أو الاستجابات إذا تم الكشف عن محتوى ضار. لمزيد من المعلومات، راجع مقالة تصفية المحتوى.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية

المتطلبات الأساسية

قم باسترداد المفتاح ونقطة النهاية

لإجراء استدعاء بنجاح مقابل خدمة Azure OpenAI، ستحتاج إلى ما يلي:

اسم المتغير القيمة‬
ENDPOINT يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. بدلا من ذلك، يمكنك العثور على القيمة في Azure OpenAI Studio>Playground>Code View. مثال على نقطة النهاية هو: https://docs-test-001.openai.azure.com/.
API-KEY يمكن العثور على هذه القيمة في قسم المفاتيح ونقطة النهاية عند فحص المورد من مدخل Microsoft Azure. يمكنك استخدام إما KEY1 أو KEY2.
DEPLOYMENT-NAME ستتوافق هذه القيمة مع الاسم المخصص الذي اخترته للتوزيع عند نشر نموذج. يمكن العثور على هذه القيمة ضمن Resource Management>Deployments في مدخل Microsoft Azure أو بدلاً من ذلك ضمن Management>Deployments في Azure OpenAI Studio.

انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. يمكن العثور على نقطة النهاية والمفاتيح في قسم إدارة الموارد. انسخ نقطة النهاية ومفتاح الوصول حيث ستحتاج إلى كليهما لمصادقة استدعاءات واجهة برمجة التطبيقات. يمكنك استخدام إما KEY1 أو KEY2. يسمح لك وجود مفتاحين دائماً بتدوير المفاتيح وإعادة إنشائها بأمان دون التسبب في تعطيل الخدمة.

لقطة شاشة لجزء النظرة العامة لمورد Azure OpenAI في مدخل Microsoft Azure مع وضع دائرة حول موقع مفاتيح نقطة النهاية باللون الأحمر.

إنشاء متغيرات بيئة ثابتة وتعيينها للمفتاح ونقطة النهاية.

متغيرات البيئة

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

إنشاء برنامج نصي PowerShell جديد

  1. إنشاء ملف PowerShell جديد يسمى quickstart.ps1. ثم افتحه في المحرر أو IDE المُفضل لديك.

  2. استبدل محتويات quickstart.ps1 بالتعليمات البرمجية التالية. تعديل التعليمات البرمجية لإضافة المفتاح ونقطة النهاية واسم النشر:

    # 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 = '2024-02-01' # 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)"
    

    هام

    للإنتاج، استخدم طريقة آمنة لتخزين بيانات الاعتماد الخاصة بك والوصول إليها مثل إدارة PowerShell السرية باستخدام Azure Key Vault. لمزيد من المعلومات حول أمان بيانات الاعتماد، راجع مقالة أمان خدمات Azure الذكاء الاصطناعي.

  3. تشغيل البرنامج النصي باستخدام PowerShell:

    ./quickstart.ps1
    

المخرجات

سيتضمن الإخراج نص الاستجابة بعد المطالبة Once upon a time . تم There was a world beyond the mist...where a إرجاع Azure OpenAI في هذا المثال.

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

قم بتشغيل التعليمات البرمجية عدة مرات أخرى لمعرفة أنواع الاستجابات الأخرى التي تحصل عليها لأن الاستجابة لن تكون دائماً هي نفسها.

فهم نتائج SMART الخاصة بك

نظرا لأن مثالنا على Once upon a time... يوفر سياقا صغيرا، فمن الطبيعي أن لا يرجع النموذج دائما النتائج المتوقعة. يمكنك ضبط الحد الأقصى لعدد الرموز المميّزة إذا كانت الاستجابة تبدو غير متوقعة أو مقتطعة.

يقوم Azure OpenAI أيضا بإجراء con وضع الخيمة ration على مدخلات المطالبة والمخرجات التي تم إنشاؤها. قد تتم تصفية المطالبات أو الاستجابات إذا تم الكشف عن محتوى ضار. لمزيد من المعلومات، راجع مقالة تصفية المحتوى.

تنظيف الموارد

إذا كنت ترغب في تنظيف مورد Azure OpenAI وإزالته، يمكنك حذف المورد أو مجموعة الموارد. يؤدي حذف مجموعة الموارد إلى حذف أية موارد أخرى مقترنة بها أيضًا.

الخطوات التالية