Solusi ini memanfaatkan teknologi pengenalan maksud dari model bahasa besar (LLM) untuk mempelajari pola bahasa kompleks dan perilaku pengguna dari volume data yang sangat besar. Hal ini memungkinkan pengenalan maksud pengguna yang lebih akurat serta memberikan pengalaman interaksi yang lebih lancar dan alami. Topik ini menjelaskan proses pengembangan lengkap solusi pengenalan maksud berbasis LLM menggunakan model Qwen1.5.
Informasi latar belakang
Apa itu pengenalan maksud?
Agen AI menafsirkan kebutuhan pengguna yang dijelaskan dalam bahasa alami untuk melakukan operasi yang sesuai atau memberikan informasi relevan. Agen ini telah menjadi komponen penting dalam sistem interaksi cerdas. Teknologi pengenalan maksud berbasis LLM telah mendapatkan perhatian signifikan di industri dan banyak diterapkan.
Skenario tipikal teknologi pengenalan maksud
Dalam skenario asisten suara cerdas, pengguna berinteraksi dengan asisten suara menggunakan perintah sederhana. Sebagai contoh, ketika seorang pengguna mengatakan "Saya ingin mendengarkan musik" kepada asisten suara, sistem harus secara akurat mengenali bahwa kebutuhan pengguna adalah memutar musik, lalu melakukan operasi terkait.
Dalam skenario layanan pelanggan cerdas, tantangannya terletak pada menangani berbagai permintaan layanan pelanggan dan dengan cepat mengklasifikasikannya ke dalam proses yang berbeda, seperti pengembalian, penukaran, dan keluhan. Misalnya, seorang pengguna mungkin mengatakan "Saya menerima barang yang rusak dan saya ingin mengembalikannya" kepada sistem layanan pelanggan platform e-commerce. Dalam hal ini, sistem pengenalan maksud berbasis LLM harus dengan cepat menangkap bahwa maksud pengguna adalah "mengembalikan barang" dan memicu proses pengembalian untuk membimbing pengguna melalui operasi selanjutnya.
Proses kerja
Gambar berikut menunjukkan proses kerja solusi pengenalan maksud berbasis LLM.
Anda perlu menyiapkan set data pelatihan untuk skenario bisnis tertentu berdasarkan persyaratan format data dan strategi persiapan data. Anda juga dapat menyiapkan data bisnis berdasarkan strategi persiapan data dan menggunakan iTAG untuk melabeli data mentah. Kemudian, Anda perlu mengekspor hasil pelabelan dan mengonversinya ke dalam format data yang didukung oleh QuickStart Platform for AI (PAI) untuk pelatihan model selanjutnya.
Latih dan Lakukan Evaluasi Offline pada Model
Dalam QuickStart, Anda dapat melatih model Qwen1.5-1.8B-Chat. Setelah melatih model, Anda perlu melakukan evaluasi offline.
Sebarkan dan Panggil Layanan Model
Jika hasil evaluasi model memenuhi harapan Anda, Anda dapat menggunakan QuickStart untuk menyebarkan model yang telah dilatih ke Elastic Algorithm Service (EAS) sebagai layanan online.
Prasyarat
Sebelum melakukan operasi yang dijelaskan dalam topik ini, pastikan Anda telah menyelesaikan persiapan berikut:
Deep Learning Containers (DLC) dan EAS dari PAI diaktifkan secara bayar sesuai penggunaan dan ruang kerja default telah dibuat. Untuk informasi lebih lanjut, lihat Aktifkan PAI dan Buat Ruang Kerja Default.
Bucket Object Storage Service (OSS) dibuat untuk menyimpan data pelatihan dan file model yang diperoleh dari pelatihan model. Untuk informasi tentang cara membuat bucket, lihat Panduan Cepat Mulai.
Siapkan data pelatihan
Anda dapat menyiapkan data pelatihan menggunakan salah satu metode berikut:
Metode 1: Bangun set data pelatihan berdasarkan strategi persiapan data dan persyaratan format data.
Metode 2: Gunakan iTAG untuk Melabeli Data berdasarkan strategi persiapan data. Metode ini cocok untuk skenario data berskala besar dan dapat secara signifikan meningkatkan efisiensi pelabelan.
Strategi persiapan data
Untuk meningkatkan efektivitas dan stabilitas pelatihan, Anda dapat menyiapkan data berdasarkan strategi berikut:
Dalam skenario pengenalan maksud tunggal, pastikan setidaknya 50 hingga 100 catatan data dilabeli untuk setiap jenis maksud. Jika kinerja model setelah fine-tuning tidak memenuhi harapan Anda, Anda dapat meningkatkan jumlah catatan data yang dilabeli. Selain itu, Anda harus memastikan bahwa jumlah catatan data yang dilabeli untuk setiap jenis maksud seimbang.
Dalam skenario pengenalan maksud ganda atau skenario percakapan multi-putaran, kami merekomendasikan agar jumlah catatan data yang dilabeli lebih dari 20% dari jumlah dalam skenario pengenalan maksud tunggal, dan maksud yang terlibat dalam skenario pengenalan maksud ganda atau percakapan multi-putaran harus sudah terjadi dalam skenario pengenalan maksud tunggal.
Deskripsi maksud perlu mencakup sebanyak mungkin frasa dan skenario.
Persyaratan format data
Data pelatihan harus disimpan dalam file JSON, yang berisi bidang instruksi dan output. Bidang output sesuai dengan maksud yang diprediksi oleh model dan parameter terkait. Contoh kode berikut memberikan contoh data pelatihan dalam skenario pengenalan maksud yang berbeda.
Dalam skenario pengenalan maksud tunggal, Anda perlu menyiapkan data bisnis untuk skenario bisnis tertentu untuk fine-tune LLM. Contoh kode berikut memberikan contoh percakapan satu putaran untuk skenario rumah pintar.
[ { "instruction": "Saya ingin mendengarkan musik", "output": "play_music()" }, { "instruction": "Terlalu keras, turunkan suaranya", "output": "volume_down()" }, { "instruction": "Saya tidak ingin mendengarkan ini, matikan", "output": "music_exit()" }, { "instruction": "Saya ingin mengunjungi Hangzhou. Periksa prakiraan cuaca untuk saya", "output": "weather_search(Hangzhou)" }, ]Dalam skenario pengenalan maksud ganda atau percakapan multi-putaran, maksud pengguna mungkin diekspresikan dalam beberapa putaran dalam percakapan. Dalam hal ini, Anda dapat menyiapkan data percakapan beberapa putaran dan melabeli input multi-putaran. Contoh kode berikut memberikan contoh percakapan multi-putaran untuk asisten suara:
Pengguna: Saya ingin mendengarkan musik. Asisten: Musik apa? Pengguna: Putar *** musik. Asisten: play_music(***)Data pelatihan untuk percakapan multi-putaran berada dalam format berikut:
[ { "instruction": "Saya ingin mendengarkan musik. Putar musik ***.", "output": "play_music(***)" } ]
Panjang urutan untuk pelatihan model dalam percakapan multi-putaran jauh lebih panjang, dan jumlah skenario pengenalan maksud yang menggunakan percakapan multi-putaran terbatas. Kami merekomendasikan menggunakan mode percakapan multi-putaran untuk pelatihan model hanya jika mode percakapan satu putaran tidak dapat memenuhi persyaratan bisnis Anda. Bagian berikut memberikan contoh mode percakapan satu putaran untuk menggambarkan proses lengkap.
Gunakan iTAG untuk melabeli data
Anda dapat melabeli data di iTAG dari PAI untuk menghasilkan set data pelatihan yang memenuhi persyaratan tertentu dengan melakukan langkah-langkah berikut:
Daftarkan data yang digunakan untuk pelabelan iTAG ke dataset PAI.
Siapkan file data dalam format manifes. Untuk informasi lebih lanjut, lihat strategi persiapan data. Contoh:
{"data":{"instruction": "Saya ingin mendengarkan musik"}} {"data":{"instruction": "Terlalu keras, turunkan suaranya"}} {"data":{"instruction": "Saya tidak ingin mendengarkan ini, matikan"}} {"data":{"instruction": "Saya ingin mengunjungi Hangzhou. Periksa prakiraan cuaca untuk saya"}}Pergi ke halaman Manajemen Aset AI > Dataset, pilih ruang kerja target, dan klik Enter Dataset.
Klik Create Dataset dan konfigurasikan parameter utama yang dijelaskan dalam tabel berikut. Untuk informasi tentang parameter lainnya, lihat Buat dan Kelola Dataset.
Parameter
Deskripsi
Storage Type
Pilih OSS.
Import Format
Pilih File.
OSS Path
Pilih direktori OSS yang telah dibuat dan unggah file manifes yang telah Anda siapkan dengan melakukan langkah-langkah berikut:
Klik tombol
, dan dalam kotak dialog Select OSS File, klik Upload File.Klik View Local Files atau Drag And Drop Files untuk mengunggah file manifes sesuai petunjuk.
Pergi ke halaman Persiapan Data > iTAG, klik Go To Management Page, dan beralih ke tab Template Management.
Klik Create Template, pilih , dan klik Edit. Setelah Anda mengonfigurasi parameter, klik Save Template. Tabel berikut menjelaskan parameter utama. Untuk informasi tentang parameter lainnya, lihat Kelola Template.
Konfigurasi
Deskripsi
Basic Template Canvas
Pilih Text dan klik Generate Content Card.

Klik area teks. Dalam kotak dialog Import Data, pilih dataset yang ada. Dalam bagian Configuration For Basic Template, pilih Dataset Field > instruction.
Basic Template Answers
Pilih Input Field dan klik Generate Title Card. Lalu ubah Title menjadi output.

Di panel navigasi di sebelah kiri, pilih . Di tab Task Management, klik Create Task. Di halaman Buat Pekerjaan Pelabelan, konfigurasikan parameter dan klik Create. Tabel berikut menjelaskan parameter utama. Untuk informasi tentang parameter lainnya, lihat Buat Pekerjaan Pelabelan.
Parameter
Deskripsi
Input Dataset
Pilih dataset yang Anda buat di Langkah 1.
CatatanCatatan bahwa data harus sesuai dengan template.
Template Type
Pilih Custom Template dan pilih template yang ada dari daftar drop-down.
Setelah Anda membuat pekerjaan pelabelan, labeli data. Untuk informasi lebih lanjut, lihat Proses Pekerjaan Pelabelan.

Setelah Anda melabeli data, ekspor hasil pelabelan ke direktori OSS. Untuk informasi lebih lanjut, lihat Ekspor Hasil Pelabelan.
Contoh kode berikut menunjukkan contoh file manifes yang diekspor. Untuk informasi tentang format data, lihat Ikhtisar.
{"data":{"instruction":"Saya ingin mendengarkan musik","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554911772672","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"play_music()\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236185165","MarkTime":"Rab Jul 23 10:03:05 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554911772672","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"play_music()\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236185165","MarkTime":"Rab Jul 23 10:03:05 CST 2025","UserMarkResultId":"1947839763671740416","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} {"data":{"instruction":"Terlalu keras, turunkan suaranya","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554891464704","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"volume_down()\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236198979","MarkTime":"Rab Jul 23 10:03:19 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554891464704","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"volume_down()\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236198979","MarkTime":"Rab Jul 23 10:03:19 CST 2025","UserMarkResultId":"1947839868520656896","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} {"data":{"instruction":"Saya tidak ingin mendengarkan ini, matikan","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554992373760","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"music_exit()\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236212152","MarkTime":"Rab Jul 23 10:03:32 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554992373760","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"music_exit()\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236212152","MarkTime":"Rab Jul 23 10:03:32 CST 2025","UserMarkResultId":"1947839936657285120","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} {"data":{"instruction":"Saya ingin mengunjungi Hangzhou. Periksa prakiraan cuaca untuk saya","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554971426816","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"weather_search(Hangzhou)\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236218730","MarkTime":"Rab Jul 23 10:03:39 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554971426816","MarkTitle":"Template Dasar","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"weather_search(Hangzhou)\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236218730","MarkTime":"Rab Jul 23 10:03:39 CST 2025","UserMarkResultId":"1947839975890939904","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null}Di terminal, gunakan skrip Python berikut untuk mengonversi file hasil pelabelan berformat manifes menjadi format data pelatihan yang sesuai untuk QuickStart.
import json # Jalur file input dan jalur file output input_file_path = 'test_json.manifest' output_file_path = 'train.json' converted_data = [] with open(input_file_path, 'r', encoding='utf-8') as file: for line in file: try: # Parsing data JSON untuk setiap baris data = json.loads(line) # Ekstrak instruksi instruction = data['data']['instruction'] # Iterasi melalui semua kunci yang dimulai dengan "label-" for key in data.keys(): if key.startswith('label-'): # Ekstrak MarkResult dan parsing kontennya mark_result_str = data[key]['results'][0]['MarkResult'] mark_result = json.loads(mark_result_str) # Parsing string MarkResult sebagai JSON # Ekstrak labels["output"] dari annotations output = mark_result['annotations'][0]['labels']['output'] # Bangun struktur data baru converted_data.append({ 'instruction': instruction, 'output': output }) break except Exception as e: print(f"Error memproses baris: {line.strip()}. Error: {e}") # Tulis data yang dikonversi ke file output with open(output_file_path, 'w', encoding='utf-8') as outfile: json.dump(converted_data, outfile, ensure_ascii=False, indent=4) print(f"Konversi selesai. Output disimpan di {output_file_path}")Outputnya adalah file JSON.
Latih dan lakukan evaluasi offline pada model
Latih model
QuickStart mengintegrasikan model pra-latih berkualitas tinggi dari komunitas Artificial Intelligence (AI) sumber terbuka. Ini memungkinkan Anda mengimplementasikan proses lengkap dari pelatihan model, penyebaran hingga inferensi tanpa menulis kode. Hal ini sangat menyederhanakan proses pengembangan model.
Dalam contoh ini, model Qwen1.5-1.8B-Chat digunakan untuk menggambarkan cara menggunakan data pelatihan yang telah disiapkan untuk melatih model di QuickStart. Untuk melatih model, lakukan langkah-langkah berikut:
Pergi ke halaman Model Gallery.
Masuk ke Konsol PAI.
Di pojok kiri atas, pilih wilayah.
Di panel navigasi di sebelah kiri, pilih Workspace Management dan klik nama ruang kerja yang diinginkan.
Di panel navigasi di sebelah kiri, pilih Getting Started > Model Gallery.
Dalam daftar model halaman Model Gallery, cari dan klik model Qwen1.5-1.8B-Chat.
Di pojok kanan atas halaman detail model, klik Train. Di panel Train, konfigurasikan parameter utama yang dijelaskan dalam tabel berikut. Gunakan pengaturan default parameter lainnya.
Parameter
Deskripsi
Training Mode
Full-Parameter Fine-Tuning: Mode ini memerlukan lebih banyak sumber daya dan memiliki waktu pelatihan yang lama, tetapi memberikan hasil pelatihan yang baik.
CatatanModel dengan jumlah parameter kecil mendukung fine-tuning parameter penuh. Pilih Fine-Tuning Parameter Penuh sesuai kebutuhan.
QLoRA: Ini adalah mode fine-tuning ringan. Dibandingkan dengan fine-tuning parameter penuh, Quantized Low-Rank Adaptation (QLoRA) memerlukan lebih sedikit sumber daya dan memiliki waktu pelatihan yang lebih singkat, tetapi hasil pelatihannya tidak sebaik itu.
LoRA: Mode ini mirip dengan QLoRA.
Dataset Configuration
Training Dataset
Untuk memilih dataset pelatihan yang telah disiapkan, lakukan langkah-langkah berikut:
Pilih OSS File Or Directory dalam daftar drop-down.
Klik tombol
untuk memilih direktori OSS.Dalam kotak dialog Select OSS File, klik Upload File, seret file dataset pelatihan yang telah disiapkan ke area kosong, lalu klik OK.
Output Configuration
ModelOutput Path
Pilih direktori OSS untuk menyimpan file konfigurasi output dan file model.
TensorboardOutput Path
Hyper-parameters
Untuk informasi lebih lanjut tentang hiperparameter, lihat Tabel 1. Hiperparameter lengkap.
Kami merekomendasikan agar Anda mengonfigurasi hiperparameter berdasarkan strategi konfigurasi berikut. Untuk informasi tentang konfigurasi hiperparameter yang direkomendasikan, lihat Tabel 2. Konfigurasi hiperparameter yang direkomendasikan.
Konfigurasikan hiperparameter berdasarkan metode pelatihan yang berbeda.
Global batch size = Jumlah GPU × per_device_train_batch_size × gradient_accumulation_stepsUntuk memaksimalkan kinerja pelatihan, tingkatkan jumlah GPU dan atur per_device_train_batch_size ke nilai yang lebih tinggi terlebih dahulu.
Dalam kebanyakan kasus, ukuran global batch berkisar antara 64 hingga 256. Jika melibatkan sejumlah kecil data pelatihan, Anda dapat secara tepat mengurangi ukuran global batch.
Anda perlu mengonfigurasi parameter seq_length sesuai kebutuhan. Sebagai contoh, jika panjang maksimum urutan teks dalam dataset adalah 50, Anda dapat mengatur parameter ini menjadi 64 (pangkat dua).
Jika loss pelatihan menurun terlalu lambat atau tidak konvergen, kami merekomendasikan agar Anda meningkatkan laju pembelajaran yang ditentukan oleh parameter learning_rate. Anda juga perlu memastikan bahwa kualitas data pelatihan terjamin.
Klik Train. Dalam pesan Billing Notification, klik OK.
Sistem secara otomatis menavigasi ke halaman detail tugas pelatihan. Setelah tugas pelatihan berjalan, Anda dapat melihat status dan log pelatihan dari tugas pelatihan.

Evaluasi model secara offline
Setelah Anda melatih model, Anda dapat menggunakan skrip Python untuk mengevaluasi model di terminal.
Siapkan file data evaluasi testdata.json. Contoh isi:
[ { "instruction": "Siapa yang menyanyikan lagu Sepuluh Tahun?", "output": "music_query_player(Sepuluh Tahun)" }, { "instruction": "Bagaimana cuaca di Hangzhou hari ini?", "output": "weather_search(Hangzhou)" } ]Di terminal, gunakan skrip Python berikut untuk mengevaluasi model secara offline.
#encoding=utf-8 from transformers import AutoModelForCausalLM, AutoTokenizer import json from tqdm import tqdm device = "cuda" # perangkat untuk memuat model # Ubah jalur model. model_name = '/mnt/workspace/model/qwen14b-lora-3e4-256-train/' print(model_name) model = AutoModelForCausalLM.from_pretrained( model_name, torch_dtype="auto", device_map="auto" ) tokenizer = AutoTokenizer.from_pretrained(model_name) count = 0 ecount = 0 # Ubah jalur tempat data pelatihan disimpan. test_data = json.load(open('/mnt/workspace/data/testdata.json')) system_prompt = 'Anda adalah ahli pengenalan maksud. Anda dapat mengenali maksud berdasarkan pertanyaan pengguna dan mengembalikan pemanggilan fungsi dan parameter yang sesuai.' for i in tqdm(test_data[:]): prompt = '<|im_start|>system\n' + system_prompt + '<|im_end|>\n<|im_start|>user\n' + i['instruction'] + '<|im_end|>\n<|im_start|>assistant\n' gold = i['output'] gold = gold.split(';')[0] if ';' in gold else gold model_inputs = tokenizer([prompt], return_tensors="pt").to(device) generated_ids = model.generate( model_inputs.input_ids, max_new_tokens=64, pad_token_id=tokenizer.eos_token_id, eos_token_id=tokenizer.eos_token_id, do_sample=False ) generated_ids = [ output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids) ] pred = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0] if gold.split('(')[0] == pred.split('(')[0]: count += 1 gold_list = set(gold.strip()[:-1].split('(')[1].split(',')) pred_list = set(pred.strip()[:-1].split('(')[1].split(',')) if gold_list == pred_list: ecount += 1 else: pass print("Akurasi pengenalan maksud:", count/len(test_data)) print("Akurasi pengenalan parameter:", ecount/len(test_data))CatatanJika eksekusi kode mengembalikan pesan
Using low_cpu_mem_usage=True or a device_map requires Accelerate: pip install accelerate, ikuti petunjuk untuk menjalankanpip install accelerateuntuk menginstal pustaka dependensi.
Sebarkan dan panggil layanan model
Sebarkan layanan model
Setelah Anda melatih model, Anda dapat menyebarkan model sebagai layanan online di EAS dengan melakukan langkah-langkah berikut:
Di pojok kanan atas halaman Task Details, klik Deploy. Sistem secara otomatis mengonfigurasi informasi dasar dan informasi sumber daya. Untuk Deployment Method, pilih VLLM Accelerated Deployment. Anda dapat memodifikasi parameter sesuai kebutuhan. Setelah mengonfigurasi parameter, klik Deploy.
Dalam pesan Billing Notification, klik OK.
Sistem secara otomatis menavigasi ke halaman tugas penyebaran. Ketika Status adalah Running, layanan berhasil disebarkan.
Panggil layanan model
Contoh berikut menunjukkan cara memanggil API menggunakan klien:
Peroleh endpoint dan token layanan model.
Di bagian Basic Information halaman Service Details, klik View Call Information.

Dalam kotak dialog Call Information, lihat dan simpan endpoint dan token layanan model ke mesin lokal Anda.
Contoh berikut menunjukkan cara memanggil layanan menggunakan metode penyebaran dipercepat vLLM. Anda dapat menjalankan kode ini di terminal untuk memanggil layanan.
from openai import OpenAI ##### Konfigurasi API ##### openai_api_key = "<EAS_SERVICE_TOKEN>" openai_api_base = "<EAS_SERVICE_URL>/v1/" client = OpenAI( api_key=openai_api_key, base_url=openai_api_base, ) models = client.models.list() model = models.data[0].id print(model) def main(): stream = True chat_completion = client.chat.completions.create( messages=[ { "peran": "sistem", "konten": [ { "tipe": "teks", "teks": "Anda adalah ahli pengenalan maksud. Anda dapat mengenali maksud berdasarkan pertanyaan pengguna dan mengembalikan maksud dan parameter yang sesuai.", } ], }, { "peran": "pengguna", "konten": [ { "tipe": "teks", "teks": "Saya ingin mendengarkan musik", } ], } ], model=model, max_completion_tokens=2048, stream=stream, ) if stream: for chunk in chat_completion: print(chunk.choices[0].delta.content, end="") else: result = chat_completion.choices[0].message.content print(result) if __name__ == "__main__": main()Dimana:
<EAS_SERVICE_URL>: endpoint layanan model Anda.
<EAS_SERVICE_TOKEN>: token layanan model Anda.
Referensi
Untuk informasi lebih lanjut tentang cara menggunakan iTAG dan persyaratan format untuk pelabelan data, lihat iTAG.
Untuk informasi lebih lanjut tentang EAS, lihat Elastic Algorithm Service.
Anda dapat menggunakan QuickStart dari PAI untuk melatih dan menyebarkan model dalam skenario berbeda, termasuk model Llama-3, Qwen1.5, dan Stable Diffusion V1.5. Untuk informasi lebih lanjut, lihat Praktik Spesifik Skenario.