Pyspur: สร้าง AI Agent โอเพนซอร์ส

Mark Ponomarev

Mark Ponomarev

19 October 2025

Pyspur: สร้าง AI Agent โอเพนซอร์ส

Apidog สำหรับองค์กร

การติดตั้งแบบ On-Premises

SSO & RBAC

รองรับมาตรฐาน SOC 2

สำรวจ Apidog Enterprise

Pyspur คืออะไร?

Pyspur คือแพลตฟอร์มโอเพนซอร์สที่ออกแบบมาเพื่อเร่งการพัฒนา AI agent โดยการจัดเตรียมสภาพแวดล้อมแบบภาพที่ใช้โหนด ช่วยให้นักพัฒนาสามารถสร้าง ดีบัก และปรับใช้เวิร์กโฟลว์ AI ที่ซับซ้อนได้โดยการเชื่อมต่อส่วนประกอบแบบโมดูลาร์บนพื้นที่ทำงานแบบลากและวาง

ปัญหาหลักที่ Pyspur แก้ไขคือการขาดความโปร่งใสและรอบการทำงานที่ช้าซึ่งพบได้ทั่วไปในการพัฒนา AI ช่วยจัดการกับ "prompt hell" และ "workflow blindspots" โดยให้นักพัฒนาสามารถตรวจสอบอินพุตและเอาต์พุตของทุกขั้นตอนในตรรกะของ agent ได้แบบเรียลไทม์ แพลตฟอร์มนี้มีการรองรับรูปแบบขั้นสูงในตัว เช่น Retrieval-Augmented Generation (RAG) อนุญาตให้มีการหยุดชะงักแบบ human-in-the-loop และสามารถปรับใช้เวิร์กโฟลว์ใดๆ ให้เป็น API ที่พร้อมสำหรับการใช้งานจริงได้ด้วยการคลิกเพียงครั้งเดียว ท้ายที่สุด Pyspur ช่วยให้นักพัฒนาสร้างระบบ AI ที่น่าเชื่อถือและดีบักได้ง่ายขึ้นและเร็วขึ้น

💡
ต้องการเครื่องมือทดสอบ API ที่ยอดเยี่ยมที่สร้างเอกสาร API ที่สวยงามหรือไม่?

ต้องการแพลตฟอร์มแบบครบวงจรสำหรับทีมพัฒนาของคุณเพื่อทำงานร่วมกันด้วยประสิทธิภาพสูงสุดหรือไม่?

Apidog ตอบสนองทุกความต้องการของคุณ และแทนที่ Postman ด้วยราคาที่เข้าถึงได้มากกว่ามาก!
button

มาเริ่มกันเลย!

1. การตั้งค่าสภาพแวดล้อม

เลือกตัวเลือกการตั้งค่าที่เหมาะสมกับวัตถุประสงค์ของคุณมากที่สุด สำหรับการพัฒนาและการทดลองในเครื่อง การติดตั้ง pip ก็เพียงพอแล้ว สำหรับระบบที่ปรับขนาดได้หรือระบบการผลิต ขอแนะนำให้ใช้การตั้งค่าแบบ Docker เนื่องจากให้สภาพแวดล้อมแบบคอนเทนเนอร์ที่สามารถสร้างซ้ำได้ พร้อมด้วยอินสแตนซ์ PostgreSQL โดยเฉพาะ

ตัวเลือก A: การติดตั้ง pip ในเครื่อง

ข้อกำหนดเบื้องต้น: Python 3.11+

ติดตั้งจาก PyPI:

pip install pyspur

เริ่มต้นไดเรกทอรีโครงการ: คำสั่งนี้จะสร้างโครงร่างโครงการ รวมถึงไฟล์ .env สำหรับการกำหนดค่า

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

เปิดเซิร์ฟเวอร์: แฟล็ก --sqlite จะสั่งให้ Pyspur ใช้ฐานข้อมูล SQLite ในเครื่อง ซึ่งช่วยลดการพึ่งพาเซิร์ฟเวอร์ฐานข้อมูลแยกต่างหาก

pyspur serve --sqlite

เข้าถึง UI: ไปที่ http://localhost:6080 ในเบราว์เซอร์ของคุณ

ตัวเลือก B: การตั้งค่า Docker

ข้อกำหนดเบื้องต้น: Docker Engine

เรียกใช้สคริปต์การตั้งค่า: คำสั่งนี้จะดาวน์โหลดและรันสคริปต์เชลล์ที่โคลน repository ของ Pyspur กำหนดค่าไฟล์ docker-compose.dev.yml และเปิดใช้งานสแต็กแอปพลิเคชัน (ส่วนหน้า, ส่วนหลัง, ฐานข้อมูล)

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

เข้าถึง UI: ไปที่ http://localhost:6080


2. มาสร้างเวิร์กโฟลว์ด้วย Pyspur กันเถอะ

แทนที่จะสร้างตั้งแต่เริ่มต้น เราจะโหลดและวิเคราะห์เทมเพลต Pyspur ที่มีอยู่ แนวทางนี้ช่วยให้เห็นภาพเวิร์กโฟลว์ที่ไม่ซับซ้อนได้จริง

โหลดเทมเพลต:

การวิเคราะห์เวิร์กโฟลว์:
เวิร์กโฟลว์นี้ออกแบบมาเพื่อสร้างเรื่องตลกแล้วปรับปรุงให้ดีขึ้น ใช้ BestOfNNode ซึ่งเป็นส่วนประกอบขั้นสูงที่รัน LLM prompt N ครั้ง ใช้การเรียก LLM อีกครั้งเพื่อให้คะแนนเอาต์พุต N รายการ และเลือกเอาต์พุตที่ดีที่สุด

มาเจาะลึกโหนดหลักตามที่กำหนดไว้ใน joke_generator.json:

input_node (InputNode): โหนดนี้กำหนดจุดเริ่มต้นของเวิร์กโฟลว์

JokeDrafter (BestOfNNode): นี่คือขั้นตอนแรกของการสร้างเรื่องตลก

JokeRefiner (BestOfNNode): โหนดนี้จะนำเรื่องตลกที่ร่างไว้มาปรับปรุงให้ดีขึ้น

ลิงก์: อาร์เรย์ links ใน JSON กำหนดการไหลของข้อมูล:
input_node -> JokeDrafter -> JokeRefiner

การดำเนินการและการตรวจสอบ:


3. การนำไปใช้ RAG Pipeline

แม้ว่าจะไม่ได้เป็นส่วนหนึ่งของตัวสร้างเรื่องตลก แต่ Retrieval-Augmented Generation (RAG) เป็นความสามารถที่สำคัญของ Pyspur นี่คือกระบวนการทางเทคนิคสำหรับการเพิ่มความรู้ให้กับ agent:

  1. การนำเข้าเอกสาร (Collection): ไปที่ส่วน RAG เมื่อคุณสร้าง "Document Collection" และอัปโหลดไฟล์ (เช่น PDF) Pyspur จะเริ่มกระบวนการแบ็กเอนด์ที่แยกวิเคราะห์เอกสารเป็นข้อความ แบ่งส่วนเป็นส่วนย่อยที่กำหนดค่าได้ตามความยาวของโทเค็น และจัดเก็บส่วนย่อยเหล่านี้พร้อมข้อมูลเมตาของแหล่งที่มาในฐานข้อมูล
  2. การสร้างเวกเตอร์ (Index): การสร้าง "Vector Index" จากคอลเลกชันจะเริ่มกระบวนการอื่น Pyspur จะวนซ้ำผ่านแต่ละส่วนของข้อความ ทำการเรียก API ไปยังโมเดลการฝังที่ระบุ (เช่น text-embedding-ada-002 ของ OpenAI) เพื่อรับการแสดงเวกเตอร์ และ upsert เวกเตอร์เหล่านี้ลงในฐานข้อมูลเวกเตอร์ที่กำหนดค่าไว้ (เช่น ChromaDB, PGVector)
  3. การเรียกคืน (Workflow Node): ในเวิร์กโฟลว์ Retriever Node จะถูกกำหนดค่าให้ชี้ไปยัง Vector Index ที่เฉพาะเจาะจง ในขณะรันไทม์ อินพุต query จะถูกฝังโดยใช้โมเดลเดียวกัน และจะมีการค้นหาเชิงความหมาย (approximate nearest neighbor) กับฐานข้อมูลเวกเตอร์เพื่อดึงส่วนของข้อความที่เกี่ยวข้องมากที่สุด ส่วนย่อยเหล่านี้จะถูกส่งต่อไปยัง LLM ปลายทางเป็นบริบท

4. การปรับใช้เป็น Production API

เมื่อเวิร์กโฟลว์ของคุณเสร็จสมบูรณ์ คุณสามารถเปิดเผยเป็นปลายทาง HTTP ที่ปลอดภัยได้

เริ่มการปรับใช้: คลิกปุ่ม "Deploy" ที่แถบนำทางด้านบน

เลือกประเภทการเรียก API:

รวมเข้ากับแอปพลิเคชันของคุณ:
หน้าต่างโมดัลการปรับใช้จะสร้างโค้ดไคลเอนต์ เนื้อหาของการร้องขอ POST ต้องเป็นอ็อบเจกต์ JSON โดยที่คีย์ initial_inputs มีอ็อบเจกต์ซึ่งคีย์ตรงกับ title ของโหนดอินพุตของคุณ

ตัวอย่างไคลเอนต์ Python (สำหรับตัวสร้างเรื่องตลก):

import requests
import json
import time

PYSUR_HOST = "http://localhost:6080"
WORKFLOW_ID = "your_workflow_id_here" # Get this from the deploy modal

# The keys in this dict must match the 'output_schema' of the input_node
payload = {
    "initial_inputs": {
        "input_node": {
            "topic": "Python decorators",
            "audience": "Senior Software Engineers"
        }
    }
}

# 1. Start the non-blocking run
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"Workflow started with run_id: {run_id}")

# 2. Poll for the result
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"Current status: {status}")
    if status in ["COMPLETED", "FAILED"]:
        print("Final Output:")
        print(json.dumps(data.get("outputs"), indent=2))
        break
    time.sleep(2)

สรุป

Pyspur มอบสภาพแวดล้อมที่แข็งแกร่ง โปร่งใส และมีพื้นฐานทางเทคนิคสำหรับการพัฒนา AI agent ด้วยการแยกการทำงานแต่ละรายการออกเป็นโหนดแบบโมดูลาร์และจัดเตรียมพื้นที่ทำงานแบบภาพ ช่วยให้นักพัฒนาสามารถมุ่งเน้นไปที่ตรรกะระดับสูงของ agent ได้ พลังที่แท้จริงของแพลตฟอร์มนี้อยู่ที่ความสามารถในการตรวจสอบอย่างละเอียด ซึ่งช่วยให้คุณสามารถติดตามการไหลของข้อมูลและดีบัก I/O ของแต่ละส่วนประกอบ และการเปลี่ยนผ่านจากต้นแบบแบบภาพไปสู่ ​​API ที่พร้อมสำหรับการใช้งานจริงได้อย่างราบรื่น การเปลี่ยนจาก agent แบบเรียกครั้งเดียวที่เรียบง่ายไปสู่เวิร์กโฟลว์ที่ซับซ้อนและหลายขั้นตอนโดยใช้รูปแบบเช่น Best-of-N หรือ RAG ไม่เพียงแต่เป็นไปได้ แต่ยังเป็นไปตามสัญชาตญาณ ด้วยการสร้างด้วย Pyspur คุณไม่ได้เพียงแค่เชื่อมต่อกล่องต่างๆ เท่านั้น แต่คุณกำลังสร้างระบบ AI ที่น่าเชื่อถือ ดีบักได้ และปรับขนาดได้

💡
ต้องการเครื่องมือทดสอบ API ที่ยอดเยี่ยมที่สร้างเอกสาร API ที่สวยงามหรือไม่?

ต้องการแพลตฟอร์มแบบครบวงจรสำหรับทีมพัฒนาของคุณเพื่อทำงานร่วมกันด้วยประสิทธิภาพสูงสุดหรือไม่?

Apidog ตอบสนองทุกความต้องการของคุณ และแทนที่ Postman ด้วยราคาที่เข้าถึงได้มากกว่ามาก!
button

ฝึกการออกแบบ API แบบ Design-first ใน Apidog

ค้นพบวิธีที่ง่ายขึ้นในการสร้างและใช้ API