LangStudio adalah lingkungan pengembangan terintegrasi (IDE) yang intuitif dan efisien untuk membangun, men-debug, serta mengoptimalkan alur aplikasi yang menggabungkan large language models (LLMs), node Python, dan alat lainnya.
Mulai
Langkah 1: Buat alur aplikasi percakapan
Buka LangStudio. Pilih ruang kerja, lalu pada tab Application Flows, klik Create Application Flow.
Untuk Creation Method, pilih Create By Type > Conversational, lalu konfigurasikan parameter berikut.
Name: Masukkan nama untuk alur aplikasi. Sistem secara otomatis menghasilkan nama yang dapat Anda sesuaikan.
Select Runtime: Runtime digunakan untuk mengembangkan dan men-debug alur aplikasi. Anda akan membuat dan menyambungkan runtime pada Langkah 3.
Working Path: Kami menyarankan Anda memilih jalur penyimpanan default untuk ruang kerja.
CatatanJika Anda memilih runtime, working path-nya akan dimuat secara otomatis.
Klik OK. Alur aplikasi sederhana telah dibuat, yang terdiri dari node Start, node LLM, dan node End.
Untuk informasi selengkapnya tentang metode pembuatan, lihat Metode pembuatan.
Langkah 2: Konfigurasikan node
Setelah alur dibuat, antarmuka pengembangan akan muncul. Di kanvas, Anda dapat menambah, menghapus, dan mengonfigurasi node.
Klik node LLM yang baru. Area Node Configuration akan muncul di sebelah kanan.
Pada bagian Model Settings, pilih Connection layanan model. Dalam contoh ini, koneksi layanan Alibaba Cloud Model Studio yang telah dikonfigurasi sebelumnya dipilih.
CatatanConnections menyimpan dan mengelola kredensial yang diperlukan untuk mengakses layanan eksternal, seperti API LLM, secara aman. Jika Anda belum mengonfigurasi koneksi, buat satu terlebih dahulu. Untuk informasi selengkapnya, lihat Konfigurasi koneksi.
Anda dapat menambahkan node lain untuk skenario yang kompleks. Untuk informasi selengkapnya tentang node, lihat Komponen bawaan.
Langkah 3: Debug alur aplikasi
Tujuan langkah ini adalah menyiapkan lingkungan komputasi dan menjalankan alur aplikasi untuk memverifikasi output-nya.
Sambungkan runtime baru ke alur aplikasi.
Di sebelah nama alur aplikasi, pilih runtime. Jika tidak ada opsi yang tersedia, klik New Runtime.
Pada kotak dialog pembuatan yang muncul, masukkan Runtime Name. Runtime Working Path akan diisi otomatis dengan working path alur aplikasi. Pertahankan nilai default untuk parameter lainnya, lalu klik OK.
PentingRuntime mulai dikenai biaya segera setelah dijalankan. Setelah selesai men-debug, buka halaman Runtimes untuk menghentikan atau menghapus instans runtime guna menghindari biaya yang tidak perlu. Untuk informasi selengkapnya tentang runtime, lihat Kelola runtime.
Setelah runtime dimulai, klik Run di pojok kanan atas. Masukkan input percakapan Anda dan kirim.
Lihat jejak atau log error. Klik View Trace atau View Log di bawah jawaban yang dihasilkan untuk melihat jejak (yang mencakup Detail Jejak dan Tampilan Topologi) atau log runtime.

Metode pembuatan
Create from Template: Menyediakan templat aplikasi untuk berbagai skenario guna membantu Anda membangun aplikasi AI dengan cepat.
Create by Type:
Standard: Cocok untuk pengembangan aplikasi tujuan umum. Anda dapat menggunakan LLM, kode Python kustom, dan lainnya untuk membangun alur aplikasi kustom Anda.
Conversational: Cocok untuk pengembangan aplikasi percakapan. Jenis ini dibangun di atas tipe standar dan menyediakan manajemen riwayat percakapan, input, dan output, serta antarmuka pengujian bergaya kotak dialog.
Import from OSS: Anda dapat mengimpor alur aplikasi dengan memilih paket ZIP-nya atau dengan menentukan jalurnya di OSS. Jalur ini harus langsung berisi file flow.dag.yaml dan file kode lainnya untuk alur aplikasi tersebut.
Anda dapat mengekspor alur aplikasi dengan mengklik Export di kolom Operations daftar alur aplikasi di LangStudio. Anda kemudian dapat membagikan alur yang diekspor kepada orang lain untuk diimpor.
Setelah Anda mengonversi file Dify DSL ke format alur aplikasi LangStudio, Anda dapat mengimpornya menggunakan metode ini.
Konfigurasi variabel lingkungan
Di LangStudio, Anda dapat menambahkan variabel lingkungan yang diperlukan untuk alur aplikasi saat runtime. Variabel ini dimuat secara otomatis oleh sistem sebelum alur aplikasi dijalankan dan dapat digunakan oleh node Python, pemanggilan alat, atau logika kustom.
Skenario
Kelola informasi sensitif: Simpan kunci API, token autentikasi, dan informasi sensitif lainnya untuk menghindari hardcoding di dalam kode Anda.
Parameterisasi konfigurasi: Atur parameter runtime secara fleksibel, seperti alamat model dan periode timeout.
Konfigurasi dan penggunaan
Setelah membuka alur aplikasi, klik Global Configuration di pojok kanan atas konsol untuk menambahkan variabel lingkungan.

Di node Python, Anda dapat mengakses variabel lingkungan yang dikonfigurasi menggunakan
os.environstandar Python:import os # Contoh: Dapatkan kunci API api_key = os.environ["OPENAI_API_KEY"]
Komponen bawaan
Mulai
Sebuah alur aplikasi hanya dapat memiliki satu node Mulai.
Node Start menandai awal sebuah application flow dan digunakan untuk mengonfigurasi parameter input untuk alur tersebut.
Untuk alur aplikasi percakapan, sistem menyediakan dua bidang default: riwayat percakapan dan input percakapan. Anda dapat menambahkan variabel kustom sesuai kebutuhan. Anda dapat mendefinisikan variabel input bertipe File untuk menerima file yang diunggah pengguna. Untuk informasi selengkapnya, lihat Input dan output tipe file.

Saat menjalankan alur aplikasi, Anda dapat mengonfigurasi parameter input untuk sesi saat ini di panel percakapan.

LLM
Node LLM adalah komponen inti dari sebuah application flow yang memanggil LLM untuk menangani tugas bahasa alami. Node ini memberikan respons teks cerdas untuk menjawab pertanyaan atau memproses input bahasa alami yang kompleks. Node LLM juga menawarkan opsi konfigurasi fleksibel yang memungkinkan Anda menyesuaikan parameter model, mengelola riwayat percakapan, dan menyesuaikan prompt guna mengoptimalkan kualitas dan akurasi respons.
Skenario
Generasi teks: Hasilkan teks berdasarkan topik atau kata kunci.
Klasifikasi konten: Secara otomatis mengklasifikasikan jenis email, seperti permintaan informasi, keluhan, atau spam.
Transformasi teks: Menerjemahkan teks ke bahasa tertentu.
Retrieval-augmented generation (RAG): Jawab pertanyaan pengguna dengan menggabungkan pengetahuan yang diambil.
Antarmuka konfigurasi

Input
Model Settings: Anda dapat menggunakan layanan model yang diterapkan dari ModelGallery, penerapan kustom lainnya, atau model dari penyedia seperti Dashscope dan DeepSeek. Untuk performa lebih baik, pilih model yang lebih kuat. Parameter model berikut didukung:
Temperature: Parameter ini mengontrol keacakan output model dan biasanya diatur ke nilai antara 0 dan 1. Nilai yang lebih dekat ke 0 menghasilkan hasil yang lebih deterministik dan konsisten, sedangkan nilai yang lebih dekat ke 1 menghasilkan hasil yang lebih acak dan beragam.
Top P: Parameter ini mengontrol keragaman hasil. Model memilih dari kumpulan kata kandidat, memastikan bahwa probabilitas kumulatif kata-kata yang dipilih tidak melebihi ambang batas P yang ditetapkan.
Top K: Parameter ini membatasi jumlah kata kandidat yang dapat dipilih model saat menghasilkan hasil. Anda dapat mengatur nilai K, dan model hanya akan memilih dari K kata teratas dengan probabilitas tertinggi. Metode ini mengurangi keacakan dalam hasil yang dihasilkan dan membuat output lebih fokus pada kata-kata berprobabilitas tinggi. Dibandingkan dengan Top P, Top K secara langsung membatasi jumlah kata kandidat alih-alih mengandalkan probabilitas kumulatif.
Presence Penalty: Parameter ini mengurangi pengulangan entitas atau informasi yang sama oleh model. Dengan memberikan penalti pada konten yang telah dihasilkan, model cenderung menghasilkan konten baru atau berbeda. Nilai yang lebih tinggi meningkatkan penalti pada konten yang sebelumnya dihasilkan, sehingga mengurangi kemungkinan pengulangan.
Frequency Penalty: Parameter ini mengurangi probabilitas generasi kata atau frasa yang muncul terlalu sering. Nilai yang lebih tinggi memberikan penalti lebih besar pada kata atau frasa umum tersebut, sehingga mengurangi frekuensinya dan membantu meningkatkan keragaman leksikal teks.
Maximum Tokens: Parameter ini menetapkan panjang maksimum output yang dapat dihasilkan model dalam satu kali jalan. Nilai yang lebih rendah dapat menghasilkan teks yang lebih pendek atau terpotong, sedangkan nilai yang lebih tinggi memungkinkan output yang lebih panjang. Ini membantu mengontrol skala dan kompleksitas konten yang dihasilkan serta memastikan hasil memenuhi persyaratan panjang yang diharapkan.
Seed: Saat nilai seed ditentukan, model mencoba melakukan pengambilan sampel deterministik. Artinya, permintaan berulang dengan seed dan parameter yang sama seharusnya menghasilkan hasil yang sama. Namun, determinisme penuh tidak dijamin. Kami menyarankan Anda merujuk pada parameter respons system_fingerprint untuk memantau potensi perubahan. Proksi mungkin diperlukan untuk akses.
Stop Sequences: Anda dapat menggunakan maksimal empat stop sequence untuk menginstruksikan model agar berhenti menghasilkan output. Saat model mendeteksi stop sequence, ia berhenti menghasilkan token lebih lanjut. Teks yang dikembalikan tidak menyertakan stop sequence tersebut.
Conversation History: Jika Anda mengaktifkan fitur ini, riwayat percakapan alur aplikasi akan secara otomatis dimasukkan ke dalam prompt.
Input Variables: Anda dapat menggunakan variabel untuk mereferensikan output dari semua node leluhur dari node saat ini.
Prompt: Anda dapat menyesuaikan konten prompt SYSTEM, USER, atau ASSISTANT. Prompt ini merupakan templat Jinja2 tempat Anda dapat mereferensikan variabel input menggunakan kurung kurawal ganda, seperti
{{variable}}.
Output
Secara default, node mengeluarkan data bertipe String. Anda juga dapat mengonfigurasi output menjadi tipe JSON jika diperlukan. Tipe JSON mendukung penambahan variabel output kustom. LLM menghasilkan output berdasarkan makna nama variabel tersebut.
Use Cases
Pengembangan Python (Python)
Alur aplikasi mendukung node dengan kode Python kustom untuk mengimplementasikan logika pemrosesan data kompleks dan input/output streaming. Antarmuka konfigurasi ditunjukkan di bawah ini:

Setelah Anda memasukkan kode Python, input dan output akan diurai secara otomatis dari kode tersebut. Perhatikan hal-hal berikut:
Fungsi entri harus memiliki dekorator
@toolagar dimuat sebagai node.CatatanJika node Python perlu mendukung input streaming, Anda harus mengonfigurasinya dengan
@tool(properties={"streaming_pass_through": True}). Jika tidak, input ke node Python, seperti dari LLM, akan berupa output teks lengkap alih-alih stream.Tipe input dan output yang didukung untuk fungsi adalah int, float, bool, str, dict, TypedDict, dataclass (hanya output), list, dan File.
Parameter input fungsi entri diurai secara dinamis sebagai input node. Output ditempatkan dalam kamus output dan dapat direferensikan oleh node lain.
PentingPenguraian otomatis parameter input dan output node Python bergantung pada runtime. Anda tidak dapat mengonfigurasi informasi input dan output untuk node jika runtime belum dijalankan.
Jika kode Python memerlukan dependensi, klik Install Dependencies di pojok kanan atas kanvas dan masukkan paket dependensi yang diperlukan. File requirements.txt kemudian disimpan bersama alur aplikasi. Saat runtime dijalankan atau layanan diterapkan, dependensi diinstal di lingkungan yang sesuai.


Kasus penggunaan 1: Masukkan kode berikut di area kode. Kode tersebut kemudian dipetakan ke input dan output node:
from langstudio.core import tool
from dataclasses import dataclass
@dataclass
class Result:
output1: str
output2: int
@tool
def invoke(foo: str, bar: int) -> Result:
return Result(
output1="hello" + foo,
output2=bar + 10
)

Kasus penggunaan 2: Input dan output streaming. Anda dapat menggunakan node Python untuk memotong stream teks yang dioutput dari node seperti LLM atau Agent. Stream ini berisi proses berpikir. Dengan membuang bagian <think>\n\n<think> dari konten, Anda dapat memperoleh stream output teks akhir. Kode contohnya sebagai berikut:
import re
from typing import Iterator
from langstudio.core import tool
@tool(properties={"streaming_pass_through": True})
def strip_think(
stream: Iterator[str],
) -> Iterator[str]: # Input adalah iterator string streaming, output adalah iterator string streaming yang telah difilter
# Cocokkan struktur <think>\n...\n</think> dan tangkap teks setelah tag penutup
pattern = re.compile(r"<think>\n[\s\S]*\n</think>(.*)")
in_thinking = True # Bendera untuk menunjukkan apakah saat ini berada di dalam blok <think>
think_buf = "" # Buffer untuk menyimpan konten yang belum diproses
for chunk in stream:
if in_thinking:
think_buf += chunk
m = pattern.search(think_buf) # Periksa apakah buffer berisi blok berpikir lengkap
if m:
in_thinking = False
result_part = m.groups()[0]
if result_part:
yield result_part # Jika teks hasil ada, keluarkan segera
else:
yield chunk # Sudah di luar blok berpikir, langsung keluarkan semua chunk berikutnya
Cabang Kondisional (Condition)
Node ini menyediakan kontrol alur dengan menerapkan logika if-else. Jika suatu kondisi terpenuhi, cabang yang sesuai akan dieksekusi. Jika tidak, else branch akan dieksekusi. Node ini harus digunakan bersama dengan node Variable Aggregate.
Antarmuka Konfigurasi

Input
Perhatikan poin-poin berikut saat mengonfigurasi kondisi cabang:
Setiap cabang merepresentasikan jalur eksekusi. Cabang terakhir adalah else branch, yang dieksekusi ketika tidak ada kondisi cabang lain yang terpenuhi. Else branch tidak dapat diedit.
Setiap cabang dapat berisi beberapa kondisi. Anda dapat menggunakan logika AND/OR untuk menggabungkan kondisi-kondisi tersebut.
Untuk memastikan kondisi akurat dan valid, pertimbangkan output dari node hulu, operator pencocokan (seperti
=,≠,is empty, dandoes not include), dan nilai pencocokan.
Output
Tidak ada output.
Kasus Penggunaan
Saat Anda menghubungkan node Condition ke node turunan, setiap cabang memiliki port koneksi yang sesuai pada komponen. Saat kondisi cabang dipicu, cabang tersebut mengeksekusi node turunan yang terhubung sementara cabang lain dilewati. Anda kemudian dapat menggunakan komponen Variable Aggregate untuk mengumpulkan hasil eksekusi dari setiap cabang kondisional, yaitu output dari node turunan.

Agregasi Variabel
Node ini mengintegrasikan output dari cabang berbeda. Node ini memastikan bahwa hasil dari cabang mana pun yang dieksekusi dapat direferensikan dan diakses melalui variabel terpadu. Ini berguna dalam skenario multi-cabang karena memetakan variabel dengan fungsi yang sama dari cabang berbeda ke satu variabel output, sehingga menghindari definisi berulang di node turunan.
Antarmuka Konfigurasi

Input
Saat mengonfigurasi grup variabel, perhatikan hal-hal berikut:
Node hulu biasanya adalah node Condition atau Pengenalan Maksud yang menghasilkan beberapa cabang eksekusi.
Variabel dalam grup yang sama harus bertipe sama. Nilai output non-kosong pertama adalah output grup tersebut.
Karena node Condition/Intent Recognition hanya memicu satu cabang, setiap grup hanya memiliki satu nilai non-kosong. Node Variable Aggregate dapat mengekstrak nilai ini untuk digunakan oleh node turunan.
Jika setiap cabang node Condition/Intent Recognition memiliki beberapa output yang diperlukan, Anda dapat menambahkan beberapa grup untuk mengekstrak nilai output yang sesuai secara terpisah.
Output
Variabel output disesuaikan secara dinamis berdasarkan grup yang ditambahkan. Jika ada beberapa grup, node mengeluarkan beberapa pasangan kunci-nilai. Kuncinya adalah nama grup, dan nilainya adalah nilai variabel non-kosong pertama dalam grup tersebut.
Kasus Penggunaan
Untuk informasi lebih lanjut, lihat casus penggunaan untuk komponen Condition.
Pengenalan Maksud
Node ini terutama digunakan untuk kontrol alur. Node ini menggunakan LLM untuk menganalisis maksud input pengguna dan mengeksekusi cabang yang sesuai berdasarkan maksud yang dikenali. Node ini mendukung konfigurasi multi-maksud dan riwayat percakapan.
Antarmuka Konfigurasi

Input
User Input: Pilih input pengguna untuk pengenalan maksud.
Multi-intent Configuration: Konfigurasikan maksud yang diperlukan. Pastikan deskripsi setiap maksud jelas dan tidak tumpang tindih secara semantik antar maksud berbeda. Maksud terakhir adalah "Other Intent" secara default. Maksud ini dipicu ketika tidak ada maksud terkonfigurasi lain yang cocok dan tidak dapat diedit.
Model Settings: Konfigurasikan LLM untuk pengenalan maksud. Untuk performa lebih baik, pilih model yang lebih kuat, seperti qwen-max.
Conversation History: Jika Anda mengaktifkan fitur ini, riwayat percakapan alur aplikasi akan secara otomatis dimasukkan ke dalam prompt selama inferensi model.
Additional Prompt: Konten yang Anda masukkan ditambahkan ke prompt sistem untuk membantu model meningkatkan pengenalan maksud.
Output
Tidak ada output.
Casus Penggunaan
Saat Anda menghubungkan komponen Intent Recognition ke node turunan, setiap cabang maksud memiliki port koneksi yang sesuai pada komponen. Saat maksud dikenali, cabang yang sesuai mengeksekusi node turunan yang terhubung, sementara node cabang lain dilewati. Setelah itu, Anda dapat menggunakan komponen Variable Aggregate untuk mengumpulkan hasil eksekusi setiap cabang kondisional (yaitu output dari node turunan).

Index Lookup
Node Retrieve from the knowledge base mengambil teks dari basis pengetahuan yang relevan dengan pertanyaan pengguna untuk memberikan konteks bagi node LLM hilir.
Antarmuka Konfigurasi

Input
Knowledge Base Index Name: Pilih basis pengetahuan yang terdaftar dan tersedia di LangStudio. Untuk informasi selengkapnya, lihat Manajemen basis pengetahuan.
Retrieval Keywords: Tentukan kata kunci yang digunakan untuk mengambil informasi dari basis pengetahuan. Input ini harus mereferensikan parameter output dari node hulu, dan parameter tersebut harus berupa string.
Top K: Menentukan jumlah hasil paling relevan yang diambil dari basis pengetahuan.
Output
Variabel output untuk pengambilan adalah `result`, yang bertipe `List[Dict]`. Kunci setiap kamus dalam daftar mencakup bidang berikut:
Kunci
Deskripsi
content
Konten fragmen dokumen yang diambil. Ini adalah cuplikan teks yang diekstraksi dari basis pengetahuan, biasanya terkait dengan kueri input.
score
Skor kesamaan antara fragmen dokumen dan kueri input, yang menunjukkan seberapa baik fragmen dokumen cocok dengan kueri. Skor yang lebih tinggi menunjukkan relevansi yang lebih kuat.
Contoh berikut menunjukkan output yang berisi catatan top_k dengan skor tertinggi:
[ { "score": 0.8057173490524292, "content": "Due to the uncertainty caused by the pandemic, XX Bank proactively\nincreased provisions for impairment losses on loans, advances, and non-credit assets based on economic trends and forecasts for China or the Chinese mainland, and accelerated\nthe write-off and disposal of non-performing assets to improve the provision coverage ratio. In 2020, it achieved a net profit\nof CNY 28.928 billion, a year-on-year increase of 2.6%, and its profitability gradually improved.\n(CNY in millions) 2020 2019 Change (%)\nOperating Results and Profitability\nOperating Income 153,542 137,958 11.3\nOperating Profit Before Impairment Losses 107,327 95,816 12.0\nNet Profit 28,928 28,195 2.6\nCost-to-Income Ratio(1)(%) 29.11 29.61 down 0.50\npercentage points\nReturn on Average Total Assets (%) 0.69 0.77 down 0.08\npercentage points\nWeighted Average Return on Equity (%) 9.58 11.30 down 1.72\npercentage points\nNet Interest Margin(2)(%) 2.53 2.62 down 0.09\npercentage points\nNote: (1) Cost-to-income ratio = Operating and administrative expenses / Operating income.", "id": "49f04c4cb1d48cbad130647bd0d75f***1cf07c4aeb7a5d9a1f3bda950a6b86e", "metadata": { "page_label": "40", "file_name": "2021-02-04_China_XX_Insurance_Group_Co_Ltd_XX_China_XX_2020_Annual_Report.pdf", "file_path": "oss://my-bucket-name/datasets/chatglm-fintech/2021-02-04_China_XX_Insurance_Group_Co_Ltd_601318_China_XX_2020_Annual_Report.pdf", "file_type": "application/pdf", "file_size": 7982999, "creation_date": "2024-10-10", "last_modified_date": "2024-10-10" } }, { "score": 0.7708036303520203, "content": "CNY 72 billion, a year-on-year increase of 5.2%.\n2020\n(CNY in millions) Life and\nHealth Insurance Business, Property and Casualty\nInsurance Business, Banking Business, Trust Business, Securities Business, Other Asset\nManagement Business, Technology Business, Other Business\nand Consolidation Elimination, Group Consolidated\nNet Profit Attributable to Shareholders of the Parent Company 95,018 16,083 16,766 2,476 2,959 5,737 7,936 (3,876) 143,099\nMinority Interest 1,054 76 12,162 3 143 974 1,567 281 16,260\nNet Profit (A) 96,072 16,159 28,928 2,479 3,102 6,711 9,503 (3,595) 159,359\nItems to be excluded:\n Short-term investment volatility(1)(B) 10,308 – – – – – – – 10,308\n Impact of changes in discount rate (C) (7,902) – – – – – – – (7,902)\n One-time significant items and others excluded by management\n as not belonging to daily operating income and expenditure (D) – – – – – – 1,282 – 1,282\nOperating Profit (E=A-B-C-D) 93,666 16,159 28,928 2,479 3,102 6,711 8,221 (3,595) 155,670\nOperating Profit Attributable to Shareholders of the Parent Company 92,672 16,", "id": "8066c16048bd722d030a85ee8b1***36d5f31624b28f1c0c15943855c5ae5c9f", "metadata": { "page_label": "19", "file_name": "2021-02-04_China_XX_Insurance_Group_Co_Ltd_XXX_China_XX_2020_Annual_Report.pdf", "file_path": "oss://my-bucket-name/datasets/chatglm-fintech/2021-02-04_China_XX_Insurance_Group_Co_Ltd_601318_China_XX_2020_Annual_Report.pdf", "file_type": "application/pdf", "file_size": 7982999, "creation_date": "2024-10-10", "last_modified_date": "2024-10-10" } } ]Kasus Penggunaan
Agent
Node Agent adalah komponen dalam alur aplikasi LangStudio yang berbasis agen otonom. Node ini mendukung penalaran dan penggunaan alat. Dengan mengintegrasikan strategi penalaran berbeda, seperti FunctionCalling dan ReAct, node ini dapat secara otonom memanggil alat Model Context Protocol (MCP). Hal ini memungkinkan LLM untuk secara dinamis memilih dan mengeksekusi alat saat runtime guna melakukan penalaran multi-langkah otonom.
Antarmuka Konfigurasi

Input
Agent Strategy: Pilih strategi penalaran agen. Strategi yang didukung adalah FunctionCalling dan ReAct.
FunctionCalling
Strategi ini didasarkan pada definisi
tool callterstruktur (format JSON) dalam OpenAI Chat API dan memungkinkan interaksi antara LLM dan alat eksternal. Berdasarkan instruksi bahasa alami pengguna, LLM secara otomatis mengenali maksud, memilih alat yang sesuai, dan mengekstraksi parameter. Sistem kemudian memanggil alat yang sesuai dan mengembalikan hasil ke model, yang melanjutkan penalaran untuk menghasilkan jawaban akhir.Skenario dan keunggulan:
Pemanggilan terstruktur dan kompatibilitas kuat: Strategi ini menggunakan data terstruktur untuk mendefinisikan dengan jelas nama alat dan parameter pemanggilan, sehingga kompatibel dengan semua model yang mendukung pemanggilan alat.
Kinerja stabil: Cocok untuk tugas dengan tujuan dan langkah-langkah yang jelas, seperti memeriksa cuaca, mencari informasi, atau menanyakan data.
ReAct
Strategi ReAct (Reasoning + Acting) adalah metode penalaran yang lebih fleksibel. Strategi ini memandu model untuk secara eksplisit menghasilkan Thoughts dan Actions melalui prompt, yang menciptakan loop tertutup penalaran multi-langkah dan pemanggilan alat. Strategi ini biasanya menggunakan bahasa alami untuk menggambarkan proses pemanggilan, yang memicu eksekusi alat backend dengan mengeluarkan teks seperti "Action=xxx, Action Input=xxx". Hasilnya kemudian disuntikkan kembali ke rantai penalaran model. Strategi ini tidak memerlukan
tool_callstingkat API dan cocok untuk model dan framework tujuan umum.Skenario dan keunggulan:
Kemampuan penalaran lebih kuat: Strategi ini memandu model untuk berpikir langkah demi langkah, dan setiap langkah secara eksplisit mengekspresikan logika penalaran.
Strategi transparan: Cocok untuk debugging dan aplikasi yang memerlukan interpretabilitas tinggi.
Tidak memerlukan dukungan Tool Calling: Dapat digunakan dengan model yang tidak mendukung output terstruktur.
Model Settings: Strategi FunctionCalling menggunakan metode Tool Call dalam OpenAI API untuk meneruskan informasi alat. Oleh karena itu, model harus secara native mendukung fitur Tool Calling. Strategi ReAct tidak memiliki batasan ini. Kami menyarankan Anda memilih model dengan kemampuan penalaran kuat.
Conversation History: Mengaktifkan riwayat percakapan memberikan memori kontekstual kepada agen. Sistem secara otomatis mengisi prompt dengan pesan dari riwayat percakapan. Hal ini memungkinkan agen memahami dan mereferensikan konten percakapan sebelumnya untuk memberikan respons yang koheren dan sadar konteks. Misalnya, jika pengguna menggunakan kata ganti seperti "dia," "di sini," atau "hari itu" dalam pesan baru, agen dengan riwayat percakapan yang diaktifkan dapat memahami entitas yang dirujuk kata ganti tersebut dari konteks sebelumnya. Artinya, pengguna tidak perlu mengulang informasi lengkapnya.
MCP Service Configuration: Anda dapat mengonfigurasi layanan menggunakan salah satu dari dua metode berikut: memilih koneksi MCP atau mengisi formulir. Fitur ini saat ini mendukung Server MCP yang menggunakan metode komunikasi Server-Sent Events (SSE) dan Streamable HTTP.
Input Variables: Jika Anda ingin mereferensikan variabel dari node hulu alur aplikasi dalam prompt, Anda harus mendefinisikan variabel input yang sesuai di node ini dan mengatur nilainya untuk mereferensikan variabel node hulu. Kemudian, di bagian Prompt, Anda dapat menggunakan sintaks templat Jinja2 (kurung kurawal ganda, seperti
{{variable}}) untuk mereferensikan variabel input yang telah didefinisikan guna meneruskan data secara dinamis.Prompt: Anda dapat menyesuaikan konten prompt SYSTEM, USER, atau ASSISTANT. Prompt dapat mereferensikan Input Variables.
Number of Loops: Anda dapat mengatur jumlah maksimum loop yang dieksekusi agen. Nilainya berkisar antara 1 hingga 30. Agen mengulangi tugas hingga salah satu kondisi berikut terpenuhi:
LLM menentukan bahwa informasi yang cukup telah diperoleh dengan memanggil alat untuk menghasilkan hasil lengkap.
Jumlah maksimum loop yang ditentukan tercapai.
Catatan: Mengatur jumlah loop yang wajar membantu menyeimbangkan kelengkapan respons dengan efisiensi eksekusi.
Output
Node mengeluarkan data bertipe String.
Lihat jejak/log
Setelah Anda mengklik Run di pojok kanan atas halaman alur aplikasi, kotak dialog akan muncul. Di kotak dialog ini, Anda dapat melihat jejak atau log di bawah hasil eksekusi.
Lihat output antara: Klik ikon status eksekusi di pojok kanan atas node Agent dalam alur kerja. Di panel yang muncul, temukan `intermediate_steps` di bagian Output untuk melihat proses inferensi agen.
View Trace: Anda dapat melihat informasi jejak eksekusi saat ini untuk memahami input agen untuk setiap permintaan model, output model (termasuk pemanggilan alat dan parameter permintaan), overhead token, waktu yang dibutuhkan, dan informasi lainnya.
View Log: Jika alur aplikasi mengalami error, Anda dapat melihat log eksekusi saat ini untuk mendapatkan detail lebih lanjut tentang proses eksekusi node.
Selain itu, Anda dapat mengklik More > Run History di pojok kanan atas halaman alur aplikasi, memilih catatan eksekusi tertentu, dan melihat jejak atau log-nya.
Loop
Node Loop digunakan untuk melakukan tugas berulang yang bergantung pada hasil iterasi sebelumnya. Loop berlanjut hingga kondisi keluar terpenuhi atau jumlah maksimum loop yang telah ditentukan tercapai. Di dalam node Loop, Anda dapat mengonfigurasi alur anak. Sistem berulang kali mengeksekusi logika dalam alur anak berdasarkan variabel loop hingga kondisi penghentian terpenuhi atau batas eksekusi tercapai.
Antarmuka Konfigurasi

Input
Loop Variables: Digunakan untuk meneruskan data antar iterasi loop dan ke node turunan setelah loop berakhir. Anda dapat mengonfigurasi beberapa variabel loop, dan nilainya dapat dimasukkan secara manual atau dipilih dari output node hulu.
Loop Exit Condition: Kondisi ini dapat dikonfigurasi berdasarkan variabel loop. Loop berhenti ketika variabel loop tertentu memenuhi kondisi yang telah ditetapkan.
Maximum Number of Loops: Pengaturan ini membatasi jumlah maksimum eksekusi loop untuk mencegah loop tak terbatas.
Output
Output node adalah nilai variabel loop setelah eksekusi loop terakhir. Variabel loop hanya dapat diperbarui oleh node Variable Assigner. Tanpa node ini, output node Loop tetap sama dengan input awal, terlepas dari jumlah iterasi.
Node terkait
Anda dapat menambahkan node terkait berikut dengan mengklik tanda + di sebelah kanan node tertentu di dalam loop:
Hentikan Loop
Keluar dari loop. Node hulu biasanya berupa node Condition.
Variable Assigner
Node ini menetapkan output node anak di dalam loop ke variabel loop.

SerpAPI-GenericSearch
Menggunakan SerpApi untuk pencarian web. Mendukung berbagai mesin pencari, seperti Bing, Google, Baidu, dan Yahoo, serta memungkinkan Anda mengonfigurasi lokasi pencarian dan jumlah hasil.
Antarmuka Konfigurasi

Input
SerpApi Connection: Pilih koneksi SerpApi yang telah Anda buat di LangStudio. Untuk informasi selengkapnya, lihat Buat koneksi SerpApi.
Search Keywords: Kueri untuk pencarian web. Parameter ini memerlukan nilai string yang mereferensikan parameter output dari node hulu.
Search Engine: Mesin pencari yang digunakan. Opsi termasuk bing, google, baidu, dan yahoo. Mesin pencari kustom juga didukung.
Location: Lokasi untuk pencarian. Jika ditentukan, kami menyarankan memberikan kota, seperti
Shanghai, China.Number of Search Results: Jumlah hasil pencarian yang dikembalikan.
Output
Variabel output untuk pencarian web adalah output. Variabel ini berupa daftar kamus (List[Dict]). Kunci setiap kamus mencakup bidang berikut:
Kunci
Deskripsi
title
Judul hasil pencarian, biasanya judul halaman web atau dokumen, yang secara singkat merangkum topik kontennya.
link
Tautan ke hasil pencarian, yaitu URL. Pengguna dapat mengakses konten lengkap melalui tautan ini.
summary
Ringkasan hasil pencarian, biasanya berupa pengantar singkat atau ikhtisar konten, yang membantu pengguna memahami informasi inti dengan cepat.
Casus Penggunaan
Solusi chatbot dengan RAG dan pencarian web berdasarkan LangStudio dan DeepSeek
Alibaba Cloud IQS-GenericSearch
Node ini menggunakan Alibaba Cloud Information Query Service untuk melakukan pencarian standar dan mendukung penyaringan berdasarkan rentang waktu.
Antarmuka Konfigurasi

Input
Search Keywords: Masukkan kata kunci untuk pencarian web. Nilainya harus terdiri dari 2 hingga 100 karakter. Nilai yang lebih dari 100 karakter akan dipotong. Error akan terpicu jika nilainya kurang dari 2 karakter.
Time Range: Rentang waktu untuk pencarian. Opsi yang didukung adalah NoLimit, OneDay, OneWeek, OneMonth, dan OneYear.
IQS Connection: Jika role dengan izin yang diperlukan tidak dikonfigurasi saat startup, Anda dapat memilih koneksi IQS yang telah dikonfigurasi sebelumnya. Untuk informasi selengkapnya tentang cara mengonfigurasi koneksi IQS, lihat Konfigurasi koneksi layanan - Koneksi kustom. Tetapkan kunci ke
api_keydan nilai ke nilai yang sesuai. Anda dapat memperoleh nilai tersebut dari Information Query Service - Credential Management. Untuk informasi selengkapnya tentang penggunaan koneksi IQS, lihat Bangun alur aplikasi pencarian web DeepSeek berdasarkan LangStudio dan Alibaba Cloud Information Query Service.
Output
output: Variabel output untuk hasil pencarian web. Tipe datanya adalah `List[Dict]`. Setiap kamus berisi bidang berikut:
Key
Deskripsi
title
Judul hasil pencarian, biasanya judul halaman web atau dokumen, yang secara singkat merangkum topik kontennya.
link
Tautan ke hasil pencarian, yaitu URL. Pengguna dapat mengakses konten lengkap melalui tautan ini.
summary
Ringkasan hasil pencarian, biasanya berupa pengantar singkat atau ikhtisar konten, yang membantu pengguna memahami informasi inti dengan cepat.
content
Konten lengkap atau isi hasil pencarian, berisi informasi detail. Karena volume datanya yang besar, biasanya tidak ditampilkan dalam ringkasan.
markdown_text
Konten pencarian dalam format Markdown. Mungkin kosong.
score
Skor hasil pencarian, biasanya berupa nilai numerik, yang digunakan untuk menunjukkan relevansi atau kualitas hasil. Skor yang lebih tinggi biasanya berarti hasil lebih sesuai dengan maksud pencarian.
publish_time
Waktu publikasi konten, biasanya berupa timestamp atau tanggal, yang membantu pengguna memahami ketepatan waktu informasi.
host_logo
Logo atau ikon situs sumber, biasanya URL gambar, yang membantu pengguna mengidentifikasi sumber informasi.
hostname
Nama host atau nama domain situs sumber, yang menunjukkan asal informasi.
site_label
Label atau kategori situs sumber, yang digunakan untuk menunjukkan tema atau kategori situs, yang membantu pengguna memahami konteks informasi.
scene_items: Informasi tambahan yang meningkatkan hasil pencarian. Dalam sebagian besar pencarian umum, bidang ini kosong. Namun, jika pencarian umum tidak mengembalikan hasil yang akurat, terutama untuk kueri berbasis skenario seperti waktu, cuaca, atau kalender, sistem mungkin mengembalikan `scene_items` sebagai informasi tambahan untuk memberikan hasil yang lebih tepat dan berguna.
Kasus Penggunaan
Output Langsung
Node Direct Output mengirim pesan sebagai balasan langsung berdasarkan templat output. Node ini dapat mereferensikan output dari node hulu menggunakan sintaks {{node.variable}} dan mendukung output streaming.
Contoh: Anda dapat menambahkan node Direct Output sebelum node LLM untuk mengembalikan pesan awal kepada pengguna.


Penguraian Dokumen
Anda dapat mengurai dokumen menggunakan alat penguraian dokumen cerdas bawaan sistem atau layanan penguraian dokumen dari AI Search Open Platform.
Alat penguraian bawaan: Mengekstraksi konten terstruktur dan metadata dari dokumen. Mendukung berbagai format dokumen utama, seperti PDF, DOCX, PPTX, TXT, HTML, CSV, XLSX, XLS, JSONL, dan MD.
AI Search Open Platform: Melakukan penguraian dokumen terstruktur presisi tinggi. Mendukung ekstraksi informasi tingkat logis, seperti judul dan paragraf, beserta konten seperti teks, tabel, dan citra. Hal ini meningkatkan efektivitas dan akurasi ekstraksi dokumen. Anda harus terlebih dahulu mengonfigurasi koneksi layanan model AI Search Open Platform. Format file yang didukung meliputi PDF, DOCX, PPTX, TXT, dan HTML.
Alat ini dapat digunakan untuk skenario seperti Retrieval-Augmented Generation (RAG), ringkasan, dan tanya-jawab. Antarmuka konfigurasi ditunjukkan di bawah ini: 
Document File: Pilih bidang yang berisi file dokumen dari node hulu. Alat ini mengurai file tersebut untuk mengekstraksi konten terstruktur.
Model Settings: (Opsional) Pilih koneksi layanan model AI Search Open Platform yang telah Anda buat di LangStudio. Jika Anda tidak mengonfigurasi pengaturan ini, sistem menggunakan metode penguraian dasar bawaan secara default untuk memproses file yang diunggah.
Output:
file_id: Pengenal unik file input.
content: Konten teks terstruktur yang diuraikan, termasuk informasi hierarkis seperti judul dan paragraf.
status: Status penguraian, yang dapat berupa SUCCESS atau FAIL.
metadata: Metadata dan detail penguraian dokumen.
file_name: Nama file.
file_type: Tipe file.
source_uri: URI asli file.
download_url: URL unduhan file.
analysis_method: Metode penguraian yang digunakan. "opensearch" menunjukkan bahwa penguraian terstruktur dari AI Search Open Platform digunakan. "builtin" menunjukkan bahwa metode penguraian dasar bawaan digunakan.
Contoh penggunaan hilir: Di node hilir, Anda dapat mereferensikan bidang output dari node penguraian dokumen sesuai kebutuhan. Jika Anda ingin menggunakan hasil penguraian dokumen di node Large Language Model (LLM), Anda dapat menggunakan metode berikut untuk menambahkan konten yang diurai ke prompt pengguna:

Speech Recognition
Alat speech recognition mengonversi file audio atau video menjadi teks dan mendukung berbagai format audio dan bahasa.
Input
Model Settings: Menentukan model pengenalan ucapan. Fitur ini mendukung layanan pengenalan ucapan yang disediakan oleh Alibaba Cloud Model Studio. Kami menyarankan menggunakan
paraformer-v2untuk hasil pengenalan yang lebih baik dan dukungan multi-bahasa.Audio/Video File: File audio atau video yang akan dikenali. Untuk informasi selengkapnya, lihat Input dan output tipe file.
Recognition Language: Bahasa untuk pengenalan audio. Anda dapat memilih Bahasa Mandarin, Inggris, Jepang, Kanton, Korea, Jerman, Prancis, Rusia, atau deteksi otomatis. Catatan: Fitur ini hanya didukung oleh model
paraformer-v2. Model lain menggunakan deteksi bahasa otomatis secara default.
Output
file_id: Pengidentifikasi unik file input.
status: Status deteksi. Nilai yang mungkin adalah
SUCCESSatauFAIL.content: Konten teks hasil transkripsi.
segments: Daftar segmen kalimat. Setiap segmen mencakup timestamp, teks yang sesuai, dan detail lainnya.
metadata: Metadata file input, yang mencakup hal-hal berikut:
file_name: Nama file.
file_type: Jenis file.
source_uri: URI file.
download_url: URL unduhan file.
HTTP Request
Alat HTTP Request memungkinkan Anda memanggil antarmuka API eksternal. Alat ini mendukung berbagai metode HTTP, jenis autentikasi, dan format badan permintaan untuk memenuhi berbagai kebutuhan integrasi.
Input
Request Method: Metode permintaan HTTP. Metode yang didukung meliputi GET, POST, PUT, PATCH, DELETE, HEAD, dan OPTIONS.
URL: Alamat target permintaan.
Request Headers: Menentukan header permintaan HTTP kustom. Setiap baris merepresentasikan satu header. Anda dapat memasukkan kunci dan nilai yang sesuai.
Request Parameters: Menentukan parameter string kueri. Setiap baris merepresentasikan satu parameter. Anda dapat memasukkan kunci dan nilai yang sesuai.
Authentication: Fitur ini dinonaktifkan secara default. Jika Anda mengaktifkannya, Anda dapat memilih metode autentikasi standar, seperti Bearer atau Basic.
Bearer: Untuk autentikasi Bearer Token. Jangan tambahkan awalan
Bearersaat memasukkan token.Basic: Untuk autentikasi dasar. Anda dapat memasukkan username dan password, dan sistem secara otomatis mengonversinya menjadi kredensial yang dikodekan Base64.
Untuk menggunakan metode autentikasi kustom, Anda harus mengonfigurasi header permintaan secara manual.
Request Body: Format badan permintaan. Format berikut didukung.
none: Tidak mengirim badan permintaan.
JSON: Mengirim data dalam format JSON.
form-data: Mengirim data dalam format multipart/form-data. Opsi ini mendukung unggahan file.
x-www-form-urlencoded: Mengirim data formulir yang dikodekan URL.
raw-text: Mengirim data teks biasa.
binary: Mengirim file biner. Opsi ini mendukung unggahan file.
SSL Verification: Fitur ini diaktifkan secara default dan menentukan apakah akan memverifikasi Sertifikat SSL server. Kami menyarankan Anda tetap mengaktifkan opsi ini di lingkungan produksi.
Timeout: Durasi timeout permintaan. Nilainya berkisar antara 1 hingga 600 detik. Nilai default adalah 10 detik.
Retry Configuration: Fitur ini dinonaktifkan secara default. Anda dapat mengaktifkannya untuk mencoba ulang permintaan secara otomatis jika gagal.
Maximum Retries: Jumlah maksimum percobaan ulang. Nilainya berkisar antara 0 hingga 10.
Retry Interval: Interval antar percobaan ulang, dalam milidetik. Nilainya berkisar antara 100 hingga 10.000.
Output
body: Konten teks respons. Jika respons berupa file, bidang ini berupa string kosong.
status_code: Kode status respons HTTP, seperti 200, 404, atau 500.
headers: Header respons HTTP, yang dikembalikan sebagai pasangan kunci-nilai.
file: Objek file, yang dikembalikan jika respons berupa file.
Template Transformer
Alat Template Transformer memungkinkan Anda menggunakan sintaks templat Jinja2 untuk memformat teks dan mentransformasi data secara fleksibel.
Input
Mode transformasi yang didukung adalah Jinja2 Mode dan Node Reference Mode.
Jinja2 Mode: Mode ini memungkinkan Anda menggunakan sintaks templat Jinja2 lengkap untuk menyesuaikan format output. Cocok untuk output terstruktur kompleks, kondisional, rendering loop, dan lainnya.
Template Variables: Menentukan variabel yang digunakan dalam templat.
PentingNama variabel tidak boleh berupa nama metode bawaan Python, seperti
items,keys, atauvalues. Kami menyarankan menggunakan nama bidang eksplisit, sepertiitem_listatauproduct_list.Template Content: String templat yang ditulis dalam sintaks Jinja2. Mendukung sintaks lengkap, termasuk substitusi variabel
{{ variable }}, loop{% for %}, kondisional{% if %}, dan filter{{ value | filter }}.PentingSemua variabel yang direferensikan dalam templat harus didefinisikan dalam daftar variabel. Jika tidak, akan terjadi error.
Node Reference Mode: Dalam mode ini, output dari node hulu direferensikan secara langsung dan digabungkan secara otomatis menjadi string. Mode ini cocok untuk skenario kombinasi teks sederhana.
Template Content: Anda dapat memilih bidang output dari node hulu, dan sistem secara otomatis menggabungkannya secara berurutan.
Output
output: Hasil teks setelah templat dirender. Catatan: Panjang konten templat input dan output dibatasi hingga 100.000 karakter. Konten apa pun yang melebihi batas ini akan dipotong.
Kasus penggunaan
Contoh 1: Pembuatan email konfirmasi pesanan
Konfigurasi variabel:
Variable Name | Variable Value |
customer_name |
|
order_id |
|
products |
|
total |
|
Konten templat:
Dear {{ customer_name }}:
Your order {{ order_id }} has been confirmed. Details are as follows:
{% for product in products %}
- {{ product.name }}: ¥{{ product.price }}
{% endfor %}
Total: ¥{{ total }}
Thank you for your purchase!Hasil output:
Dear John Doe:
Your order ORD-2025-001 has been confirmed. Details are as follows:
- Laptop: ¥8999
- Wireless Mouse: ¥199
Total: ¥9198
Thank you for your purchase!Contoh 2: Memformat hasil pengambilan basis pengetahuan
Konfigurasi variabel:
Variable Name | Variable Value |
chunks |
|
Konten templat:
{% for chunk in chunks %}
### Relevance: {{ "%.2f" % chunk.score }}
#### {{ chunk.title }}
{{ chunk.content }}
---
{% endfor %}Hasil output:
### Relevance: 0.95
#### Product Introduction
This is the detailed introduction of the product...
---List Operations
Alat List Operations memungkinkan Anda melakukan operasi penyaringan dan pengurutan fleksibel pada berbagai jenis data daftar untuk pemrosesan dan pemilihan data detail halus.
Input
List Input: Data daftar yang akan diproses. Mendukung semua subtipe, seperti string, angka, nilai Boolean, objek file, dan kamus.
Operations: Rangkaian operasi filter dan sort yang dirangkai dan dieksekusi secara berurutan.
Operasi filter: Operasi filter secara dinamis menyediakan metode penyaringan berbeda berdasarkan tipe daftar input. Catatan: Semua operasi filter bersifat case-sensitive.
Filter Key
Description
Applicable to
Index
Menyaring berdasarkan posisi elemen dalam daftar.
Berlaku untuk semua tipe daftar.
Element Value
Menyaring berdasarkan nilai elemen itu sendiri.
Berlaku untuk semua tipe daftar.
Custom Property
Menyaring berdasarkan properti kustom.
Hanya berlaku untuk daftar kamus.
File Property
Menyaring berdasarkan properti file.
Hanya berlaku untuk daftar file.
Operasi sort: Operasi sort menyediakan metode pengurutan berbeda berdasarkan tipe daftar input.
Sort Key
Description
Applicable Scope
Element Value
Mengurutkan berdasarkan nilai elemen itu sendiri.
Hanya berlaku untuk tipe daftar string, angka, dan nilai Boolean.
Custom Property
Mengurutkan berdasarkan properti kustom.
Hanya berlaku untuk daftar tipe kamus.
File Property
Mengurutkan berdasarkan properti file.
Hanya berlaku untuk daftar tipe file. Properti opsional sama dengan operasi filter.
Output
result: Daftar yang telah diproses.
first_item: Elemen pertama dari daftar hasil. Jika daftar kosong, nilainya adalah None.
last_item: Elemen terakhir dari daftar hasil. Jika daftar kosong, nilainya adalah None.
Kasus penggunaan
Contoh 1: Pemrosesan klasifikasi file - Filter file citra, urutkan berdasarkan ukuran, dan ambil 3 teratas
Skenario: Pengguna mengunggah daftar yang berisi berbagai jenis file. Anda perlu memfilter file citra, mengurutkannya berdasarkan panjang nama file, dan hanya mengambil 3 teratas untuk pengenalan citra selanjutnya.
Konfigurasi operasi:
Operation 1 - Filter (by file category):
Filter key: item.category
Filter operator: equals
Filter value: image
Operation 2 - Sort (by file name length):
Sort key: item.file_name
Sort direction: asc
Operation 3 - Filter (take top 3):
Filter key: index
Filter operator: less than
Filter value: 3
Contoh 2: Analisis data - Filter pengguna dengan skor tinggi dan ambil 5 teratas
Skenario: Dari daftar skor pengguna, Anda perlu memfilter pengguna dengan skor 80 atau lebih tinggi, mengurutkannya berdasarkan skor secara menurun, dan mengambil 5 teratas.
Daftar input:
[
{"name": "Zhang San", "score": 95, "department": "Technical Department"},
{"name": "Li Si", "score": 72, "department": "Marketing Department"},
{"name": "Wang Wu", "score": 88, "department": "Technical Department"},
{"name": "Zhao Liu", "score": 91, "department": "Product Department"},
{"name": "Qian Qi", "score": 65, "department": "Marketing Department"},
{"name": "Sun Ba", "score": 98, "department": "Technical Department"}
]Konfigurasi operasi:
Operation 1 - Filter (filter high-scoring users):
Filter key: item.score
Filter operator: greater than or equal to
Filter value: 80
Operation 2 - Sort (by score descending):
Sort key: item.score
Sort direction: desc
Operation 3 - Filter (take top 5):
Filter key: index
Filter operator: less than
Filter value: 5
Output:
[
{"name": "Sun Ba", "score": 98, "department": "Technology Department"},
{"name": "Zhang San", "score": 95, "department": "Technology Department"},
{"name": "Zhao Liu", "score": 91, "department": "Product Department"},
{"name": "Wang Wu", "score": 88, "department": "Technology Department"}
]Catatan:
Jika input untuk alat mereferensikan variabel output tipe
listkustom dari node Python, kami menyarankan Anda mendefinisikan tipe elemen daftar yang jelas di node Python, sepertilist[str]. Hal ini memberikan pencocokan operator yang lebih akurat di node List Operations.
Akhir
Node End menandai akhir sebuah application flow dan mendefinisikan parameter output-nya. Sebuah application flow hanya dapat memiliki satu node End.
Konfigurasi Parameter Output
Output alur aplikasi dapat mereferensikan output dari semua node hulu. Misalnya, pada gambar berikut, output `answer` dari alur aplikasi menggunakan output dari node LLM, dan output `search_results` menggunakan output dari node pencarian.
CatatanAlur aplikasi percakapan mencakup bidang output Chat default yang berfungsi sebagai output percakapan.
Alur aplikasi harus mencakup node Start dan node End. Hanya node yang terhubung di antara kedua node ini yang dieksekusi.
Langkah selanjutnya
Setelah mengembangkan dan men-debug alur aplikasi, Anda dapat mengevaluasi alur aplikasi. Setelah memenuhi persyaratan bisnis Anda, Anda dapat menerapkan alur aplikasi ke layanan model online PAI-EAS di lingkungan produksi.