Solusi ini menggunakan pengenalan maksud yang didukung oleh model bahasa besar (large language model/LLM). Dengan mempelajari pola bahasa kompleks dan perilaku pengguna dari kumpulan data yang sangat besar, solusi ini memberikan pengenalan maksud yang lebih akurat serta pengalaman pengguna yang alami dan lancar. Panduan ini menjelaskan cara mengembangkan solusi pengenalan maksud menggunakan model bahasa besar Qwen1.5.
Informasi latar belakang
Pengenalan maksud
Pengenalan maksud memungkinkan agen AI memahami permintaan pengguna dalam bahasa alami, lalu melakukan aksi yang sesuai atau memberikan informasi relevan. Ini merupakan komponen kunci dalam sistem interaktif cerdas. Saat ini, teknologi pengenalan maksud berbasis model bahasa besar (LLM) telah banyak digunakan di industri.
Kasus penggunaan
-
Dengan asisten suara pintar, pengguna berinteraksi melalui perintah suara sederhana. Misalnya, jika pengguna mengatakan, "Saya ingin mendengarkan musik," sistem harus secara akurat mengidentifikasi maksud untuk memutar musik, lalu menjalankan aksi yang sesuai.
-
Dalam skenario layanan pelanggan cerdas, tantangannya adalah memproses berbagai permintaan pelanggan dan mengarahkannya secara tepat ke alur kerja yang sesuai, seperti pengembalian, penukaran, atau keluhan. Sebagai contoh, pada platform e-commerce, pengguna mungkin berkata, "Produk yang saya terima cacat. Saya ingin mengembalikannya." Dalam kasus ini, sistem pengenalan maksud berbasis LLM harus segera menangkap maksud pengguna sebagai "pengembalian", secara otomatis memicu proses pengembalian, dan memandu pengguna melalui langkah-langkah selanjutnya.
Alur kerja
-
Anda dapat menyiapkan set data pelatihan untuk skenario bisnis spesifik Anda sesuai dengan format data dan strategi persiapan yang ditentukan. Atau, Anda dapat menyiapkan data bisnis Anda dan menggunakan
iTAGuntuk memberi label pada data mentah tersebut. Ekspor hasil pelabelan dan konversikan ke format yang didukung olehPAI-QuickStartuntuk pelatihan model. -
Latih model dan lakukan evaluasi offline
Di
QuickStart, latih model berdasarkanQwen1.5-1.8B-Chat. Setelah model dilatih, lakukan evaluasi offline. -
Terapkan dan panggil layanan model
Jika hasil evaluasi memuaskan, gunakan
QuickStartuntuk menerapkan model yang telah dilatih sebagai layanan onlineEAS.
Prasyarat
Pastikan Anda telah menyelesaikan hal-hal berikut:
-
Anda telah mengaktifkan bayar sesuai penggunaan untuk PAI (DLC dan EAS) dan membuat ruang kerja default. Untuk informasi selengkapnya, lihat Aktifkan PAI dan buat ruang kerja default.
-
Anda telah membuat bucket OSS untuk menyimpan data pelatihan dan file model. Untuk informasi selengkapnya tentang cara membuat bucket, lihat Panduan cepat mulai Konsol.
Siapkan data pelatihan
Anda dapat menyiapkan data pelatihan dengan salah satu dari dua cara berikut:
-
Metode 1: Bangun sendiri set data pelatihan berdasarkan strategi persiapan data dan persyaratan format data.
-
Metode 2: Gunakan PAI-iTAG untuk memberi label data sesuai dengan strategi persiapan data. Pendekatan ini cocok untuk skenario data berskala besar dan secara signifikan meningkatkan efisiensi pelabelan.
Strategi persiapan data
Untuk meningkatkan efektivitas dan stabilitas pelatihan model, ikuti strategi berikut saat menyiapkan data Anda:
-
Untuk skenario pengenalan maksud tunggal, pastikan setiap kategori maksud memiliki minimal 50 hingga 100 contoh berlabel. Jika hasil fine-tuning model tidak memuaskan, pertimbangkan untuk menambah jumlah data berlabel. Selain itu, pastikan data seimbang di seluruh kategori maksud. Hindari adanya satu kategori yang memiliki data jauh lebih banyak daripada kategori lainnya.
-
Untuk skenario multi-maksud atau dialog multi-putaran, gunakan setidaknya 20% lebih banyak data berlabel dibandingkan skenario maksud tunggal. Selain itu, semua maksud yang digunakan dalam skenario multi-maksud atau multi-putaran juga harus didefinisikan dalam data maksud tunggal Anda.
-
Deskripsi maksud harus mencakup berbagai variasi frasa dan skenario.
Format data
Data pelatihan harus berupa file JSON yang berisi bidang instruction dan output. Bidang instruction berisi instruksi masukan, sedangkan bidang output berisi maksud yang diprediksi model beserta parameter utamanya. Contoh berikut menunjukkan data pelatihan untuk berbagai skenario pengenalan maksud.
-
Untuk skenario pengenalan maksud tunggal, Anda perlu menyiapkan data spesifik bisnis untuk fine-tuning model bahasa besar (LLM). Sebagai contoh, berikut adalah data pelatihan sampel untuk dialog satu putaran dalam skenario rumah pintar:
[ { "instruction": "I want to listen to music", "output": "play_music()" }, { "instruction": "It's too loud, turn the volume down", "output": "volume_down()" }, { "instruction": "I don't want to listen anymore, turn it off", "output": "music_exit()" }, { "instruction": "I want to travel to Hangzhou, help me check the weather forecast", "output": "weather_search(China (Hangzhou))" }, ] -
Untuk skenario multi-maksud atau dialog multi-putaran, maksud pengguna mungkin diekspresikan dalam beberapa putaran percakapan. Dalam kasus seperti ini, Anda dapat menyiapkan data dialog multi-putaran dan memberi label pada masukan pengguna dari semua putaran yang relevan. Sebagai contoh, pertimbangkan dialog multi-putaran berikut dengan asisten suara:
User: I want to listen to music. Assistant: What type of music? User: Play some *** music for me. Assistant: play_music(***)Data pelatihan yang sesuai untuk dialog multi-putaran ini diformat sebagai berikut:
[ { "instruction": "I want to listen to music. Play some *** music for me.", "output": "play_music(***)" } ]
Melatih model pada dialog multi-putaran secara signifikan meningkatkan panjang masukan, dan skenario semacam ini jarang ditemui dalam praktik. Pertimbangkan pelatihan dialog multi-putaran hanya jika pengenalan maksud satu putaran tidak memenuhi kebutuhan bisnis Anda. Solusi ini menggunakan contoh dialog satu putaran untuk menunjukkan prosesnya.
Gunakan PAI-iTAG untuk memberi label data
Sebagai alternatif, gunakan platform PAI-iTAG untuk memberi label data dan menghasilkan set data pelatihan dalam format yang diperlukan.
-
Daftarkan data yang akan diberi label di iTAG sebagai dataset PAI.
-
Siapkan file data dalam format manifes sesuai dengan strategi persiapan data. Berikut adalah contohnya.
{"data":{"instruction": "I want to listen to music"}} {"data":{"instruction": "It's too loud, turn the volume down"}} {"data":{"instruction": "I don't want to listen anymore, turn it off"}} {"data":{"instruction": "I want to travel to Hangzhou, help me check the weather forecast"}} -
Buka halaman Manajemen Aset AI > Dataset, pilih ruang kerja target, lalu klik Go to Dataset.
-
Klik Create Dataset dan konfigurasikan parameter utama berikut. Untuk detail parameter lainnya, lihat Buat dan kelola dataset.
Parameter
Deskripsi
Storage Type
Pilih Alibaba Cloud Object Storage Service (OSS).
Import Format
Pilih File.
OSS Path
Pilih direktori OSS yang sudah ada dan unggah file manifes yang telah disiapkan dengan mengikuti langkah-langkah berikut:
-
Klik ikon
. Di kotak dialog Select OSS file, klik Upload File. -
Klik Browse Local Files atau Drag and Drop File to Upload, lalu unggah file manifes sesuai petunjuk.
-
-
-
Buka halaman Persiapan Data > iTAG, klik Go to Management Page, lalu beralih ke tab Template Management.
-
Klik Create Template, pilih Custom Template > Basic Templates, lalu klik Edit. Setelah mengonfigurasi parameter, klik Save Template Name. Tabel berikut menjelaskan konfigurasi utama. Untuk informasi selengkapnya tentang konfigurasi lainnya, lihat manajemen templat.
Konfigurasi
Deskripsi
Area kanvas templat dasar
-
Pilih Text lalu klik Generate Content Card.
-
Klik area teks. Di kotak dialog Import Dataset, pilih dataset yang sudah ada. Kemudian, di area Basic Template Configuration di sebelah kanan, pilih Dataset Field Name > instruction.
Area jawaban templat dasar
Pilih Input Field lalu klik Generate Title Card. Kemudian, ubah Title menjadi output.
-
-
Di panel navigasi sebelah kiri, pilih . Di tab Task Management, klik Create Task. Di halaman Create Annotation Task, konfigurasikan parameter lalu klik Create. Tabel berikut menjelaskan parameter utama. Untuk detail parameter lainnya, lihat Buat tugas pelabelan.
Parameter
Deskripsi
Input data set
Pilih dataset yang Anda buat pada langkah sebelumnya.
CatatanPastikan data masukan sesuai dengan templat yang Anda gunakan.
Template Type
Pilih Custom Template lalu pilih templat yang Anda buat dari daftar drop-down.
-
Setelah tugas dibuat, mulailah memberi label pada data. Untuk informasi selengkapnya, lihat Proses tugas pelabelan.
-
Setelah selesai memberi label pada data, ekspor hasilnya ke direktori OSS. Untuk informasi selengkapnya, lihat Ekspor data berlabel.
File manifes output akan mirip dengan contoh berikut. Untuk informasi selengkapnya tentang format data, lihat Ikhtisar format data berlabel.
{"data":{"instruction":"I want to listen to music","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554911772672","MarkTitle":"Basic Template","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":"Wed Jul 23 10:03:05 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554911772672","MarkTitle":"Basic Template","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":"Wed Jul 23 10:03:05 CST 2025","UserMarkResultId":"1947839763671740416","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} {"data":{"instruction":"It's too loud, turn the volume down","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554891464704","MarkTitle":"Basic Template","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":"Wed Jul 23 10:03:19 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554891464704","MarkTitle":"Basic Template","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":"Wed Jul 23 10:03:19 CST 2025","UserMarkResultId":"1947839868520656896","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} {"data":{"instruction":"I don't want to listen anymore, turn it off","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554992373760","MarkTitle":"Basic Template","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":"Wed Jul 23 10:03:32 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554992373760","MarkTitle":"Basic Template","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":"Wed Jul 23 10:03:32 CST 2025","UserMarkResultId":"1947839936657285120","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} {"data":{"instruction":"I want to travel to Hangzhou, help me check the weather forecast","_itag_index":""},"label-1947839552568066048-system":{"fixedFlag":0,"results":[{"MarkResultId":"1947839554971426816","MarkTitle":"Basic Template","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"weather_search(China (Hangzhou))\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236218730","MarkTime":"Wed Jul 23 10:03:39 CST 2025","UserMarkResultId":null,"IsNeedVoteJudge":false}],"abandonFlag":0},"label-1947839552568066048":{"results":[{"MarkResultId":"1947839554971426816","MarkTitle":"Basic Template","MarkResult":"{\"tabId\":\"CommonExtensions\",\"annotations\":[{\"id\":null,\"labels\":{\"output\":\"weather_search(China (Hangzhou))\"},\"exif\":null}],\"type\":\"CommonExtensions\",\"version\":\"v2\"}","QuestionId":"CommonExtensions","ResultType":"OPEN_GROUP","Progress":null,"Version":"1753236218730","MarkTime":"Wed Jul 23 10:03:39 CST 2025","UserMarkResultId":"1947839975890939904","IsNeedVoteJudge":false}]},"abandonFlag":0,"abandonRemark":null} -
Di terminal, jalankan skrip Python berikut untuk mengonversi file manifes data berlabel ke format data pelatihan yang diperlukan untuk QuickStart.
import json # Input and output file paths 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: # Parse the JSON data from each line data = json.loads(line) # Extract the instruction instruction = data['data']['instruction'] # Iterate through all keys that start with "label-" for key in data.keys(): if key.startswith('label-'): # Extract MarkResult and parse its content mark_result_str = data[key]['results'][0]['MarkResult'] mark_result = json.loads(mark_result_str) # Parse the MarkResult string as JSON # Extract labels["output"] from annotations output = mark_result['annotations'][0]['labels']['output'] # Construct the new data structure converted_data.append({ 'instruction': instruction, 'output': output }) break except Exception as e: print(f"Error processing line: {line.strip()}. Error: {e}") # Write the converted data to the output file with open(output_file_path, 'w', encoding='utf-8') as outfile: json.dump(converted_data, outfile, ensure_ascii=False, indent=4) print(f"Conversion completed. Output saved to {output_file_path}")
Lakukan pelatihan dan evaluasi model
Lakukan pelatihan model
QuickStart menyediakan model pra-latih unggulan dari komunitas AI open-source. Fitur ini memungkinkan Anda mengelola seluruh alur kerja pengembangan model—mulai dari pelatihan, penerapan, hingga inferensi—tanpa perlu menulis kode apa pun.
Panduan ini menggunakan model Qwen1.5-1.8B-Chat sebagai contoh untuk menunjukkan cara melatih model di QuickStart dengan data pelatihan Anda. Langkah-langkahnya sebagai berikut:
-
Buka halaman Model Gallery.
-
Login ke Konsol PAI.
-
Di pojok kiri atas, pilih wilayah.
-
Di panel navigasi sebelah kiri, pilih Workspaces. Klik ruang kerja target.
-
Di panel navigasi sebelah kiri, pilih QuickStart > Model Gallery.
-
-
Di halaman QuickStart, temukan dan klik kartu model Qwen1.5-1.8B-Chat di daftar model sebelah kanan.
-
Di halaman detail model, klik Train di pojok kanan atas. Di panel konfigurasi Train, konfigurasikan parameter utama berikut dan biarkan sisanya tetap pada nilai default.
Parameter
Deskripsi
Training Mode
-
full-parameter fine-tuning: Metode ini membutuhkan banyak sumber daya dan waktu, tetapi umumnya menghasilkan performa lebih baik.
CatatanModel dengan jumlah parameter lebih sedikit mendukung full-parameter fine-tuning. Pilih metode ini berdasarkan kebutuhan spesifik Anda.
-
QLoRA: Metode fine-tuning ringan yang memerlukan lebih sedikit sumber daya dan waktu pelatihan dibandingkan full-parameter fine-tuning, meskipun hasilnya mungkin kurang optimal.
-
LoRA: Mirip dengan QLoRA, ini adalah metode fine-tuning ringan.
Dataset configuration
Training dataset
Ikuti langkah-langkah berikut untuk memilih set data pelatihan Anda.
-
Dari daftar drop-down, pilih OSS file or directory.
-
Klik ikon Browse
untuk memilih direktori OSS Anda. -
Di kotak dialog Select OSS File, klik Upload File, seret dan lepas file set data pelatihan Anda, lalu klik OK.
Output Configuration
Model output path
Pilih direktori OSS untuk menyimpan file konfigurasi dan model yang dihasilkan oleh pekerjaan pelatihan.
Tensorboard Output Path
Hyperparameter Configuration
Untuk deskripsi lengkap semua hiperparameter, lihat Tabel 1. Referensi hiperparameter.
Gunakan strategi berikut untuk mengonfigurasi hiperparameter. Untuk pengaturan hiperparameter utama yang direkomendasikan untuk berbagai metode pelatihan, lihat Tabel 2. Konfigurasi hiperparameter yang direkomendasikan.
-
Pastikan Anda mengonfigurasi hiperparameter berdasarkan metode pelatihan yang dipilih.
-
global batch size = Number of GPUs * per_device_train_batch_size * gradient_accumulation_steps-
Untuk memaksimalkan performa pelatihan, prioritaskan peningkatan jumlah GPU dan
per_device_train_batch_size. -
Umumnya, atur global batch size ke nilai antara 64 dan 256. Jika set data pelatihan Anda sangat kecil, Anda dapat menggunakan nilai yang lebih rendah.
-
-
Panjang sekuens (
seq_length) dapat disesuaikan berdasarkan skenario spesifik Anda. Misalnya, jika panjang sekuens maksimum dalam set data Anda adalah 50, Anda dapat mengatur panjang sekuens menjadi 64, yang biasanya merupakan pangkat dari 2. -
Jika loss pelatihan menurun terlalu lambat atau tidak konvergen, pertimbangkan untuk meningkatkan tingkat pembelajaran (
learning_rate). Pastikan juga kualitas data pelatihan Anda.
-
-
Klik Fine-tune, lalu klik OK di kotak dialog Billing Notification.
Anda akan diarahkan secara otomatis ke halaman detail pekerjaan pelatihan. Setelah pekerjaan dibuat, statusnya berubah menjadi Running. Halaman ini menampilkan progres pekerjaan melalui beberapa tahap: Creating, Preparing Environment, dan Running. Informasi dasar yang ditampilkan mencakup model pra-latih qwen1.5-1.8b-chat, metode pelatihan SFT supervised fine-tuning: LoRA, dan kategori pekerjaan Generative AI / large language model. Anda dapat melihat detail seperti jalur masukan, jalur keluaran, dan konfigurasi hiperparameter di tab Task Details, Task Log, dan Task Monitoring.
Evaluasi model
Setelah pelatihan selesai, Anda dapat mengevaluasi performa model dengan menjalankan skrip Python di terminal.
-
Siapkan file data evaluasi bernama
testdata.json. Berikut adalah contohnya:[ { "instruction": "Who sings the song 'Ten Years'?", "output": "music_query_player(Ten Years)" }, { "instruction": "What's the weather like in Hangzhou today?", "output": "weather_search(Hangzhou)" } ] -
Jalankan skrip Python berikut di terminal untuk mengevaluasi model secara offline.
#encoding=utf-8 from transformers import AutoModelForCausalLM, AutoTokenizer import json from tqdm import tqdm device = "cuda" # the device to load the model onto # Modify the model path 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 # Modify the training data path test_data = json.load(open('/mnt/workspace/data/testdata.json')) system_prompt = 'You are an expert in intent recognition. You can identify the user\'s intent from their question and return the corresponding function calling and parameters.' 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("Intent recognition accuracy:", count/len(test_data)) print("Parameter recognition accuracy:", ecount/len(test_data))CatatanJika eksekusi kode mengembalikan pesan
Using low_cpu_mem_usage=True or a device_map requires Accelerate: pip install accelerate, jalankanpip install accelerateuntuk menginstal dependensi yang diperlukan.
Terapkan dan panggil layanan model
Terapkan layanan model
Jika hasil evaluasi model memenuhi ekspektasi Anda, Anda dapat menerapkan model sebagai layanan online EAS.
-
Di halaman Task details, klik Deploy di pojok kanan atas. Sistem akan mengisi informasi dasar dan sumber daya secara otomatis. Untuk Deployment Method, pilih vLLM accelerated deployment. Anda dapat mengubah pengaturan ini sesuai kebutuhan. Setelah mengonfigurasi parameter, klik Deploy.
-
Di kotak dialog Billing Notification, klik OK.
Sistem akan mengarahkan Anda secara otomatis ke halaman tugas penerapan. Ketika Status berubah menjadi Running, penerapan berhasil.
Panggil layanan model
Contoh berikut menunjukkan cara memanggil API dari klien:
-
Dapatkan endpoint dan token.
-
Di halaman Service details, di bagian Basic Information, klik View Endpoint Information.
-
Di kotak dialog Invocation Information, temukan endpoint dan token, lalu simpan secara lokal.
-
-
Berikut adalah contoh kode untuk vLLM accelerated deployment. Jalankan kode ini di terminal untuk memanggil layanan.
from openai import OpenAI ##### API Configuration ##### openai_api_key = "<YOUR_EAS_SERVICE_TOKEN>" openai_api_base = "<YOUR_EAS_SERVICE_ENDPOINT>/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=[ { "role": "system", "content": [ { "type": "text", "text": "You are an expert in intent recognition. You can identify the user's intent based on their question and return the corresponding intent and parameters.", } ], }, { "role": "user", "content": [ { "type": "text", "text": "I want to listen to music", } ], } ], 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()Keterangan:
-
<YOUR_EAS_SERVICE_ENDPOINT>: Ganti dengan endpoint layanan Anda.
-
<YOUR_EAS_SERVICE_TOKEN>: Ganti dengan token layanan Anda.
-
Dokumen terkait
-
Pelajari tentang alur kerja penggunaan dan persyaratan format anotasi data untuk Intelligent Tagging (iTAG).
-
Pelajari lebih lanjut tentang Elastic Algorithm Service (EAS).
-
Gunakan QuickStart untuk dengan mudah menerapkan dan fine-tuning berbagai model, termasuk Llama-3, Qwen1.5, dan Stable Diffusion V1.5. Untuk detailnya, lihat Kasus Penggunaan Model Gallery.