Setelah mengembangkan alur aplikasi, Anda dapat menerapkannya sebagai layanan Elastic Algorithm Service (EAS). EAS menyediakan fitur seperti skalabilitas otomatis dan Pemantauan Layanan yang komprehensif, membantu aplikasi beradaptasi dengan perubahan bisnis, meningkatkan stabilitas dan kinerja sistem, serta memenuhi kebutuhan lingkungan produksi.
Prasyarat
Anda telah membuat dan men-debug alur aplikasi. Untuk informasi selengkapnya, lihat Mengembangkan alur aplikasi.
Penerapan alur aplikasi
Buka LangStudio dan pilih ruang kerja. Pada tab Application Flow, klik alur aplikasi yang telah Anda debug, lalu klik Deploy di pojok kanan atas. Anda hanya dapat menerapkan alur aplikasi jika waktu proses telah dimulai. Tabel berikut menjelaskan parameter utama.

Parameter | Deskripsi |
Penerapan Sumber Daya | |
Resource type | Pilih kelompok sumber daya publik atau kelompok sumber daya khusus yang telah Anda buat. |
Instances | Konfigurasikan jumlah instans layanan. Dalam lingkungan produksi, konfigurasikan beberapa instans layanan untuk mengurangi risiko single point of failure. |
Deployment resources | Jika Anda hanya menggunakan alur aplikasi untuk penjadwalan alur bisnis, pilih CPU resources yang sesuai berdasarkan kompleksitas alur bisnis tersebut. Dibandingkan dengan GPU resources, CPU resources biasanya lebih hemat biaya. Setelah penerapan, Anda akan dikenai biaya resource untuk EAS. Untuk informasi selengkapnya tentang penagihan, lihat Penagihan Elastic Algorithm Service (EAS). |
Virtual Private Cloud (VPC): Alur aplikasi diterapkan sebagai layanan EAS. Untuk memastikan klien dapat mengakses layanan EAS online setelah penerapan, pilih VPC untuk menghubungkan klien ke layanan tersebut. Perlu diperhatikan bahwa layanan EAS tidak dapat mengakses jaringan publik secara default. Jika layanan EAS Anda perlu mengakses jaringan publik, konfigurasikan VPC dengan kemampuan akses jaringan publik. Untuk informasi selengkapnya, lihat Mengakses resource publik atau privat dari EAS. Catatan Jika alur aplikasi mencakup koneksi database vektor, seperti Milvus, pastikan VPC yang dikonfigurasi sama dengan VPC tempat instans database vektor berada, atau pastikan kedua jaringan saling terhubung. | |
Riwayat chat | |
Enable chat history | Parameter ini hanya berlaku untuk alur aplikasi berbasis chat. Saat diaktifkan, layanan dapat menyimpan dan mentransmisikan riwayat percakapan multi-putaran. Fitur ini harus digunakan bersama parameter header permintaan layanan. |
Chat history storage | Penyimpanan lokal tidak mendukung penerapan multi-instans. Jika Anda menerapkan layanan untuk penggunaan produksi, gunakan penyimpanan eksternal, seperti ApsaraDB RDS. Untuk informasi selengkapnya, lihat Lampiran: Riwayat chat. Penting Jika Anda menggunakan penyimpanan lokal, penerapan multi-instans tidak didukung. Penskalaan dari satu instans ke beberapa instans juga tidak didukung. Jika tidak, fitur riwayat chat mungkin tidak berfungsi dengan benar. |
Analisis Tracing: Saat diaktifkan, Anda dapat melihat detail jejak setelah layanan diterapkan untuk mengevaluasi kinerja alur aplikasi. | |
Peran dan izin: Dalam alur aplikasi, jika Anda menggunakan database vektor Faiss (Anda harus memilih database vektor Faiss atau Milvus untuk Manajemen basis pengetahuan) atau komponen "Alibaba Cloud IQS-Standard Search" (digunakan oleh templat IQS Web Search Chat Assistant), pilih peran sesuai kebutuhan. | |
Untuk informasi selengkapnya tentang pengaturan parameter, lihat Penerapan kustom.
Debugging online
Panggil layanan
Debugging online
Setelah layanan berhasil diterapkan, Anda akan diarahkan ke Konsol PAI-EAS. Pada tab Online Debugging, Anda dapat mengonfigurasi dan mengirim permintaan. Kunci dalam badan permintaan harus sama dengan nilai parameter "Conversation Input" pada node Start alur aplikasi. Topik ini menggunakan bidang default question.

Panggilan API
Pada tab Overview, peroleh titik akhir dan token layanan.

Kirim permintaan API.
Anda dapat memanggil layanan dalam mode dasar atau mode lengkap. Tabel berikut menjelaskan perbedaannya.
Properti
Mode dasar
Mode lengkap
Request path
<Endpoint>/<Endpoint>/runDescription
Secara langsung mengembalikan output alur aplikasi.
Mengembalikan struktur kompleks yang mencakup status node, pesan error, dan pesan output dari alur aplikasi.
Skenario
Anda hanya memerlukan output akhir alur aplikasi dan tidak peduli dengan pemrosesan internal atau statusnya.
Cocok untuk kueri atau operasi sederhana untuk memperoleh hasil dengan cepat.
Anda perlu memahami proses eksekusi alur aplikasi secara rinci, termasuk status setiap node dan pesan error yang mungkin muncul.
Cocok untuk debugging, pemantauan, atau analisis eksekusi alur aplikasi.
Keunggulan
Mudah digunakan. Anda tidak perlu mengurai struktur kompleks.
Memberikan informasi komprehensif untuk membantu Anda memahami proses eksekusi alur aplikasi secara mendalam.
Membantu pemecahan masalah dan optimalisasi kinerja alur aplikasi.
Mode dasar
Mode lengkap
LangStudio mendukung Server-Sent Events (SSE). Saat Anda mengirim permintaan, layanan dapat mengeluarkan status setiap node, pesan error, dan pesan output selama eksekusi alur aplikasi. Anda juga dapat menyesuaikan konten
node_run_infosdalam event. Bagian ini menggunakan debugging online sebagai contoh. Anda harus menambahkan/runke titik akhir, lalu mengedit badan permintaan:
Tabel berikut menjelaskan bidang dalam badan permintaan.
Bidang
Tipe
Nilai default
Deskripsi
inputs
Mapping[str, Any]
None
Kamus data input untuk alur. Kuncinya harus sesuai dengan nama bidang input yang ditentukan dalam alur. Jika alur tidak memiliki input, abaikan bidang ini.
stream
bool
True
Mengontrol format respons. Nilai yang valid:
True: Merespons dengan stream SSE. Content-Type dalam header respons adalah
text/event-stream. Data dikembalikan dalam format DataOnly dan dibagi menjadi event yang berbeda: RunStarted, NodeUpdated, RunOutput, dan RunTerminated. Untuk informasi selengkapnya, lihat bagian berikut.False: Merespons dengan satu objek JSON. Content-Type dalam header respons adalah
application/json. Untuk informasi selengkapnya, lihat respons di Debugging online.
response_config
Dict[str, Any]
-
Mengontrol detail node yang disertakan dalam respons streaming saat stream diatur ke True.
∟ include_node_description
bool
False
(Dalam response_config) Menentukan apakah deskripsi node disertakan dalam stream event SSE.
∟ include_node_display_name
bool
False
(Dalam response_config) Menentukan apakah nama tampilan node disertakan dalam stream event SSE.
∟ include_node_output
bool
False
(Dalam response_config) Menentukan apakah output node disertakan dalam stream event SSE.
∟ exclude_nodes
List[str]
[]
(Dalam response_config) Daftar nama node yang dikecualikan dari stream event SSE.
Data yang dikembalikan dibagi menjadi event yang berbeda: RunStarted, NodeUpdated, RunOutput, dan RunTerminated.
Panggilan kompatibel OpenAI
Alur aplikasi chat yang diterapkan, atau ChatFlow, mendukung panggilan kompatibel OpenAI. Layanan ini juga dapat digunakan oleh klien lain yang mendukung OpenAI.
Menggunakan API OpenAI
Bagian ini memberikan contoh panggilan streaming menggunakan perintah cURL. Berikut adalah contoh permintaan dan respons:
Contoh permintaan:
curl --location '<Endpoint>/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "default",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
],
"stream":true
}'Tabel berikut menjelaskan parameter permintaan.
Parameter | Deskripsi |
--location '<Endpoint>/v1/chat/completions' | URL tujuan permintaan. Ganti |
--header "Authorization: Bearer $DASHSCOPE_API_KEY" | Header permintaan. Ganti |
"model": "default" | Nama model. Nilainya tetap |
"stream":true | Menentukan apakah respons berupa stream. Catatan: Panggilan streaming hanya didukung ketika node LLM merupakan node output alur aplikasi. Input langsung ke node akhir harus merupakan node LLM. |
Contoh respons:
data: {"choices":[{"delta":{"content":"","role":"assistant"},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"finish_reason":null,"delta":{"content":"I am"},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":"a large"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":"language model"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":"created by Alibaba Cloud"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":". I am called Qwen."},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: {"choices":[{"delta":{"content":""},"finish_reason":"stop","index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1715931028,"system_fingerprint":null,"model":"qwen-plus","id":"chatcmpl-3bb05cf5cd819fbca5f0b8d67a025022"}
data: [DONE]Integrasi dengan aplikasi klien lain
Bagian ini menggunakan aplikasi ChatBox v1.13.4 pada platform Windows sebagai contoh.
Unduh dan instal Chatbox.
Buka ChatBox dan konfigurasikan Model Provider Name, seperti LangStudio.

Pilih penyedia model yang telah dikonfigurasi dan atur parameter permintaan layanan.

Tabel berikut menjelaskan parameter utama.
Parameter
Deskripsi
API Mode
Nilainya tetap
OpenAI API Compatible.API Key
Token layanan LangStudio yang diterapkan. Untuk informasi selengkapnya tentang cara memperoleh token, lihat Langkah 1 panggilan API.
API Host
Titik akhir layanan LangStudio yang diterapkan. Untuk informasi selengkapnya tentang cara memperoleh titik akhir, lihat Langkah 1 panggilan API. Tambahkan sufiks
/v1di akhir titik akhir. Topik ini menggunakan titik akhir Internet sebagai contoh. API host diatur kehttp://langstudio-20250319153409-xdcp.115770327099****.cn-hangzhou.pai-eas.aliyuncs.com/v1.API Path
Nilainya tetap
/chat/completions.Model
Klik New dan masukkan model ID kustom, seperti qwen3-8b.
Panggil layanan LangStudio yang diterapkan di kotak dialog chat.

Tampilkan jejak
Setelah Anda memanggil layanan, jejak akan dibuat secara otomatis. Pada tab Tracing Analysis, temukan jejak yang ingin Anda tampilkan dan klik View Trace di kolom Actions untuk mengevaluasi kinerja alur aplikasi.

Data jejak memungkinkan Anda melihat input dan output setiap node dalam alur aplikasi, seperti hasil pengambilan dari database vektor atau input dan output node LLM.
Lampiran: Riwayat chat
Untuk alur aplikasi berbasis chat, LangStudio menyediakan fitur untuk menyimpan riwayat percakapan multi-putaran. Anda dapat menggunakan penyimpanan lokal atau penyimpanan eksternal untuk menyimpan riwayat chat.
Jenis penyimpanan
Penyimpanan lokal: Layanan menggunakan disk lokal untuk secara otomatis membuat database SQLite bernama chat_history.db pada instans EAS tempat alur aplikasi diterapkan. Database ini menyimpan riwayat chat. Jalur penyimpanan default adalah
/langstudio/flow/. Catatan: Penyimpanan lokal tidak mendukung penerapan multi-instans. Anda harus memeriksa penggunaan disk lokal secara berkala. Anda juga dapat menggunakan Operasi API yang disediakan untuk mengkueri dan menghapus data riwayat chat. Jika instans EAS dihapus, riwayat chat terkait juga akan dihapus.Penyimpanan eksternal: Didukung ApsaraDB RDS untuk MySQL. Saat menerapkan layanan, Anda harus mengonfigurasi koneksi ke instans ApsaraDB RDS untuk MySQL untuk menyimpan riwayat chat. Untuk informasi selengkapnya tentang konfigurasi, lihat Konfigurasi koneksi database. Layanan secara otomatis membuat tabel dengan nama layanan sebagai sufiks dalam database ApsaraDB RDS untuk MySQL yang dikonfigurasi. Misalnya, tabel
langstudio_chat_session_<service_name>menyimpan sesi chat, dan tabellangstudio_chat_history_<service_name>menyimpan pesan riwayat chat.
Dukungan sesi dan pengguna
Setiap permintaan chat ke layanan alur aplikasi bersifat tanpa status. Jika Anda ingin beberapa permintaan diperlakukan sebagai percakapan yang sama, Anda harus mengonfigurasi header permintaan secara manual. Untuk informasi selengkapnya tentang cara melakukan panggilan API, lihat Panggilan API.
Header permintaan | Tipe data | Deskripsi | Catatan |
Chat-Session-Id | String | ID sesi. Untuk setiap permintaan layanan, sistem secara otomatis menetapkan pengidentifikasi unik untuk sesi guna membedakannya dari sesi lain. ID dikembalikan dalam bidang | Anda dapat menggunakan ID sesi kustom. Untuk memastikan keunikan, ID sesi harus terdiri dari 32 hingga 255 karakter dan dapat berisi huruf besar, huruf kecil, angka, garis bawah (_), tanda hubung (-), dan titik dua (:). |
Chat-User-Id | String | ID pengguna. Mengidentifikasi pengguna yang memiliki chat tersebut. Sistem tidak secara otomatis menetapkan ID pengguna. Anda dapat menggunakan ID pengguna kustom. | - |
API riwayat chat
Layanan alur aplikasi juga menyediakan Operasi API untuk mengelola data riwayat chat. Anda dapat menggunakan Operasi API ini untuk melihat dan menghapus data. Untuk memperoleh skema API lengkap, kirim permintaan GET ke {Endpoint}/openapi.json. Skema ini berbasis standar Swagger. Untuk memahami dan mengeksplorasi Operasi API ini dengan lebih baik, Anda dapat menggunakan Swagger UI untuk visualisasi. Hal ini menyederhanakan operasi dan meningkatkan kejelasan.