بدء استخدام ترجمة المستندات غير المتزامنة

ترجمة المستندات هي ميزة مستندة إلى السحابة لخدمة Azure الذكاء الاصطناعي المترجم التي تترجم بشكل غير متزامن مستندات كاملة باللغات المدعومة وتنسيقات الملفات المختلفة. في هذا التشغيل السريع، تعرف على كيفية استخدام ترجمة المستندات باستخدام لغة برمجة من اختيارك لترجمة مستند مصدر إلى لغة مستهدفة مع الحفاظ على البنية وتنسيق النص.

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

هام

  • تتوفر حزم SDK لترجمة مستندات Java وJavaScript حاليا في المعاينة العامة. قد تتغير الميزات والنهج والعمليات، قبل إصدار التوفر العام (GA)، استنادا إلى ملاحظات المستخدم.

  • C# وPython SDKs هي إصدارات التوفر العام (GA) جاهزة للاستخدام في تطبيقات الإنتاج الخاصة بك

  • ترجمة المستندات مدعومة حاليا في مورد المترجم (خدمة واحدة) فقط، ولا يتم تضمينها في مورد خدمات Azure الذكاء الاصطناعي (متعدد الخدمات).

  • يتم دعم Document Translation فقط في خطة الخدمة القياسية S1 (الدفع عند التنقل) أو في خطة خصم حجم D3. راجعتسعير خدمات Azure الذكاء الاصطناعي - المترجم.

لبدء الاستخدام، تحتاج إلى ما يلي:

  • حساب Azureنشط. إذا لم يكن لديك حساب، يمكنك إنشاء حساب مجاني

  • حساب Azure Blob Storage. تحتاج أيضا إلى إنشاء حاويات في حساب Azure Blob Storage للملفات المصدر والهدف:

    • حاوية المصدر. هذه الحاوية هي المكان الذي تقوم فيه بتحميل ملفاتك للترجمة (مطلوبة).
    • الحاوية الهدف. هذه الحاوية هي المكان الذي يتم فيه تخزين الملفات المترجمة (مطلوب).
  • مورد المترجم خدمة واحدة (وليس مورد خدمات Azure الذكاء الاصطناعي متعدد الخدمات):

    أكمل حقلي "Translator project" و"instance details" كما يلي:

    1. «Subscription» (الاشتراك) حدد أحد اشتراكات Azure المتوفرة.

    2. مجموعة الموارد يمكنك إنشاء مجموعة موارد جديدة أو إضافة المورد الخاص بك إلى مجموعة موارد موجودة مسبقًا تشترك في نفس دورة الحياة والأذونات والنُهج.

    3. منطقة المورد. اختر Global ما لم يتطلب عملك أو تطبيقك منطقة معينة. إذا كنت تخطط لاستخدام هوية مدارة معينة من قبل النظام للمصادقة، فاختر منطقة جغرافيةمثل غرب الولايات المتحدة.

    4. الاسم. أدخل الاسم الذي اخترته للمورد الخاص بك. يجب أن يكون الاسم الذي تختاره فريدًا في Azure.

      إشعار

      تتطلب ترجمة المستندات نقطة نهاية مجال مخصصة. ستكون القيمة التي تدخلها في حقل الاسم هي معلمة اسم المجال المخصص لنقطة النهاية الخاصة بك.

    5. مستوى الأسعار. ترجمة المستندات غير مدعومة في الطبقة المجانية. حدد Standard S1 لتجربة الخدمة.

    6. حدد "استعراض + إنشاء".

    7. راجع شروط الخدمة وحدد Create لتوزيع موردك.

    8. بعد نشر المورد بنجاح، حدد Go to resource.

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

تتطلب الطلبات إلى خدمة المترجم مفتاح للقراءة فقط ونقطة نهاية مخصصة لمصادقة الوصول. نقطة نهاية المجال المخصصة هي عنوان URL منسق باسم المورد واسم المضيف والدلائل الفرعية المترجم ومتاحة في مدخل Microsoft Azure.

  1. إذا قمت بإنشاء مورد جديد، بعد نشره، فحدد Go to resource. إذا كان لديك مورد Document Translation موجود، انتقل مباشرة إلى صفحة المورد.

  2. في الجهة اليسرى، ضمن إدارة الموارد،حدد مفاتيح ونقطة النهاية.

  3. يمكنك نسخ و document translation endpoint و و في key نماذج التعليمات البرمجية لمصادقة طلبك إلى خدمة ترجمة المستندات. مفتاح واحد فقط ضروري لإجراء استدعاء واجهة برمجة التطبيقات.

    Screenshot showing the get your key field in Azure portal.

إنشاء حاويات تخزين Azure Blob

تحتاج إلى إنشاء حاويات في حساب Azure Blob Storage للملفات المصدر والهدف.

  • حاوية المصدر. هذه الحاوية هي المكان الذي تقوم فيه بتحميل ملفاتك للترجمة (مطلوبة).
  • الحاوية الهدف. هذه الحاوية هي المكان الذي يتم فيه تخزين الملفات المترجمة (مطلوب).

المصادقة المطلوبة

sourceUrlيجب targetUrl أن يتضمن الرمز المميز توقيع الوصول المشترك (SAS) وglossaryUrl ملحقًا كسلسلة استعلام. يمكن تعيين الرمز المميز إلى الحاوية أو النقط المحددة. راجعإنشاء رموز SAS المميزة لعملية ترجمة المستندات.

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

تلميح

  • إذا كنت تقوم بترجمة ملفات متعددة (نقط) في عمليةتفويض وصول SAS على مستوى الحاوية.
  • إذا كنت تقوم بترجمة ملف (نقطة) واحدفي عمليةتفويض وصول SAS علي مستوى نقطة.
  • كبديل الرموز المميزة لـ SAS، يمكنك استخدام هوية مدارة يعينها النظام للمصادقة.

نموذج المستند

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

إعداد بيئة C#/.NET

لهذا التشغيل السريع، نستخدم أحدث إصدار من Visual Studio IDE لإنشاء التطبيق وتشغيله.

  1. ابدأ تشغيل Visual Studio.

  2. في صفحة بدء الاستخدام ، اختر إنشاء مشروع جديد.

    Screenshot of Visual Studio 2022 get started window.

  3. في صفحة «Create a new project»، أدخل وحدة التحكم في مربع البحث. اختر قالب تطبيق وحدة التحكم، ثم اختر التالي.

    Screenshot of Visual Studio 2022 create new project page.

  4. في نافذة الحوار تكوين مشروعك الجديد، أدخل document-translation-qs في مربع اسم المشروع. ثم اختر التالي.

    Screenshot of Visual Studio 2022 configure new project set-up window.

  5. في نافذة الحوار معلومات إضافية ، حدد .NET 6.0 (دعم طويل الأجل) ، ثم حدد أنشئ .

    Screenshot of Visual Studio 2022 additional information set-up window.

تثبيت Newtonsoft.Json

  1. انقر بزر الماوس الأيمن فوق مشروع document-translation-qs وحدد Manage NuGet Packages... .

    Screenshot of select NuGet package window in Visual Studio.

  2. حدد علامة التبويب Browse واكتب NewtonsoftJson.

    Screenshot of select prerelease NuGet package in Visual Studio.

  3. حدد أحدث إصدار مستقر من القائمة المنسدلة وقم بتثبيت الحزمة في مشروعك.

    Screenshot of install selected NuGet package window.

ترجمة جميع المستندات في حاوية تخزين

إشعار

  • بدءاً من .NET 6، تنشئ المشروعات الجديدة التي تستخدم القالب console نمط برنامج جديداً يختلف عن الإصدارات السابقة.
  • يستخدم الإخراج الجديد ميزات #C الحديثة التي تبسط التعليمة البرمجية الذي تحتاج إلى كتابته.
  • عندما تستخدم الإصدار الأحدث، تحتاج فقط إلى كتابة هيكل الأسلوبMain. لست بحاجة إلى تضمين بيانات عالية المستوى أو توجيهات عالمية باستخدام توجيهات أو استخدام ضمني للتوجيهات.
  • لمزيد من المعلومات، راجع قوالب C# الجديدة التي تنشئ عبارات المستوى الأعلى.
  1. افتح ملف Program.cs.

  2. احذف التعليمة البرمجية الموجود مسبقاً، بما في ذلك السطر Console.WriteLine("Hello World!").

  3. نسخ نموذج التعليمات البرمجية لترجمة المستند ولصقه في ملف Program.cs.

    • تحديث {your-document-translation-endpoint} و {your-key} بالقيم من مدخل Microsoft Azure الخاص بك المترجم المثيل.

    • تحديث {your-source-container-SAS-URL} و {your-target-container-SAS-URL} بالقيم من مثيل حاويات حساب تخزين مدخل Microsoft Azure.

Code sample

هام

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

using System.Text;

class Program
{
    private static readonly string endpoint = "{your-document-translator-endpoint}/translator/text/batch/v1.1";

    private static readonly string key = "{your-key}";

    static readonly string route = "/batches";
    static readonly string sourceURL = "\" {your-source-container-SAS-URL}\"";
    static readonly string targetURL = " \"{your-target-container-SAS-URL}\"";


    static readonly string json = ("{\"inputs\": [{\"source\": {\"sourceUrl\":"+sourceURL+" ,\"storageSource\": \"AzureBlob\",\"language\": \"en\"}, \"targets\": [{\"targetUrl\":"+targetURL+",\"storageSource\": \"AzureBlob\",\"category\": \"general\",\"language\": \"es\"}]}]}");

    static async Task Main(string[] args)
    {
        using HttpClient client = new HttpClient();
        using HttpRequestMessage request = new HttpRequestMessage();
        {

            StringContent content = new StringContent(json, Encoding.UTF8, "application/json");

            request.Method = HttpMethod.Post;
            request.RequestUri = new Uri(endpoint + route);
            request.Headers.Add("Ocp-Apim-Subscription-Key", key);
            request.Content = content;

            HttpResponseMessage response = await client.SendAsync(request);
            string result = response.Content.ReadAsStringAsync().Result;
            if (response.IsSuccessStatusCode)
            {
                Console.WriteLine($"Status code: {response.StatusCode}");
                Console.WriteLine();
                Console.WriteLine($"Response Headers:");
                Console.WriteLine(response.Headers);
            }
            else
                Console.Write("Error");

        }

    }

}

تشغيل التطبيق الخاص بك

بمجرد إضافة نموذج التعليمات البرمجية إلى التطبيق الخاص بك، اختر زر البدء الأخضر بجوار document-translation-qs لإنشاء البرنامج وتشغيله، أو اضغط على F5.

Screenshot: run your Visual Studio program.

عند الانتهاء بنجاح:

  • يمكن العثور على المستندات المترجمة في الحاوية الهدف.
  • يقوم أسلوب POST الناجح بإرجاع 202 Accepted رمز استجابة يشير إلى أن الخدمة أنشأت طلب الدفعة.
  • يقوم طلب POST أيضا بإرجاع عناوين الاستجابة بما في ذلك Operation-Location التي توفر قيمة مستخدمة في طلبات GET اللاحقة.

إعداد بيئة Go الخاصة بك

يمكنك استخدام أي محرر نص لكتابة تطبيقات Go. نوصي باستخدام أحدث إصدار من Visual Studio Code وGo extension.

تلميح

إذا كنت مستخدمًا جديدًا لـ Go، فجرب الوحدة النمطية بدء استخدام Go Learn.

إذا لم تكن قد فعلت ذلك بالفعل، فقم بتنزيل Go وتثبيته.

  1. قم بتنزيل إصدار Go لنظام التشغيل الخاص بك.

  2. بمجرد اكتمال التنزيل، قم بتشغيل المثبت.

  3. افتح موجه الأوامر وأدخل ما يلي لتأكيد تثبيت Go:

    go version
    

ترجمة جميع المستندات في حاوية تخزين

  1. في نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، أنشئ دليلا جديدا لتطبيقك يسمى document-translation-qs، وانتقل إليه.

  2. إنشاء ملف Go جديد باسم document-translation.go في دليل document-translation-qs .

  3. انسخ والصق نموذج التعليمات البرمجية لترجمة المستند في ملف document-translation.go.

    • تحديث {your-document-translation-endpoint} و {your-key} بالقيم من مدخل Microsoft Azure الخاص بك المترجم المثيل.

    • {your-source-container-SAS-URL} قم بتحديث و {your-target-container-SAS-URL} بالقيم من مثيل حاويات حساب تخزين مدخل Microsoft Azure.

Code sample

هام

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

package main

import (
  "bytes"
  "encoding/json"
  "fmt"
  "net/http"
)

func main() {

    httpposturl := "{your-document-translation-endpoint}/translator/text/batch/v1.1/batches"
    fmt.Println("Response", httpposturl)

    var jsonData = []byte(`{
        "inputs": [
            {
                "source": {
                    "sourceUrl": "{your-source-container-SAS-URL}"
                },
                "targets": [
                    {
                        "{your-target-container-SAS-URL}",
                        "language": "fr"
                    }
                ]
            }
        ]
    }`)

    request, error := http.NewRequest("POST", httpposturl, bytes.NewBuffer(jsonData))
    request.Header.Set("Content-Type", "application/json")
    request.Header.Set("Ocp-Apim-Subscription-Key", "{your-key}")

    client := &http.Client{}
    response, error := client.Do(request)
    if error != nil {
        panic(error)
    }
    defer response.Body.Close()

    fmt.Println("response Status:", response.Status)
    var printHeader = (response.Header)
    prettyJSON, _ := json.MarshalIndent(printHeader, "", "  ")
    fmt.Printf("%s\n", prettyJSON)
}

تشغيل تطبيق Go الخاص بك

بمجرد إضافة نموذج التعليمة البرمجية إلى تطبيقك، يمكن تنفيذ برنامج Go في مطالبة الأوامر أو موجه أوامر طرفي. تأكد من تعيين مسار المطالبة إلى المجلد document-translation-qs واستخدم الأمر التالي:

go run document-translation.go

عند الانتهاء بنجاح:

  • يمكن العثور على المستندات المترجمة في الحاوية الهدف.
  • يقوم أسلوب POST الناجح بإرجاع 202 Accepted رمز استجابة يشير إلى أن الخدمة أنشأت طلب الدفعة.
  • يقوم طلب POST أيضا بإرجاع عناوين الاستجابة بما في ذلك Operation-Location التي توفر قيمة مستخدمة في طلبات GET اللاحقة.

إعداد بيئة Java الخاصة بك

لهذا التشغيل السريع، نستخدم أداة أتمتة بناء Gradle لإنشاء التطبيق وتشغيله.

  • يجب أن يكون لديك أحدث إصدار من Visual Studio Code أو IDE المفضلة لديك. راجعJava في Visual Studio Code.

    تلميح

    • يقدم Visual Studio Code حزمة ترميز Java لنظامي التشغيل Windows وmacOS. حزمة الترميز عبارة عن حزمة من VS Code، وJava Development Kit (JDK)، ومجموعة من الملحقات المقترحة من Microsoft. من الممكن أيضًا استخدام حزمة الترميز لإصلاح بيئة التطوير الحالية.
    • في حال كنت تستخدم VS Code وCoding Pack For Java، فقم بتثبيت الملحق Gradle for Java.
  • إذا كنت لا تستخدم Visual Studio Code، فتأكد من تثبيت ما يلي في بيئة التطوير الخاصة بك:

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

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

    mkdir document-translation && document-translation
    
    mkdir document-translation; cd document-translation
    
  2. gradle init قم بتشغيل الأمر من دليل ترجمة المستندات. ينشئ هذا الأمر ملفات بناء أساسية ل Gradle، بما في ذلك build.gradle.kts، والذي يستخدم في وقت التشغيل لإنشاء التطبيق وتكوينه.

    gradle init --type basic
    
  3. عند طلب اختيار DSL، حدد Kotlin.

  4. اقبل اسم المشروع الافتراضي (ترجمة المستندات) عن طريق تحديد Return أو Enter.

    إشعار

    قد يستغرق إنشاء التطبيق بأكمله بضع دقائق، ولكن قريبا يجب أن ترى العديد من المجلدات والملفات بما في ذلك build-gradle.kts.

  5. تحديث build.gradle.kts بالتعليمة البرمجية التالي:

plugins {
  java
  application
}
application {
  mainClass.set("DocumentTranslation")
}
repositories {
  mavenCentral()
}
dependencies {
  implementation("com.squareup.okhttp3:okhttp:4.10.0")
  implementation("com.google.code.gson:gson:2.9.0")
}

ترجمة جميع المستندات في حاوية تخزين

  1. من دليل ترجمة المستندات، قم بتشغيل الأمر التالي:

    mkdir -p src/main/java
    

    ينشئ الأمر بنية الدليل التالية:

    Screenshot: Java directory structure.

  2. انتقل إلى الدليل java وأنشئ ملفاً باسم DocumentTranslation.java.

    تلميح

    • بإمكانك إنشاء ملف جديد باستخدام PowerShell.

    • افتح نافذة PowerShell في دليل المشروع الخاص بك عن طريق الضغط باستمرار على مفتاح Shift والنقر بزر الماوس الأيمن فوق المجلد.

    • أدخل الأمر التالي New-Item DocumentTranslation.java.

    • يمكنك أيضاً إنشاء ملف جديد في IDE باسم DocumentTranslation.javaوحفظه في دليلjava.

  3. انسخ والصق نموذج التعليمات البرمجية لترجمة المستند في ملف DocumentTranslation.java.

    • تحديث {your-document-translation-endpoint} و {your-key} بالقيم من مدخل Microsoft Azure الخاص بك المترجم المثيل.

    • {your-source-container-SAS-URL} قم بتحديث و {your-target-container-SAS-URL} بالقيم من مثيل حاويات حساب تخزين مدخل Microsoft Azure.

Code sample

هام

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

import java.io.*;
import java.net.*;
import java.util.*;
import okhttp3.*;

public class DocumentTranslation {
    String key = "{your-key}";

    String endpoint = "{your-document-translation-endpoint}/translator/text/batch/v1.1";

    String path = endpoint + "/batches";

    String sourceSASUrl = "{your-source-container-SAS-URL}";

    String targetSASUrl = "{your-target-container-SAS-URL}";

    String jsonInputString = (String.format("{\"inputs\":[{\"source\":{\"sourceUrl\":\"%s\"},\"targets\":[{\"targetUrl\":\"%s\",\"language\":\"fr\"}]}]}", sourceSASUrl, targetSASUrl));

    OkHttpClient client = new OkHttpClient();

    public void post() throws IOException {
        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType,  jsonInputString);
        Request request = new Request.Builder()
                .url(path).post(body)
                .addHeader("Ocp-Apim-Subscription-Key", key)
                .addHeader("Content-type", "application/json")
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.code());
        System.out.println(response.headers());
    }

  public static void main(String[] args) {
        try {
            DocumentTranslation sampleRequest = new DocumentTranslation();
            sampleRequest.post();
        } catch (Exception e) {
            System.out.println(e);
        }
    }
}

إنشاء وتشغيل تطبيق Java الخاص بك

  • بمجرد إضافة نموذج تعليمات برمجية إلى التطبيق الخاص بك، انتقل مرة أخرى إلى دليل المشروع الرئيسي، وترجمة المستندات، وافتح نافذة وحدة التحكم، وأدخل الأوامر التالية:

    1. أنشئ تطبيقك مستخدماً الأمر build:

      gradle build
      
    2. شغل تطبيقك مستخدماً الأمر run:

      gradle run
      

عند الانتهاء بنجاح:

  • يمكن العثور على المستندات المترجمة في الحاوية الهدف.
  • يقوم أسلوب POST الناجح بإرجاع 202 Accepted رمز استجابة يشير إلى أن الخدمة أنشأت طلب الدفعة.
  • يقوم طلب POST أيضا بإرجاع عناوين الاستجابة بما في ذلك Operation-Location التي توفر قيمة مستخدمة في طلبات GET اللاحقة.

إعداد بيئة Node.js

لهذا التشغيل السريع، نستخدم بيئة وقت تشغيل Node.js JavaScript لإنشاء التطبيق وتشغيله.

  1. إذا لم تكن قد قمت بذلك بالفعل، فقم بتثبيت أحدث إصدار من Node.js. يتم تضمين Node Package Manager (npm) في تثبيت Node.js.

    تلميح

    إذا كنت جديدًا على Node.js، فجرب الوحدة النمطية مقدمة Node.js Learn.

  2. في نافذة وحدة التحكم (مثل cmd أو PowerShell أو Bash)، أنشئ دليلاً جديداً لتطبيقك باسم document-translationوانتقل إليه.

    mkdir document-translation && cd document-translation
    
    mkdir document-translation; cd document-translation
    
  3. قم بتشغيل الأمر npm init لتهيئة التطبيق وسقالة مشروعك.

    npm init
    
  4. حدد سمات المشروع عن طريق قبول المطالبات المقدمة في المحطة الطرفية.

    • تمثل أهم السمات الاسم ورقم الإصدار ونقطة الدخول.
    • نوصي بالاحتفاظ بـ index.js لاسم نقطة الإدخال. الوصف وأمر الاختبار ومستودع GitHub والكلمات الأساسية والمؤلف ومعلومات الترخيص هي سمات اختيارية—بإمكانك تخطيها لهذا المشروع.
    • اقبل الاقتراحات الواردة بين قوسين عن طريق تحديد Return أو Enter.
    • بعد إكمال المطالبات، package.json سيتم إنشاء ملف في دليل ترجمة المستندات.
  5. استخدم npm لتثبيت axios مكتبة HTTP وحزمتها uuid في دليل تطبيق ترجمة المستندات:

    npm install axios uuid
    

ترجمة جميع المستندات في حاوية تخزين

  1. index.js إنشاء الملف في دليل التطبيق.

    تلميح

    • بإمكانك إنشاء ملف جديد باستخدام PowerShell.

    • افتح نافذة PowerShell في دليل المشروع الخاص بك عن طريق الضغط باستمرار على مفتاح Shift والنقر بزر الماوس الأيمن فوق المجلد.

    • أدخل الأمر التالي New-Item index.js.

    • يمكنك أيضاً إنشاء ملف جديد باسم index.js في IDE الخاص بك وحفظه في دليل document-translation.

  2. انسخ والصق نموذج التعليمة البرمجية لترجمة المستند في ملفكindex.js.

    • تحديث {your-document-translation-endpoint} و {your-key} بالقيم من مدخل Microsoft Azure الخاص بك المترجم المثيل.

    • {your-source-container-SAS-URL} قم بتحديث و {your-target-container-SAS-URL} بالقيم من مثيل حاويات حساب تخزين مدخل Microsoft Azure.

Code sample

هام

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

const axios = require('axios').default;

let endpoint = '{your-document-translation-endpoint}/translator/text/batch/v1.1';
let route = '/batches';
let key = '{your-key}';
let sourceSASUrl = "{your-source-container-SAS-URL}";
let targetSASUrl = "{your-target-container-SAS-URL}"

let data = JSON.stringify({"inputs": [
  {
      "source": {
          "sourceUrl": sourceSASUrl,
          "storageSource": "AzureBlob",
          "language": "en"
      },
      "targets": [
          {
              "targetUrl": targetSASUrl,
              "storageSource": "AzureBlob",
              "category": "general",
              "language": "es"}]}]});

let config = {
  method: 'post',
  baseURL: endpoint,
  url: route,
  headers: {
    'Ocp-Apim-Subscription-Key': key,
    'Content-Type': 'application/json'
  },
  data: data
};

axios(config)
.then(function (response) {
  let result = { statusText: response.statusText, statusCode: response.status, headers: response.headers };
  console.log()
  console.log(JSON.stringify(result, null, 2));
})
.catch(function (error) {
  console.log(error);
});

شغّل تطبيق JavaScript

بمجرد إضافة عينة التعليمة البرمجية إلى تطبيقك، قم بتشغيل برنامجك:

  1. انتقل إلى دليل التطبيق (ترجمة المستندات).

  2. أدخل الأمر التالي وقم بتشغيله في المحطة الطرفية:

    node index.js
    

عند الانتهاء بنجاح:

  • يمكن العثور على المستندات المترجمة في الحاوية الهدف.
  • يقوم أسلوب POST الناجح بإرجاع 202 Accepted رمز استجابة يشير إلى أن الخدمة أنشأت طلب الدفعة.
  • يقوم طلب POST أيضا بإرجاع عناوين الاستجابة بما في ذلك Operation-Location التي توفر قيمة مستخدمة في طلبات GET اللاحقة.

إعداد مشروع Python الخاص بك

  1. إذا لم تكن قد قمت بذلك بالفعل، فقم بتثبيت أحدث إصدار من Python 3.x. يتم تضمين حزمة مثبّت Python (نقطة) مع تثبيت Python.

    تلميح

    إذا كنت جديدًا على Python، فجرب مقدمة إلى الوحدة النمطية Python Learn.

  2. افتح نافذة طرفية واستخدم النقطة لتثبيت مكتبة الطلبات وحزمة uuid0:

    pip install requests uuid
    

ترجمة جميع المستندات في حاوية تخزين

  1. باستخدام المحرر المفضل لديك أو IDE، قم بإنشاء دليل جديد لتطبيقك المسمى document-translation.

  2. إنشاء ملف Python جديد يسمى document-translation.py في دليل ترجمة المستندات.

  3. انسخ والصق نموذج التعليمة البرمجية لترجمة المستند في ملفكdocument-translation.py.

    • تحديث {your-document-translation-endpoint} و {your-key} بالقيم من مدخل Microsoft Azure الخاص بك المترجم المثيل.

    • {your-source-container-SAS-URL} قم بتحديث و {your-target-container-SAS-URL} بالقيم من مثيل حاويات حساب تخزين مدخل Microsoft Azure.

Code sample

هام

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

import requests

endpoint = '{your-document-translation-endpoint}'
key =  '{your-key}'
path = 'translator/text/batch/v1.1/batches'
constructed_url = endpoint + path

sourceSASUrl = '{your-source-container-SAS-URL}'

targetSASUrl = '{your-target-container-SAS-URL}'

body= {
    "inputs": [
        {
            "source": {
                "sourceUrl": sourceSASUrl,
                "storageSource": "AzureBlob",
                "language": "en"
            },
            "targets": [
                {
                    "targetUrl": targetSASUrl,
                    "storageSource": "AzureBlob",
                    "category": "general",
                    "language": "es"
                }
            ]
        }
    ]
}
headers = {
  'Ocp-Apim-Subscription-Key': key,
  'Content-Type': 'application/json',
}

response = requests.post(constructed_url, headers=headers, json=body)
response_headers = response.headers

print(f'response status code: {response.status_code}\nresponse status: {response.reason}\n\nresponse headers:\n')

for key, value in response_headers.items():
    print(key, ":", value)

تشغيل تطبيق python الخاص بك

بمجرد إضافة نموذج التعليمة البرمجية إلى تطبيقك، قم بإنشاء وتشغيل برنامجك:

  1. انتقل إلى دليل ترجمة المستندات.

  2. أدخل الأمر التالي وقم بتشغيله في وحدة التحكم الخاصة بك:

    python document-translation.py
    

عند الانتهاء بنجاح:

  • يمكن العثور على المستندات المترجمة في الحاوية الهدف.
  • يقوم أسلوب POST الناجح بإرجاع 202 Accepted رمز استجابة يشير إلى أن الخدمة أنشأت طلب الدفعة.
  • يقوم طلب POST أيضا بإرجاع عناوين الاستجابة بما في ذلك Operation-Location التي توفر قيمة مستخدمة في طلبات GET اللاحقة.

إعداد بيئة البرمجة

في هذا التشغيل السريع، نستخدم أداة سطر الأوامر cURL لإجراء استدعاءات واجهة برمجة تطبيقات REST لترجمة المستندات.

إشعار

يتم تثبيت حزمة cURL مسبقا على معظم Windows 10 وWindows 11 ومعظم توزيعات macOS وLinux. يمكنك التحقق من إصدار الحزمة باستخدام الأوامر التالية: Windows: curl.exe -V. macOS curl -V Linux: curl --version

إذا لم يتم تثبيت cURL، فإليك ارتباطات للنظام الأساسي الخاص بك:

ترجمة المستندات (طلب POST)

  1. باستخدام المحرر المفضل لديك أو IDE، قم بإنشاء دليل جديد لتطبيقك المسمى document-translation.

  2. إنشاء ملف json جديد يسمى document-translation.json في دليل ترجمة المستندات.

  3. انسخ نموذج طلب ترجمة المستند والصقه في document-translation.json الملف. استبدل {your-source-container-SAS-URL} و {your-target-container-SAS-URL} بقيم من مثيل حاويات حساب تخزين مدخل Microsoft Azure.

    نموذج الطلب:

    {
      "inputs":[
        {
          "source":{
            "sourceUrl":"{your-source-container-SAS-URL}"
          },
          "targets":[
            {
              "targetUrl":"{your-target-container-SAS-URL}",
              "language":"fr"
            }
          ]
        }
      ]
    }
    

إنشاء طلب POST وتشغيله

قبل تشغيل طلب POST، استبدل {your-document-translator-endpoint}{your-key} و بالقيم من مدخل Microsoft Azure المترجم المثيل.

هام

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

بوويرشيل

cmd /c curl "{your-document-translator-endpoint}/translator/text/batch/v1.1/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

موجه الأوامر / المحطة الطرفية

curl "{your-document-translator-endpoint}/translator/text/batch/v1.1/batches" -i -X POST --header "Content-Type: application/json" --header "Ocp-Apim-Subscription-Key: {your-key}" --data "@document-translation.json"

عند الانتهاء بنجاح:

  • يمكن العثور على المستندات المترجمة في الحاوية الهدف.
  • يقوم أسلوب POST الناجح بإرجاع 202 Accepted رمز استجابة يشير إلى أن الخدمة أنشأت طلب الدفعة.
  • يقوم طلب POST أيضا بإرجاع عناوين الاستجابة بما في ذلك Operation-Location التي توفر قيمة مستخدمة في طلبات GET اللاحقة.

كان هذا كل شيء، تهانينا! في هذا التشغيل السريع، استخدمت ترجمة المستندات لترجمة مستند مع الحفاظ على البنية الأصلية وتنسيق البيانات.

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