Mulai cepat: menggunakan ringkasan teks, dokumen, dan percakapan
Penting
Wilayah pratinjau kami, Swedia Tengah, menampilkan teknik penyetelan halus LLM terbaru dan terus berkembang berdasarkan model GPT. Anda dipersilakan untuk mencobanya dengan sumber daya Bahasa di wilayah Swedia Tengah.
Ringkasan percakapan hanya tersedia dengan:
- REST API
- Python
- C#
Gunakan mulai cepat ini untuk membuat aplikasi ringkas teks dengan pustaka klien untuk .NET. Dalam contoh berikut, Anda akan membuat aplikasi C# yang dapat meringkas dokumen atau percakapan layanan pelanggan berbasis teks.
Tip
Anda dapat menggunakan Language Studio untuk mencoba ringkasan teks tanpa perlu menulis kode.
Prasyarat
- Langganan Azure - Buat langganan secara gratis
- IDE Visual Studio
- Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
- Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda menempelkan kunci dan titik akhir Anda ke dalam kode nanti di mulai cepat.
- Anda dapat menggunakan tingkat harga gratis (
Free F0
) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
- Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).
Menyiapkan
Membuat variabel lingkungan
Aplikasi Anda harus diautentikasi untuk mengirim permintaan API. Untuk produksi, gunakan cara yang aman dalam menyimpan dan mengakses info masuk Anda. Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.
Untuk mengatur variabel lingkungan untuk kunci sumber daya Bahasa Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
LANGUAGE_KEY
variabel lingkungan, gantiyour-key
dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
LANGUAGE_ENDPOINT
variabel lingkungan, gantiyour-endpoint
dengan titik akhir untuk sumber daya Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol yang sedang berjalan saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, hidupkan ulang Visual Studio sebelum menjalankan contoh.
Buat aplikasi .NET Core baru
Menggunakan Ide Visual Studio, buat aplikasi konsol .NET Core baru. Ini membuat proyek "Halo Dunia" dengan satu file sumber C#: program.cs.
Pasang pustaka klien dengan mengeklik kanan solusi proyek di Penjelajah Solusi, lalu pilih Kelola Paket NuGet. Di manajer paket yang terbuka pilih Telusuri dan cari Azure.AI.TextAnalytics
. Pastikan Sertakan pra-rilis telah dicentang. Pilih versi 5.3.0
, lalu Pasang. Anda juga dapat menggunakan Package Manager Console.
Contoh kode
Salin kode berikut ke dalam file program.cs Anda. Kemudian jalankan kode.
Penting
Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.
Penting
Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.
using Azure;
using System;
using Azure.AI.TextAnalytics;
using System.Threading.Tasks;
using System.Collections.Generic;
namespace Example
{
class Program
{
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");
private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
private static readonly Uri endpoint = new Uri(languageEndpoint);
// Example method for summarizing text
static async Task TextSummarizationExample(TextAnalyticsClient client)
{
string document = @"The extractive summarization feature uses natural language processing techniques to locate key sentences in an unstructured text document.
These sentences collectively convey the main idea of the document. This feature is provided as an API for developers.
They can use it to build intelligent solutions based on the relevant information extracted to support various use cases.
Extractive summarization supports several languages. It is based on pretrained multilingual transformer models, part of our quest for holistic representations.
It draws its strength from transfer learning across monolingual and harness the shared nature of languages to produce models of improved quality and efficiency." ;
// Prepare analyze operation input. You can add multiple documents to this list and perform the same
// operation to all of them.
var batchInput = new List<string>
{
document
};
TextAnalyticsActions actions = new TextAnalyticsActions()
{
ExtractiveSummarizeActions = new List<ExtractiveSummarizeAction>() { new ExtractiveSummarizeAction() }
};
// Start analysis process.
AnalyzeActionsOperation operation = await client.StartAnalyzeActionsAsync(batchInput, actions);
await operation.WaitForCompletionAsync();
// View operation status.
Console.WriteLine($"AnalyzeActions operation has completed");
Console.WriteLine();
Console.WriteLine($"Created On : {operation.CreatedOn}");
Console.WriteLine($"Expires On : {operation.ExpiresOn}");
Console.WriteLine($"Id : {operation.Id}");
Console.WriteLine($"Status : {operation.Status}");
Console.WriteLine();
// View operation results.
await foreach (AnalyzeActionsResult documentsInPage in operation.Value)
{
IReadOnlyCollection<ExtractiveSummarizeActionResult> summaryResults = documentsInPage.ExtractiveSummarizeResults;
foreach (ExtractiveSummarizeActionResult summaryActionResults in summaryResults)
{
if (summaryActionResults.HasError)
{
Console.WriteLine($" Error!");
Console.WriteLine($" Action error code: {summaryActionResults.Error.ErrorCode}.");
Console.WriteLine($" Message: {summaryActionResults.Error.Message}");
continue;
}
foreach (ExtractiveSummarizeResult documentResults in summaryActionResults.DocumentsResults)
{
if (documentResults.HasError)
{
Console.WriteLine($" Error!");
Console.WriteLine($" Document error code: {documentResults.Error.ErrorCode}.");
Console.WriteLine($" Message: {documentResults.Error.Message}");
continue;
}
Console.WriteLine($" Extracted the following {documentResults.Sentences.Count} sentence(s):");
Console.WriteLine();
foreach (ExtractiveSummarySentence sentence in documentResults.Sentences)
{
Console.WriteLine($" Sentence: {sentence.Text}");
Console.WriteLine();
}
}
}
}
}
static async Task Main(string[] args)
{
var client = new TextAnalyticsClient(endpoint, credentials);
await TextSummarizationExample(client);
}
}
}
Output
AnalyzeActions operation has completed
Created On : 9/16/2021 8:04:27 PM +00:00
Expires On : 9/17/2021 8:04:27 PM +00:00
Id : 2e63fa58-fbaa-4be9-a700-080cff098f91
Status : succeeded
Extracted the following 3 sentence(s):
Sentence: The extractive summarization feature in uses natural language processing techniques to locate key sentences in an unstructured text document.
Sentence: This feature is provided as an API for developers.
Sentence: They can use it to build intelligent solutions based on the relevant information extracted to support various use cases.
Dokumentasi | referensi Paket sampel | lainnya (Maven) | Kode sumber pustaka
Gunakan mulai cepat ini untuk membuat aplikasi ringkas teks dengan pustaka klien untuk Java. Dalam contoh berikut, Anda akan membuat aplikasi Java yang dapat meringkas dokumen.
Tip
Anda dapat menggunakan Language Studio untuk mencoba ringkasan teks tanpa perlu menulis kode.
Prasyarat
- Langganan Azure - Buat langganan secara gratis
- Java Development Kit (JDK) versi 8 atau lebih tinggi
- Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
- Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda menempelkan kunci dan titik akhir Anda ke dalam kode di bawah ini nanti di mulai cepat.
- Anda dapat menggunakan tingkat harga gratis (
Free F0
) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
- Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).
Menyiapkan
Tambahkan pustaka klien
Buat proyek Maven di IDE atau lingkungan pengembangan pilihan Anda. Kemudian, tambahkan dependensi berikut ke file pom.xml proyek Anda. Anda dapat menemukan sintaks implementasi untuk alat build online lainnya.
<dependencies>
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-ai-textanalytics</artifactId>
<version>5.3.0</version>
</dependency>
</dependencies>
Membuat variabel lingkungan
Aplikasi Anda harus diautentikasi untuk mengirim permintaan API. Untuk produksi, gunakan cara yang aman dalam menyimpan dan mengakses info masuk Anda. Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.
Untuk mengatur variabel lingkungan untuk kunci sumber daya Bahasa Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
LANGUAGE_KEY
variabel lingkungan, gantiyour-key
dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
LANGUAGE_ENDPOINT
variabel lingkungan, gantiyour-endpoint
dengan titik akhir untuk sumber daya Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol yang sedang berjalan saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, hidupkan ulang Visual Studio sebelum menjalankan contoh.
Contoh kode
Buat file Java bernama Example.java
. Buka file dan salin kode di bawah ini. Kemudian jalankan kode.
Penting
Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.
Penting
Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.
import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;
import java.util.ArrayList;
import java.util.List;
import com.azure.core.util.polling.SyncPoller;
import com.azure.ai.textanalytics.util.*;
public class Example {
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
private static String languageKey = System.getenv("LANGUAGE_KEY");
private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");
public static void main(String[] args) {
TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
summarizationExample(client);
}
// Method to authenticate the client object with your key and endpoint
static TextAnalyticsClient authenticateClient(String key, String endpoint) {
return new TextAnalyticsClientBuilder()
.credential(new AzureKeyCredential(key))
.endpoint(endpoint)
.buildClient();
}
// Example method for summarizing text
static void summarizationExample(TextAnalyticsClient client) {
List<String> documents = new ArrayList<>();
documents.add(
"The extractive summarization feature uses natural language processing techniques "
+ "to locate key sentences in an unstructured text document. "
+ "These sentences collectively convey the main idea of the document. This feature is provided as an API for developers. "
+ "They can use it to build intelligent solutions based on the relevant information extracted to support various use cases. "
+ "Extractive summarization supports several languages. "
+ "It is based on pretrained multilingual transformer models, part of our quest for holistic representations. "
+ "It draws its strength from transfer learning across monolingual and harness the shared nature of languages "
+ "to produce models of improved quality and efficiency.");
SyncPoller<AnalyzeActionsOperationDetail, AnalyzeActionsResultPagedIterable> syncPoller =
client.beginAnalyzeActions(documents,
new TextAnalyticsActions().setDisplayName("{tasks_display_name}")
.setExtractSummaryActions(
new ExtractSummaryAction()),
"en",
new AnalyzeActionsOptions());
syncPoller.waitForCompletion();
syncPoller.getFinalResult().forEach(actionsResult -> {
System.out.println("Extractive Summarization action results:");
for (ExtractSummaryActionResult actionResult : actionsResult.getExtractSummaryResults()) {
if (!actionResult.isError()) {
for (ExtractSummaryResult documentResult : actionResult.getDocumentsResults()) {
if (!documentResult.isError()) {
System.out.println("\tExtracted summary sentences:");
for (SummarySentence summarySentence : documentResult.getSentences()) {
System.out.printf(
"\t\t Sentence text: %s, length: %d, offset: %d, rank score: %f.%n",
summarySentence.getText(), summarySentence.getLength(),
summarySentence.getOffset(), summarySentence.getRankScore());
}
} else {
System.out.printf("\tCannot extract summary sentences. Error: %s%n",
documentResult.getError().getMessage());
}
}
} else {
System.out.printf("\tCannot execute Extractive Summarization action. Error: %s%n",
actionResult.getError().getMessage());
}
}
});
}
}
Output
Extractive Summarization action results:
Extracted summary sentences:
Sentence text: The extractive summarization feature uses natural language processing techniques to locate key sentences in an unstructured text document., length: 138, offset: 0, rank score: 1.000000.
Sentence text: This feature is provided as an API for developers., length: 50, offset: 206, rank score: 0.510000.
Sentence text: Extractive summarization supports several languages., length: 52, offset: 378, rank score: 0.410000.
Dokumentasi referensi | Sampel tambahan | Paket (npm) | Kode sumber pustaka
Gunakan mulai cepat ini untuk membuat aplikasi ringkas teks dengan pustaka klien untuk Node.js. Dalam contoh berikut, Anda akan membuat aplikasi JavaScript yang dapat meringkas dokumen.
Tip
Anda dapat menggunakan Language Studio untuk mencoba ringkasan teks tanpa perlu menulis kode.
Prasyarat
- Langganan Azure - Buat langganan secara gratis
- Node.js v16 LTS
- Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
- Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
- Anda dapat menggunakan tingkat harga gratis (
Free F0
) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
- Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).
Menyiapkan
Membuat variabel lingkungan
Aplikasi Anda harus diautentikasi untuk mengirim permintaan API. Untuk produksi, gunakan cara yang aman dalam menyimpan dan mengakses info masuk Anda. Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.
Untuk mengatur variabel lingkungan untuk kunci sumber daya Bahasa Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
LANGUAGE_KEY
variabel lingkungan, gantiyour-key
dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
LANGUAGE_ENDPOINT
variabel lingkungan, gantiyour-endpoint
dengan titik akhir untuk sumber daya Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol yang sedang berjalan saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, hidupkan ulang Visual Studio sebelum menjalankan contoh.
Membuat aplikasi Node.js baru
Di jendela konsol (seperti cmd, PowerShell, atau Bash), buat direktori baru untuk aplikasi Anda, dan buka direktori tersebut.
mkdir myapp
cd myapp
Jalankan perintah npm init
untuk membuat aplikasi node dengan file package.json
.
npm init
Memasang pustaka klien
Instal paket npm:
npm install --save @azure/ai-language-text@1.1.0
Contoh kode
Buka file dan salin kode di bawah ini. Kemudian jalankan kode.
Penting
Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.
Penting
Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.
/**
* This sample program extracts a summary of two sentences at max from an article.
* For more information, see the feature documentation: {@link https://learn.microsoft.com/azure/ai-services/language-service/summarization/overview}
*
* @summary extracts a summary from an article
*/
const { AzureKeyCredential, TextAnalysisClient } = require("@azure/ai-language-text");
// Load the .env file if it exists
require("dotenv").config();
// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const endpoint = process.env.LANGUAGE_ENDPOINT;
const apiKey = process.env.LANGUAGE_KEY;
const documents = [
`
Windows 365 was in the works before COVID-19 sent companies around the world on a scramble to secure solutions to support employees suddenly forced to work from home, but “what really put the firecracker behind it was the pandemic, it accelerated everything,” McKelvey said. She explained that customers were asking, “’How do we create an experience for people that makes them still feel connected to the company without the physical presence of being there?”
In this new world of Windows 365, remote workers flip the lid on their laptop, bootup the family workstation or clip a keyboard onto a tablet, launch a native app or modern web browser and login to their Windows 365 account. From there, their Cloud PC appears with their background, apps, settings and content just as they left it when they last were last there – in the office, at home or a coffee shop.
“And then, when you’re done, you’re done. You won’t have any issues around security because you’re not saving anything on your device,” McKelvey said, noting that all the data is stored in the cloud.
The ability to login to a Cloud PC from anywhere on any device is part of Microsoft’s larger strategy around tailoring products such as Microsoft Teams and Microsoft 365 for the post-pandemic hybrid workforce of the future, she added. It enables employees accustomed to working from home to continue working from home; it enables companies to hire interns from halfway around the world; it allows startups to scale without requiring IT expertise.
“I think this will be interesting for those organizations who, for whatever reason, have shied away from virtualization. This is giving them an opportunity to try it in a way that their regular, everyday endpoint admin could manage,” McKelvey said.
The simplicity of Windows 365 won over Dean Wells, the corporate chief information officer for the Government of Nunavut. His team previously attempted to deploy a traditional virtual desktop infrastructure and found it inefficient and unsustainable given the limitations of low-bandwidth satellite internet and the constant need for IT staff to manage the network and infrastructure.
We didn’t run it for very long,” he said. “It didn’t turn out the way we had hoped. So, we actually had terminated the project and rolled back out to just regular PCs.”
He re-evaluated this decision after the Government of Nunavut was hit by a ransomware attack in November 2019 that took down everything from the phone system to the government’s servers. Microsoft helped rebuild the system, moving the government to Teams, SharePoint, OneDrive and Microsoft 365. Manchester’s team recruited the Government of Nunavut to pilot Windows 365. Wells was intrigued, especially by the ability to manage the elastic workforce securely and seamlessly.
“The impact that I believe we are finding, and the impact that we’re going to find going forward, is being able to access specialists from outside the territory and organizations outside the territory to come in and help us with our projects, being able to get people on staff with us to help us deliver the day-to-day expertise that we need to run the government,” he said.
“Being able to improve healthcare, being able to improve education, economic development is going to improve the quality of life in the communities.”`,
];
async function main() {
console.log("== Extractive Summarization Sample ==");
const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(apiKey));
const actions = [
{
kind: "ExtractiveSummarization",
maxSentenceCount: 2,
},
];
const poller = await client.beginAnalyzeBatch(actions, documents, "en");
poller.onProgress(() => {
console.log(
`Last time the operation was updated was on: ${poller.getOperationState().modifiedOn}`
);
});
console.log(`The operation was created on ${poller.getOperationState().createdOn}`);
console.log(`The operation results will expire on ${poller.getOperationState().expiresOn}`);
const results = await poller.pollUntilDone();
for await (const actionResult of results) {
if (actionResult.kind !== "ExtractiveSummarization") {
throw new Error(`Expected extractive summarization results but got: ${actionResult.kind}`);
}
if (actionResult.error) {
const { code, message } = actionResult.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
for (const result of actionResult.results) {
console.log(`- Document ${result.id}`);
if (result.error) {
const { code, message } = result.error;
throw new Error(`Unexpected error (${code}): ${message}`);
}
console.log("Summary:");
console.log(result.sentences.map((sentence) => sentence.text).join("\n"));
}
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
module.exports = { main };
Gunakan mulai cepat ini untuk membuat aplikasi ringkas teks dengan pustaka klien untuk Python. Dalam contoh berikut, Anda akan membuat aplikasi Python yang dapat meringkas dokumen atau percakapan layanan pelanggan berbasis teks.
Tip
Anda dapat menggunakan Language Studio untuk mencoba ringkasan teks tanpa perlu menulis kode.
Prasyarat
- Langganan Azure - Buat langganan secara gratis
- Python 3.x
- Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
- Anda akan memerlukan kunci dan titik akhir dari sumber daya yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda menempelkan kunci dan titik akhir Anda ke dalam kode di bawah ini nanti di mulai cepat.
- Anda dapat menggunakan tingkat harga gratis (
Free F0
) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
- Untuk menggunakan fitur Analisis, Anda memerlukan sumber daya Bahasa dengan tingkat harga standar (S).
Menyiapkan
Membuat variabel lingkungan
Aplikasi Anda harus diautentikasi untuk mengirim permintaan API. Untuk produksi, gunakan cara yang aman dalam menyimpan dan mengakses info masuk Anda. Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.
Untuk mengatur variabel lingkungan untuk kunci sumber daya Bahasa Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
LANGUAGE_KEY
variabel lingkungan, gantiyour-key
dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
LANGUAGE_ENDPOINT
variabel lingkungan, gantiyour-endpoint
dengan titik akhir untuk sumber daya Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol yang sedang berjalan saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, hidupkan ulang Visual Studio sebelum menjalankan contoh.
Memasang pustaka klien
Setelah memasang Python, Anda dapat memasang pustaka klien dengan:
pip install azure-ai-textanalytics==5.3.0
Contoh kode
Buat file Python baru dan salin kode di bawah ini. Kemudian jalankan kode.
Penting
Buka portal Microsoft Azure. Jika sumber daya bahasa yang Anda buat di bagian Prasyarat berhasil disebarkan, klik tombol Buka Referensi di bawah Langkah Berikutnya. Anda dapat menemukan kunci dan titik akhir dengan membuka halaman Kunci dan Titik Akhir sumber daya, di bagian Manajemen Sumber Daya.
Penting
Jangan lupa menghapus kunci dari kode setelah Anda selesai, dan jangan pernah mempostingnya secara publik. Untuk produksi, gunakan cara yang aman untuk menyimpan dan mengakses kredensial Anda seperti Azure Key Vault. Lihat artikel keamanan layanan Azure AI untuk informasi selengkapnya.
# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
key = os.environ.get('LANGUAGE_KEY')
endpoint = os.environ.get('LANGUAGE_ENDPOINT')
from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential
# Authenticate the client using your key and endpoint
def authenticate_client():
ta_credential = AzureKeyCredential(key)
text_analytics_client = TextAnalyticsClient(
endpoint=endpoint,
credential=ta_credential)
return text_analytics_client
client = authenticate_client()
# Example method for summarizing text
def sample_extractive_summarization(client):
from azure.core.credentials import AzureKeyCredential
from azure.ai.textanalytics import (
TextAnalyticsClient,
ExtractiveSummaryAction
)
document = [
"The extractive summarization feature uses natural language processing techniques to locate key sentences in an unstructured text document. "
"These sentences collectively convey the main idea of the document. This feature is provided as an API for developers. "
"They can use it to build intelligent solutions based on the relevant information extracted to support various use cases. "
"Extractive summarization supports several languages. It is based on pretrained multilingual transformer models, part of our quest for holistic representations. "
"It draws its strength from transfer learning across monolingual and harness the shared nature of languages to produce models of improved quality and efficiency. "
]
poller = client.begin_analyze_actions(
document,
actions=[
ExtractiveSummaryAction(max_sentence_count=4)
],
)
document_results = poller.result()
for result in document_results:
extract_summary_result = result[0] # first document, first result
if extract_summary_result.is_error:
print("...Is an error with code '{}' and message '{}'".format(
extract_summary_result.code, extract_summary_result.message
))
else:
print("Summary extracted: \n{}".format(
" ".join([sentence.text for sentence in extract_summary_result.sentences]))
)
sample_extractive_summarization(client)
Output
Summary extracted:
The extractive summarization feature uses natural language processing techniques to locate key sentences in an unstructured text document. This feature is provided as an API for developers. They can use it to build intelligent solutions based on the relevant information extracted to support various use cases.
Gunakan mulai cepat ini untuk mengirim permintaan meringkas teks menggunakan REST API. Dalam contoh berikut, Anda akan menggunakan cURL untuk meringkas dokumen atau percakapan layanan pelanggan berbasis teks.
Tip
Anda dapat menggunakan Language Studio untuk mencoba ringkasan teks tanpa perlu menulis kode.
Prasyarat
- Versi cURL saat ini.
- Setelah Anda memiliki langganan Azure, buat sumber daya Bahasa di portal Azure untuk mendapatkan kunci dan titik akhir Anda. Setelah menyebar, pilih Buka sumber daya.
- Anda akan memerlukan kunci dan titik akhir dari referensi yang Anda buat untuk menyambungkan aplikasi Anda ke API. Anda akan menempelkan kunci dan titik akhir ke dalam kode di bawah ini di mulai cepat.
- Anda dapat menggunakan tingkat harga gratis (
Free F0
) untuk percobaan, lalu meningkatkannya ke tingkat berbayar untuk produksi.
Menyiapkan
Membuat variabel lingkungan
Aplikasi Anda harus diautentikasi untuk mengirim permintaan API. Untuk produksi, gunakan cara yang aman dalam menyimpan dan mengakses info masuk Anda. Dalam contoh ini, Anda akan menulis kredensial Anda ke variabel lingkungan pada komputer lokal yang menjalankan aplikasi.
Untuk mengatur variabel lingkungan untuk kunci sumber daya Bahasa Anda, buka jendela konsol, dan ikuti instruksi untuk sistem operasi dan lingkungan pengembangan Anda.
- Untuk mengatur
LANGUAGE_KEY
variabel lingkungan, gantiyour-key
dengan salah satu kunci untuk sumber daya Anda. - Untuk mengatur
LANGUAGE_ENDPOINT
variabel lingkungan, gantiyour-endpoint
dengan titik akhir untuk sumber daya Anda.
Penting
Jika Anda menggunakan kunci API, simpan dengan aman di tempat lain, seperti di Azure Key Vault. Jangan sertakan kunci API langsung dalam kode Anda, dan jangan pernah mempostingnya secara publik.
Untuk informasi selengkapnya tentang keamanan layanan AI, lihat Mengautentikasi permintaan ke layanan Azure AI.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
Catatan
Jika Anda hanya perlu mengakses variabel lingkungan di konsol yang sedang berjalan saat ini, Anda dapat mengatur variabel lingkungan dengan set
alih-alih setx
.
Setelah menambahkan variabel lingkungan, Anda mungkin perlu memulai ulang program yang sedang berjalan yang perlu membaca variabel lingkungan, termasuk jendela konsol. Misalnya, jika Anda menggunakan Visual Studio sebagai editor, hidupkan ulang Visual Studio sebelum menjalankan contoh.
Contoh permintaan
Catatan
- Exaple BASH berikut menggunakan karakter kelanjutan
\
baris. Jika konsol atau terminal Anda menggunakan karakter kelanjutan baris yang berbeda, silakan gunakan karakter tersebut. - Anda dapat menemukan sampel spesifik bahasa di GitHub. Untuk memanggil API, Anda memerlukan informasi berikut:
Pilih jenis ringkasan yang ingin Anda lakukan, dan pilih salah satu tab di bawah ini untuk melihat contoh panggilan API:
Fitur | Deskripsi |
---|---|
Ringkasan teks | Gunakan ringkasan teks ekstraktif untuk menghasilkan ringkasan informasi penting atau relevan dalam dokumen. |
Ringkasan percakapan | Gunakan ringkasan teks abstraktif untuk menghasilkan ringkasan masalah dan resolusi dalam transkrip antara agen layanan pelanggan, dan pelanggan. |
parameter | Deskripsi |
---|---|
-X POST <endpoint> |
Menentukan titik akhir Anda untuk mengakses API. |
-H Content-Type: application/json |
Jenis konten untuk mengirim data JSON. |
-H "Ocp-Apim-Subscription-Key:<key> |
Menentukan kunci untuk mengakses API. |
-d <documents> |
JSON berisi dokumen yang ingin Anda kirim. |
Perintah cURL berikut dijalankan dari shell BASH. Edit perintah ini dengan nilai JSON Anda sendiri.
Ringkasan teks
Contoh ringkasan ekstraktif teks
Contoh berikut akan membuat Anda memulai dengan ringkasan ekstraktif teks:
- Salin perintah di bawah ini ke editor teks. Contoh BASH menggunakan karakter kelanjutan
\
baris. Jika konsol atau terminal Anda menggunakan karakter kelanjutan baris yang berbeda, gunakan karakter tersebut sebagai gantinya.
curl -i -X POST $LANGUAGE_ENDPOINT/language/analyze-text/jobs?api-version=2023-04-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: $LANGUAGE_KEY" \
-d \
'
{
"displayName": "Text ext Summarization Task Example",
"analysisInput": {
"documents": [
{
"id": "1",
"language": "en",
"text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding. As Chief Technology Officer of Azure AI services, I have been working with a team of amazing scientists and engineers to turn this quest into a reality. In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z). At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better. We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages. The goal is to have pre-trained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today. Over the past five years, we have achieved human performance on benchmarks in conversational speech recognition, machine translation, conversational question answering, machine reading comprehension, and image captioning. These five breakthroughs provided us with strong signals toward our more ambitious aspiration to produce a leap in AI capabilities, achieving multi-sensory and multilingual learning that is closer in line with how humans learn and understand. I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks."
}
]
},
"tasks": [
{
"kind": "ExtractiveSummarization",
"taskName": "Text Extractive Summarization Task 1",
"parameters": {
"sentenceCount": 6
}
}
]
}
'
Buka jendela prompt perintah (misalnya: BASH).
Tempelkan perintah dari editor teks ke jendela prompt perintah, lalu jalankan perintah .
Dapatkan
operation-location
dari header respon. Nilainya akan terlihat mirip dengan URL berikut:
https://<your-language-resource-endpoint>/language/analyze-text/jobs/12345678-1234-1234-1234-12345678?api-version=2023-04-01
- Untuk mendapatkan hasil permintaan, gunakan perintah cURL berikut. Pastikan untuk mengganti
<my-job-id>
dengan nilai ID numerik yang Anda terima dari header responsoperation-location
sebelumnya:
curl -X GET $LANGUAGE_ENDPOINT/language/analyze-text/jobs/<my-job-id>?api-version=2023-04-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: $LANGUAGE_KEY"
Contoh ringkasan ekstraktif teks respons JSON
{
"jobId": "56e43bcf-70d8-44d2-a7a7-131f3dff069f",
"lastUpdateDateTime": "2022-09-28T19:33:43Z",
"createdDateTime": "2022-09-28T19:33:42Z",
"expirationDateTime": "2022-09-29T19:33:42Z",
"status": "succeeded",
"errors": [],
"displayName": "Text ext Summarization Task Example",
"tasks": {
"completed": 1,
"failed": 0,
"inProgress": 0,
"total": 1,
"items": [
{
"kind": "ExtractiveSummarizationLROResults",
"taskName": "Text Extractive Summarization Task 1",
"lastUpdateDateTime": "2022-09-28T19:33:43.6712507Z",
"status": "succeeded",
"results": {
"documents": [
{
"id": "1",
"sentences": [
{
"text": "At Microsoft, we have been on a quest to advance AI beyond existing techniques, by taking a more holistic, human-centric approach to learning and understanding.",
"rankScore": 0.69,
"offset": 0,
"length": 160
},
{
"text": "In my role, I enjoy a unique perspective in viewing the relationship among three attributes of human cognition: monolingual text (X), audio or visual sensory signals, (Y) and multilingual (Z).",
"rankScore": 0.66,
"offset": 324,
"length": 192
},
{
"text": "At the intersection of all three, there’s magic—what we call XYZ-code as illustrated in Figure 1—a joint representation to create more powerful AI that can speak, hear, see, and understand humans better.",
"rankScore": 0.63,
"offset": 517,
"length": 203
},
{
"text": "We believe XYZ-code will enable us to fulfill our long-term vision: cross-domain transfer learning, spanning modalities and languages.",
"rankScore": 1.0,
"offset": 721,
"length": 134
},
{
"text": "The goal is to have pre-trained models that can jointly learn representations to support a broad range of downstream AI tasks, much in the way humans do today.",
"rankScore": 0.74,
"offset": 856,
"length": 159
},
{
"text": "I believe the joint XYZ-code is a foundational component of this aspiration, if grounded with external knowledge sources in the downstream AI tasks.",
"rankScore": 0.49,
"offset": 1481,
"length": 148
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "latest"
}
}
]
}
}
Membersihkan sumber daya
Jika Anda ingin membersihkan dan menghapus langganan layanan Azure AI, Anda dapat menghapus sumber daya atau grup sumber daya. Menghapus grup sumber daya juga menghapus sumber daya apa pun yang terkait dengannya.