Tutorial Langflow: Membangun Aplikasi LLM Secara Visual

# Tutorial Langflow: Membangun Aplikasi LLM Secara Visual Langflow adalah platform open-source yang memungkinkan Anda membangun aplikasi berbasis Large Language Model (LLM) secara visual menggunakan...

By Ruby Abdullah · · tutorial
LangflowLLMRAGVisual AI BuilderDataStax

Tutorial Langflow: Membangun Aplikasi LLM Secara Visual

Langflow adalah platform open-source yang memungkinkan Anda membangun aplikasi berbasis Large Language Model (LLM) secara visual menggunakan antarmuka drag-and-drop. Dikembangkan oleh DataStax, Langflow menyederhanakan proses pembuatan pipeline AI yang kompleks tanpa harus menulis banyak kode. Dalam tutorial ini, kita akan mempelajari cara menginstal, mengkonfigurasi, dan membangun berbagai aplikasi AI menggunakan Langflow, mulai dari chatbot sederhana hingga pipeline RAG (Retrieval-Augmented Generation) yang lebih canggih.

Mengapa Langflow?

Membangun aplikasi LLM seringkali membutuhkan penulisan kode yang kompleks untuk menghubungkan berbagai komponen: model bahasa, vector store, prompt template, memory, dan lain-lain. Langflow menyelesaikan masalah ini dengan menyediakan antarmuka visual di mana Anda cukup menarik dan menghubungkan komponen-komponen tersebut layaknya menyusun diagram alur.

Beberapa keunggulan Langflow:

  • Visual Builder: Drag-and-drop komponen tanpa perlu menulis kode boilerplate
  • Integrasi Luas: Mendukung OpenAI, Anthropic, Google, Ollama, HuggingFace, dan puluhan provider lainnya
  • Export ke Python: Flow yang dibuat secara visual dapat diekspor menjadi kode Python
  • API Otomatis: Setiap flow otomatis mendapatkan REST API endpoint
  • Komponen Custom: Anda bisa membuat komponen sendiri menggunakan Python
  • Open Source: Gratis dan bisa di-deploy di infrastruktur sendiri

Instalasi

Prasyarat

Sebelum menginstal Langflow, pastikan sistem Anda memenuhi persyaratan berikut:

  • Python 3.10 atau lebih baru
  • pip (Python package manager)
  • Minimal 4GB RAM (disarankan 8GB untuk flow yang kompleks)

Instalasi via pip

Cara paling mudah untuk menginstal Langflow adalah menggunakan pip:

pip install langflow

Untuk versi terbaru langsung dari repository:

pip install langflow --pre

Instalasi via Docker

Jika Anda lebih suka menggunakan Docker:

docker pull langflowai/langflow:latest

docker run -d -p 7860:7860 langflowai/langflow:latest

Untuk penggunaan dengan volume persisten agar data tidak hilang saat container di-restart:

docker run -d \

-p 7860:7860 \

-v langflowdata:/app/langflow \

langflowai/langflow:latest

Instalasi via Docker Compose

Untuk setup yang lebih lengkap dengan database PostgreSQL:

# docker-compose.yml

version: "3.8"

services:

langflow:

image: langflowai/langflow:latest

ports:

  • "7860:7860"
environment:

  • LANGFLOWDATABASEURL=postgresql://langflow:langflow@db:5432/langflow
  • LANGFLOWAUTOLOGIN=true
dependson:

  • db
volumes:

  • langflowdata:/app/langflow

db:

image: postgres:16

environment:

POSTGRESUSER: langflow

POSTGRESPASSWORD: langflow

POSTGRESDB: langflow

volumes:

  • postgresdata:/var/lib/postgresql/data

volumes:

langflowdata:

postgresdata:

Jalankan dengan:

docker compose up -d

Menjalankan Langflow

Setelah instalasi, jalankan Langflow:

langflow run

Secara default, Langflow akan berjalan di http://localhost:7860. Anda bisa mengubah port dengan:

langflow run --port 3000

Buka browser dan akses URL tersebut. Anda akan melihat antarmuka Langflow yang siap digunakan.

Konsep Dasar

Sebelum mulai membangun, penting untuk memahami konsep-konsep dasar di Langflow:

Komponen (Nodes)

Komponen adalah blok bangunan utama di Langflow. Setiap komponen merepresentasikan satu fungsi atau layanan, misalnya:

  • LLM Models: OpenAI, Anthropic Claude, Google Gemini, Ollama
  • Prompts: Template prompt dengan variabel dinamis
  • Document Loaders: Pembaca file PDF, CSV, TXT, dan format lainnya
  • Vector Stores: Chroma, Pinecone, Qdrant, FAISS
  • Embeddings: OpenAI Embeddings, HuggingFace Embeddings
  • Memory: Conversation buffer, summary memory
  • Tools: Web search, calculator, custom tools
  • Output: Chat output, text output

Edge (Koneksi)

Edge adalah garis yang menghubungkan output satu komponen ke input komponen lain. Koneksi ini menentukan alur data dalam pipeline Anda.

Flow

Flow adalah keseluruhan pipeline yang terdiri dari komponen-komponen yang terhubung. Satu flow merepresentasikan satu aplikasi AI lengkap.

Basic Usage: Membangun Chatbot Sederhana

Mari kita mulai dengan membuat chatbot sederhana menggunakan OpenAI GPT.

Langkah 1: Buat Flow Baru

  • Buka Langflow di browser
  • Klik New Flow atau Blank Flow
  • Anda akan masuk ke canvas editor yang kosong
  • Langkah 2: Tambahkan Komponen

    Dari sidebar kiri, cari dan tarik komponen-komponen berikut ke canvas:

  • Chat Input - dari kategori Inputs
  • OpenAI - dari kategori Models
  • Chat Output - dari kategori Outputs
  • Prompt - dari kategori Prompts
  • Langkah 3: Konfigurasi Komponen

    Prompt Component:

    Klik pada komponen Prompt dan atur template:

    You are a helpful AI assistant. Answer the user's question clearly and concisely.
    
    

    User: {usermessage}

    OpenAI Component:
    • Model: gpt-4o-mini (atau model lain yang Anda inginkan)
    • API Key: Masukkan API key OpenAI Anda
    • Temperature: 0.7

    Langkah 4: Hubungkan Komponen

    Hubungkan komponen-komponen tersebut:

  • Chat Input output → Prompt input (usermessage)
  • Prompt output → OpenAI input (prompt)
  • OpenAI output → Chat Output input
  • Langkah 5: Uji Chatbot

    Klik tombol Playground di pojok kanan bawah. Ketik pesan dan lihat respons dari chatbot Anda.

    Membangun Pipeline RAG (Retrieval-Augmented Generation)

    RAG adalah teknik yang menggabungkan pencarian dokumen dengan generasi teks. Berikut cara membangunnya di Langflow.

    Langkah 1: Siapkan Komponen

    Tarik komponen-komponen berikut ke canvas:

  • File (Document Loader) - untuk upload dokumen
  • Recursive Character Text Splitter - untuk memecah dokumen
  • OpenAI Embeddings - untuk membuat vektor representasi
  • Chroma (Vector Store) - untuk menyimpan vektor
  • Chat Input - untuk input pengguna
  • Prompt - untuk template prompt RAG
  • OpenAI - model LLM
  • Chat Output - untuk output
  • Langkah 2: Konfigurasi Pipeline Ingest

    Hubungkan pipeline untuk memproses dokumen:

  • File → Text Splitter (documents)
  • Text Splitter → Chroma (documents)
  • OpenAI Embeddings → Chroma (embedding)
  • Konfigurasi Text Splitter:

    • Chunk Size: 1000
    • Chunk Overlap: 200

    Langkah 3: Konfigurasi Pipeline Query

    Buat prompt template untuk RAG:

    Answer the question based only on the following context:
    
    

    Context:

    {context}

    Question: {question}

    If the answer is not found in the context, say "I don't have enough information to answer that question."

    Hubungkan pipeline query:

  • Chat Input → Chroma (search query)
  • Chat Input → Prompt (question)
  • Chroma (search results) → Prompt (context)
  • Prompt → OpenAI → Chat Output
  • Langkah 4: Uji Pipeline RAG

  • Upload dokumen melalui komponen File
  • Tunggu proses indexing selesai
  • Buka Playground dan ajukan pertanyaan tentang isi dokumen
  • Advanced Usage

    Membuat Custom Component

    Langflow memungkinkan Anda membuat komponen sendiri menggunakan Python. Berikut contoh komponen custom untuk web scraping:

    from langflow.custom import Component
    

    from langflow.io import MessageTextInput, Output

    from langflow.schema import Data

    import requests

    from bs4 import BeautifulSoup

    class WebScraperComponent(Component):

    displayname = "Web Scraper"

    description = "Scrape content from a web page"

    icon = "globe"

    inputs = [

    MessageTextInput(

    name="url",

    displayname="URL",

    info="The URL to scrape",

    required=True,

    ),

    ]

    outputs = [

    Output(displayname="Scraped Content", name="content", method="scrape"),

    ]

    def scrape(self) -> Data:

    url = self.url

    response = requests.get(url, timeout=10)

    soup = BeautifulSoup(response.text, "html.parser")

    for script in soup(["script", "style"]):

    script.decompose()

    text = soup.gettext(separator="\n", strip=True)

    return Data(text=text)

    Untuk menggunakan custom component:

  • Klik ikon + di sidebar
  • Pilih Custom Component
  • Paste kode Python di atas
  • Komponen akan muncul di canvas dan bisa dihubungkan dengan komponen lain
  • Menggunakan Langflow API

    Setiap flow yang Anda buat secara otomatis mendapatkan REST API endpoint. Ini memudahkan integrasi dengan aplikasi lain.

    Mendapatkan API Endpoint:
  • Klik tombol API di pojok kanan atas flow
  • Salin endpoint URL dan contoh request
  • Contoh penggunaan API dengan Python:
    import requests
    
    

    LANGFLOWURL = "http://localhost:7860"

    FLOWID = "your-flow-id-here"

    def queryflow(message: str) -> str:

    apiurl = f"{LANGFLOWURL}/api/v1/run/{FLOWID}"

    payload = {

    "inputvalue": message,

    "outputtype": "chat",

    "inputtype": "chat",

    }

    response = requests.post(apiurl, json=payload)

    result = response.json()

    output = result["outputs"][0]["outputs"][0]["results"]["message"]["text"]

    return output

    answer = queryflow("Apa itu machine learning?")

    print(answer)

    Contoh penggunaan API dengan curl:
    curl -X POST "http://localhost:7860/api/v1/run/YOURFLOWID" \
    

    -H "Content-Type: application/json" \

    -d '{

    "inputvalue": "Apa itu machine learning?",

    "outputtype": "chat",

    "inputtype": "chat"

    }'

    Multi-Agent Flow

    Langflow mendukung pembuatan sistem multi-agent di mana beberapa agent bekerja sama untuk menyelesaikan tugas yang kompleks.

    Contoh: Research Agent + Writer Agent
  • Research Agent: Menggunakan tool web search untuk mengumpulkan informasi
  • Writer Agent: Menggunakan hasil research untuk menulis artikel
  • Komponen yang dibutuhkan:

    • 2x Agent component
    • Tavily Search tool (untuk research)
    • OpenAI model (untuk kedua agent)
    • Sequential Task (untuk mengatur urutan eksekusi)

    Konfigurasi Research Agent:

    • System Prompt: "You are a research assistant. Search the web for the given topic and provide a comprehensive summary with key facts and sources."
    • Tools: Tavily Search

    Konfigurasi Writer Agent:

    • System Prompt: "You are a professional writer. Based on the research provided, write a well-structured article."
    • Input: Output dari Research Agent

    Menggunakan Ollama (Model Lokal)

    Untuk menjalankan model AI secara lokal tanpa biaya API:

  • Install Ollama di komputer Anda
  • Pull model yang diinginkan: ollama pull llama3.1
  • Di Langflow, gunakan komponen Ollama sebagai pengganti OpenAI
  • Set base URL ke http://localhost:11434
  • # Memastikan Ollama berjalan
    

    import requests

    response = requests.get("http://localhost:11434/api/tags")

    models = response.json()

    print("Available models:", [m["name"] for m in models["models"]])

    Export Flow ke Python

    Langflow memungkinkan Anda mengekspor flow sebagai kode Python untuk deployment atau modifikasi lebih lanjut:

  • Buka flow yang ingin diekspor
  • Klik menu ... → Export
  • Pilih format Python
  • File Python akan diunduh
  • Contoh hasil export:

    from langflow.load import runflowfromjson
    
    

    result = runflowfromjson(

    flow="path/to/exportedflow.json",

    inputvalue="Hello, how are you?",

    fallbacktoenvvars=True,

    )

    print(result[0].outputs[0].results["message"].text)

    Tweaks dan Override

    Anda bisa mengubah parameter komponen saat runtime menggunakan tweaks:

    import requests
    
    

    LANGFLOWURL = "http://localhost:7860"

    FLOWID = "your-flow-id"

    payload = {

    "inputvalue": "Explain quantum computing",

    "outputtype": "chat",

    "inputtype": "chat",

    "tweaks": {

    "OpenAI-xxxxx": {

    "modelname": "gpt-4o",

    "temperature": 0.3,

    },

    "Prompt-xxxxx": {

    "template": "Answer in Bahasa Indonesia: {usermessage}",

    },

    },

    }

    response = requests.post(

    f"{LANGFLOWURL}/api/v1/run/{FLOWID}",

    json=payload,

    )

    print(response.json())

    Deployment ke Production

    Deploy ke Cloud menggunakan DataStax Langflow

    DataStax menyediakan hosted version Langflow yang bisa langsung digunakan:

  • Buat akun di DataStax Langflow
  • Import flow Anda
  • Dapatkan API endpoint yang sudah production-ready
  • Deploy Self-Hosted dengan Nginx

    Untuk deployment di server sendiri:

    # /etc/nginx/sites-available/langflow
    

    server {

    listen 80;

    servername langflow.yourdomain.com;

    location / {

    proxypass http://127.0.0.1:7860;

    proxyhttpversion 1.1;

    proxysetheader Upgrade $httpupgrade;

    proxysetheader Connection "upgrade";

    proxysetheader Host $host;

    proxysetheader X-Real-IP $remoteaddr;

    proxyreadtimeout 300s;

    proxysendtimeout 300s;

    }

    }

    Environment Variables

    Konfigurasi Langflow melalui environment variables:

    # Database
    

    export LANGFLOWDATABASEURL="postgresql://user:pass@host:5432/langflow"

    Security

    export LANGFLOWAUTOLOGIN=false

    export LANGFLOWSUPERUSER=admin

    export LANGFLOWSUPERUSERPASSWORD=your-secure-password

    Performance

    export LANGFLOWWORKERS=4

    export LANGFLOWMAXFILESIZEUPLOAD=100

    API Keys (agar tidak perlu input manual di UI)

    export OPENAIAPIKEY="sk-..."

    export ANTHROPICAPI_KEY="sk-ant-..."

    Best Practices

    1. Organisasi Flow

    • Beri nama yang deskriptif untuk setiap flow dan komponen
    • Kelompokkan komponen terkait secara visual
    • Gunakan fitur Note untuk mendokumentasikan logika yang kompleks
    • Simpan flow yang sudah jadi sebagai template untuk penggunaan ulang

    2. Pengelolaan API Key

    • Jangan hardcode API key di dalam flow
    • Gunakan Global Variables di Langflow untuk menyimpan API key
    • Untuk production, gunakan environment variables
    • Rotasi API key secara berkala

    3. Optimasi Performa

    • Gunakan chunk size yang sesuai untuk dokumen Anda (biasanya 500-1500 karakter)
    • Pilih embedding model yang tepat sesuai kebutuhan dan budget
    • Aktifkan caching untuk mengurangi panggilan API berulang
    • Monitor penggunaan token untuk mengontrol biaya

    4. Error Handling

    • Selalu sediakan fallback response jika LLM gagal merespons
    • Gunakan timeout yang wajar untuk API calls
    • Log error untuk debugging
    • Test flow secara menyeluruh sebelum deploy ke production

    5. Keamanan

    • Aktifkan autentikasi untuk deployment production
    • Batasi akses API menggunakan API key
    • Validasi input pengguna sebelum dikirim ke LLM
    • Jangan expose internal error messages ke end user

    Troubleshooting

    Masalah Umum

    Flow tidak berjalan:
    • Pastikan semua komponen terhubung dengan benar
    • Periksa apakah API key sudah diisi
    • Cek log di terminal tempat Langflow berjalan

    Respons lambat:
    • Kurangi jumlah komponen yang tidak perlu
    • Gunakan model yang lebih kecil untuk task sederhana
    • Periksa koneksi internet

    Error "Module not found":
    • Install dependensi yang diperlukan: pip install langflow[all]
    • Restart Langflow setelah instalasi

    Database error:
    • Untuk SQLite (default), pastikan direktori memiliki write permission
    • Untuk PostgreSQL, verifikasi connection string

    Kesimpulan

    Langflow adalah alat yang memudahkan pengembangan aplikasi LLM dengan pendekatan visual. Dengan Langflow, Anda bisa membangun pipeline AI yang kompleks tanpa harus menulis banyak kode, sekaligus tetap memiliki fleksibilitas untuk membuat komponen custom dan mengekspor flow sebagai kode Python.

    Beberapa poin penting yang telah kita pelajari:

    • Langflow menyediakan antarmuka drag-and-drop untuk membangun aplikasi LLM
    • Mendukung berbagai provider AI termasuk OpenAI, Anthropic, Google, dan model lokal via Ollama
    • Pipeline RAG dapat dibangun secara visual dengan document loader, text splitter, vector store, dan LLM
    • Custom component memungkinkan Anda memperluas fungsionalitas Langflow
    • Setiap flow otomatis mendapatkan REST API endpoint untuk integrasi
    • Multi-agent system bisa dibangun menggunakan komponen Agent dan Sequential Task
    • Deployment bisa dilakukan secara self-hosted maupun menggunakan layanan cloud DataStax

    Langflow cocok digunakan untuk prototyping cepat, membangun chatbot, sistem RAG, pipeline agentic, dan berbagai aplikasi AI lainnya. Mulailah dengan flow sederhana, lalu tingkatkan kompleksitasnya sesuai kebutuhan proyek Anda.

    Artikel Terkait

    DSPy: Berhenti Ngoprek Prompt Manual, Biarkan Compiler yang Optimasi

    DSPy: Berhenti Ngoprek Prompt Manual, Biarkan Compiler yang Optimasi Halo temen-temen, kali ini aku mau ngenalin satu li...

    RAGFlow: Bikin RAG Engine yang Ngerti Dokumen Beneran, Lengkap dengan Sitasi

    RAGFlow: Bikin RAG Engine yang Ngerti Dokumen Beneran, Lengkap dengan Sitasi Halo temen-temen, balik lagi sama aku. Kala...

    Tutorial Lengkap Dify: Platform Open-Source untuk Membangun Aplikasi AI

    Tutorial Lengkap Dify: Platform Open-Source untuk Membangun Aplikasi AI Dify adalah platform open-source yang memungkink...

    Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM

    Tutorial LangChain: Framework Paling Populer untuk Membangun Aplikasi LLM LangChain adalah framework open-source yang di...