Pyspur: Pembuat Agen AI Open Source

Mark Ponomarev

Mark Ponomarev

17 June 2025

Pyspur: Pembuat Agen AI Open Source

Apa itu Pyspur?

Pyspur adalah platform sumber terbuka yang dirancang untuk mempercepat pengembangan agen AI dengan menyediakan lingkungan berbasis node yang visual. Ini memungkinkan insinyur untuk membangun, men-debug, dan menerapkan alur kerja AI yang kompleks dengan menghubungkan komponen modular pada kanvas drag-and-drop.

Masalah inti yang dipecahkan Pyspur adalah kurangnya transparansi dan siklus iterasi yang lambat yang umum dalam pengembangan AI. Ini mengatasi "prompt hell" dan "workflow blindspots" dengan memungkinkan pengembang untuk memeriksa input dan output dari setiap langkah dalam logika agen mereka secara real-time. Platform ini mencakup dukungan bawaan untuk pola-pola canggih seperti Retrieval-Augmented Generation (RAG), memungkinkan titik henti (breakpoints) human-in-the-loop, dan dapat menerapkan alur kerja apa pun sebagai API siap produksi dengan satu klik. Pada akhirnya, Pyspur membantu insinyur membangun sistem AI yang lebih andal dan mudah di-debug dengan lebih cepat.

💡
Ingin alat Pengujian API hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform Terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua kebutuhan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
button

Mari kita mulai!

1. Pengaturan Lingkungan

Pilih opsi pengaturan yang paling sesuai dengan tujuan Anda. Untuk pengembangan dan eksperimen lokal, instalasi pip sudah cukup. Untuk sistem yang dapat diskalakan atau produksi, pengaturan berbasis Docker direkomendasikan karena menyediakan lingkungan yang dapat direproduksi dan terkontainerisasi dengan instance PostgreSQL khusus.

Opsi A: Instalasi pip Lokal

Prasyarat: Python 3.11+

Instal dari PyPI:

pip install pyspur

Inisialisasi Direktori Proyek: Perintah ini membuat kerangka proyek, termasuk file .env untuk konfigurasi.

pyspur init my-pyspur-project && cd my-pyspur-project

Luncurkan Server: Flag --sqlite mengarahkan Pyspur untuk menggunakan database SQLite lokal, menghilangkan ketergantungan pada server database terpisah.

pyspur serve --sqlite

Akses UI: Navigasikan ke http://localhost:6080 di browser Anda.

Opsi B: Pengaturan Docker

Prasyarat: Docker Engine

Jalankan Skrip Pengaturan: Perintah ini mengunduh dan menjalankan skrip shell yang mengkloning repositori Pyspur, mengonfigurasi file docker-compose.dev.yml, dan meluncurkan tumpukan aplikasi (frontend, backend, database).

curl -fsSL https://raw.githubusercontent.com/PySpur-com/pyspur/main/start_pyspur_docker.sh | bash -s pyspur-project

Akses UI: Navigasikan ke http://localhost:6080.


2. Mari Bangun Alur Kerja dengan Pyspur

Alih-alih membangun dari awal, kita akan memuat dan menganalisis template Pyspur yang sudah ada. Pendekatan ini memberikan gambaran realistis tentang alur kerja yang tidak sepele.

Muat Template:

Analisis Alur Kerja:
Alur kerja ini dirancang untuk menghasilkan lelucon dan kemudian memperbaikinya. Ini menggunakan BestOfNNode, komponen canggih yang menjalankan prompt LLM sebanyak N kali, menggunakan panggilan LLM lain untuk menilai N output, dan memilih yang terbaik.

Mari kita bedah node-node kunci seperti yang didefinisikan dalam joke_generator.json:

input_node (InputNode): Node ini mendefinisikan titik masuk alur kerja.

JokeDrafter (BestOfNNode): Ini adalah tahap pertama pembuatan lelucon.

JokeRefiner (BestOfNNode): Node ini mengambil draf lelucon dan memperbaikinya.

Links: Array links dalam JSON mendefinisikan aliran data:
input_node -> JokeDrafter -> JokeRefiner.

Eksekusi dan Inspeksi:


3. Mengimplementasikan Pipeline RAG

Meskipun bukan bagian dari generator lelucon, Retrieval-Augmented Generation (RAG) adalah kemampuan penting Pyspur. Berikut adalah proses teknis untuk menambahkan pengetahuan ke agen:

  1. Penyerapan Dokumen (Collection): Navigasikan ke bagian RAG. Saat Anda membuat "Document Collection" dan mengunggah file (misalnya, PDF), Pyspur memulai proses backend yang mengurai dokumen menjadi teks, membaginya menjadi potongan-potongan yang dapat dikonfigurasi berdasarkan panjang token, dan menyimpan potongan-potongan ini dengan metadata sumber di databasenya.
  2. Vektorisasi (Index): Membuat "Vector Index" dari sebuah koleksi memicu proses lain. Pyspur mengiterasi setiap potongan teks, melakukan panggilan API ke model embedding yang ditentukan (misalnya, text-embedding-ada-002 dari OpenAI) untuk mendapatkan representasi vektor, dan memasukkan (upsert) vektor-vektor ini ke dalam database vektor yang dikonfigurasi (misalnya, ChromaDB, PGVector).
  3. Retrieval (Workflow Node): Dalam alur kerja, Retriever Node dikonfigurasi untuk menunjuk ke Vector Index tertentu. Saat runtime, input query-nya di-embed menggunakan model yang sama, dan pencarian semantik (tetangga terdekat perkiraan) dilakukan terhadap database vektor untuk mengambil potongan teks yang paling relevan. Potongan-potongan ini kemudian diteruskan sebagai konteks ke LLM hilir.

4. Penerapan sebagai API Produksi

Setelah alur kerja Anda selesai, Anda dapat mengeksposnya sebagai endpoint HTTP yang aman.

Mulai Penerapan: Klik tombol "Deploy" di bilah navigasi atas.

Pilih Jenis Panggilan API:

Integrasikan dengan Aplikasi Anda:
Modal penerapan menghasilkan kode klien. Body permintaan POST harus berupa objek JSON di mana kunci initial_inputs berisi objek yang kuncinya cocok dengan title node input Anda.

Contoh Klien Python (untuk Generator Lelucon):

import requests
import json
import time

PYSUR_HOST = "http://localhost:6080"
WORKFLOW_ID = "your_workflow_id_here" # Dapatkan ini dari modal deploy

# Kunci dalam dict ini harus cocok dengan 'output_schema' dari input_node
payload = {
    "initial_inputs": {
        "input_node": {
            "topic": "Python decorators",
            "audience": "Senior Software Engineers"
        }
    }
}

# 1. Mulai eksekusi non-blocking
start_url = f"{PYSUR_HOST}/api/wf/{WORKFLOW_ID}/start_run/?run_type=non_blocking"
start_resp = requests.post(start_url, json=payload)
run_id = start_resp.json()['id']
print(f"Alur kerja dimulai dengan run_id: {run_id}")

# 2. Lakukan polling untuk hasilnya
status_url = f"{PYSUR_HOST}/api/runs/{run_id}/status/"
while True:
    status_resp = requests.get(status_url)
    data = status_resp.json()
    status = data.get("status")
    print(f"Status saat ini: {status}")
    if status in ["COMPLETED", "FAILED"]:
        print("Output Akhir:")
        print(json.dumps(data.get("outputs"), indent=2))
        break
    time.sleep(2)

Kesimpulan

Pyspur menyediakan lingkungan yang kuat, transparan, dan berbasis teknis untuk pengembangan agen AI. Dengan mengabstraksi operasi individu menjadi node modular dan menyediakan kanvas visual, ini memungkinkan insinyur untuk fokus pada logika tingkat tinggi agen mereka. Kekuatan sejati platform ini terletak pada kemampuan inspeksi mendalamnya—memungkinkan Anda melacak aliran data dan men-debug I/O setiap komponen—dan transisinya yang mulus dari prototipe visual ke API siap produksi. Pergeseran dari agen panggilan tunggal sederhana ke alur kerja multi-tahap yang kompleks menggunakan pola seperti Best-of-N atau RAG tidak hanya mungkin, tetapi juga intuitif. Dengan membangun menggunakan Pyspur, Anda tidak hanya menghubungkan kotak; Anda sedang merekayasa sistem AI yang andal, mudah di-debug, dan dapat diskalakan.

💡
Ingin alat Pengujian API hebat yang menghasilkan Dokumentasi API yang indah?

Ingin platform Terintegrasi, All-in-One untuk Tim Pengembang Anda bekerja sama dengan produktivitas maksimum?

Apidog memenuhi semua kebutuhan Anda, dan menggantikan Postman dengan harga yang jauh lebih terjangkau!
button

Mengembangkan API dengan Apidog

Apidog adalah alat pengembangan API yang membantu Anda mengembangkan API dengan lebih mudah dan efisien.