เริ่มต้นใช้งาน | การปรับใช้ | เอกสารและการสนับสนุน | บล็อก | ใบอนุญาต
Pathway เป็นเฟรมเวิร์ก Python ETL สำหรับการประมวลผลสตรีม การวิเคราะห์แบบเรียลไทม์ ไปป์ไลน์ LLM และ RAG
Pathway มาพร้อมกับ Python API ที่ใช้งานง่าย ช่วยให้คุณสามารถผสานรวมไลบรารี Python ML ที่คุณชื่นชอบได้อย่างราบรื่น โค้ด Pathway มีความหลากหลายและมีประสิทธิภาพ: คุณสามารถใช้ได้ทั้งในสภาพแวดล้อมการพัฒนาและการใช้งานจริง จัดการข้อมูลทั้งแบบแบตช์และข้อมูลแบบสตรีมได้อย่างมีประสิทธิภาพ รหัสเดียวกันนี้สามารถใช้สำหรับการพัฒนาในเครื่อง การทดสอบ CI/CD การรันงานแบทช์ การจัดการการเล่นสตรีมซ้ำ และการประมวลผลสตรีมข้อมูล
Pathway ขับเคลื่อนโดย กลไก Rust ที่ปรับขนาดได้ โดยอิงตาม Differential Dataflow และทำการคำนวณส่วนเพิ่ม โค้ด Pathway ของคุณแม้จะเขียนด้วยภาษา Python แต่ก็ทำงานโดยเอ็นจิ้น Rust ซึ่งเปิดใช้งานการประมวลผลแบบมัลติเธรด การประมวลผลหลายตัว และการคำนวณแบบกระจาย ไปป์ไลน์ทั้งหมดจะถูกเก็บไว้ในหน่วยความจำและสามารถปรับใช้กับ Docker และ Kubernetes ได้อย่างง่ายดาย
คุณสามารถติดตั้ง Pathway ด้วย pip:
pip install -U pathway
หากมีคำถามใดๆ คุณจะพบชุมชนและทีมงานที่อยู่เบื้องหลังโปรเจ็กต์บน Discord
พร้อมหรือยังว่า Pathway ทำอะไรได้บ้าง?
ลองหนึ่งในตัวอย่างที่ใช้งานง่ายของเรา!
มีให้เลือกทั้งในรูปแบบโน้ตบุ๊กและนักเทียบท่า ตัวอย่างที่พร้อมใช้งานเหล่านี้สามารถเปิดใช้งานได้ด้วยการคลิกเพียงไม่กี่ครั้ง เลือกหนึ่งรายการและเริ่มประสบการณ์ตรงกับ Pathway วันนี้!
ด้วยกลไกที่รวมเป็นหนึ่งสำหรับแบทช์และการสตรีมและความเข้ากันได้ของ Python อย่างเต็มรูปแบบ Pathway ทำให้การประมวลผลข้อมูลง่ายที่สุดเท่าที่จะเป็นไปได้ เป็นโซลูชั่นที่ดีเยี่ยมสำหรับไปป์ไลน์การประมวลผลข้อมูลที่หลากหลาย รวมถึง:
Pathway มอบเครื่องมือ LLM โดยเฉพาะเพื่อสร้างไปป์ไลน์ LLM และ RAG แบบสด Wrapper สำหรับบริการและยูทิลิตี้ LLM ทั่วไปรวมอยู่ด้วย ทำให้การทำงานกับไปป์ไลน์ LLM และ RAGs เป็นเรื่องง่ายอย่างเหลือเชื่อ ตรวจสอบเอกสาร LLM xpack ของเรา
อย่าลังเลที่จะลองใช้ตัวอย่างที่รันได้ของเราซึ่งมีเครื่องมือ LLM คุณสามารถหาตัวอย่างดังกล่าวได้ที่นี่
Pathway ต้องใช้ Python 3.10 ขึ้นไป
คุณสามารถติดตั้ง Pathway รุ่นปัจจุบันได้โดยใช้ pip
:
$ pip install -U pathway
import pathway as pw
# Define the schema of your data (Optional)
class InputSchema ( pw . Schema ):
value : int
# Connect to your data using connectors
input_table = pw . io . csv . read (
"./input/" ,
schema = InputSchema
)
#Define your operations on the data
filtered_table = input_table . filter ( input_table . value >= 0 )
result_table = filtered_table . reduce (
sum_value = pw . reducers . sum ( filtered_table . value )
)
# Load your results to external systems
pw . io . jsonlines . write ( result_table , "output.jsonl" )
# Run the computation
pw . run ()
เรียกใช้ Pathway ใน Google Colab
คุณสามารถหาตัวอย่างเพิ่มเติมได้ที่นี่
หากต้องการใช้ Pathway คุณจะต้องนำเข้าเท่านั้น:
import pathway as pw
ตอนนี้คุณสามารถสร้างไปป์ไลน์การประมวลผลของคุณได้อย่างง่ายดาย และปล่อยให้ Pathway จัดการการอัปเดต เมื่อสร้างไปป์ไลน์แล้ว คุณสามารถเริ่มการคำนวณการสตรีมข้อมูลด้วยคำสั่งบรรทัดเดียว:
pw . run ()
จากนั้น คุณสามารถรันโปรเจ็กต์ Pathway ของคุณได้ (เช่น main.py
) ได้เหมือนกับสคริปต์ Python ปกติ: $ python main.py
Pathway มาพร้อมกับแดชบอร์ดการตรวจสอบที่ช่วยให้คุณติดตามจำนวนข้อความที่ส่งโดยตัวเชื่อมต่อแต่ละตัวและเวลาแฝงของระบบ แดชบอร์ดยังมีข้อความบันทึกด้วย
หรือคุณสามารถใช้เวอร์ชันของ pathway'ish:
$ pathway spawn python main.py
Pathway รองรับมัลติเธรดโดยกำเนิด หากต้องการเปิดแอปพลิเคชันของคุณด้วย 3 เธรด คุณสามารถดำเนินการดังนี้:
$ pathway spawn --threads 3 python main.py
หากต้องการเริ่มต้นโปรเจ็กต์ Pathway แบบก้าวกระโดด คุณสามารถใช้เทมเพลตเครื่องตัดคุกกี้ของเรา
คุณสามารถรัน Pathway ได้อย่างง่ายดายโดยใช้ docker
คุณสามารถใช้อิมเมจ Docker ของ Pathway ได้โดยใช้ Dockerfile:
FROM pathwaycom/pathway:latest
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python" , "./your-script.py" ]
จากนั้นคุณสามารถสร้างและเรียกใช้อิมเมจ Docker ได้:
docker build -t my-pathway-app .
docker run -it --rm --name my-pathway-app my-pathway-app
เมื่อจัดการกับโปรเจ็กต์ไฟล์เดียว การสร้าง Dockerfile
ที่มีคุณสมบัติครบถ้วนอาจดูเหมือนไม่จำเป็น ในสถานการณ์เช่นนี้ คุณสามารถรันสคริปต์ Python ได้โดยตรงโดยใช้อิมเมจ Pathway Docker ตัวอย่างเช่น:
docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
คุณยังสามารถใช้อิมเมจ Python มาตรฐานและติดตั้ง Pathway โดยใช้ pip กับ Dockerfile ได้:
FROM --platform=linux/x86_64 python:3.10
RUN pip install -U pathway
COPY ./pathway-script.py pathway-script.py
CMD [ "python" , "-u" , "pathway-script.py" ]
คอนเทนเนอร์ Docker เหมาะอย่างยิ่งสำหรับการปรับใช้บนคลาวด์ด้วย Kubernetes หากคุณต้องการปรับขนาดแอปพลิเคชัน Pathway คุณอาจสนใจ Pathway for Enterprise ของเรา Pathway for Enterprise ได้รับการปรับแต่งเป็นพิเศษเพื่อการประมวลผลข้อมูลแบบครบวงจรและการวิเคราะห์อัจฉริยะแบบเรียลไทม์ โดยจะปรับขนาดโดยใช้การประมวลผลแบบกระจายบนคลาวด์ และรองรับการใช้งาน Kubernetes แบบกระจาย ด้วยการตั้งค่าการคงอยู่ภายนอก
คุณสามารถปรับใช้ Pathway ได้อย่างง่ายดายโดยใช้บริการต่างๆ เช่น Render ดูวิธีปรับใช้ Pathway ได้ในไม่กี่คลิก
หากคุณสนใจ อย่าลังเลที่จะติดต่อเราเพื่อเรียนรู้เพิ่มเติม
Pathway สร้างขึ้นเพื่อให้มีประสิทธิภาพเหนือกว่าเทคโนโลยีล้ำสมัยที่ออกแบบมาสำหรับการสตรีมและการประมวลผลข้อมูลเป็นชุด ซึ่งรวมถึง: Flink, Spark และ Kafka Streaming นอกจากนี้ยังทำให้สามารถใช้อัลกอริธึม/UDF จำนวนมากในโหมดการสตรีมซึ่งไม่รองรับโดยเฟรมเวิร์กการสตรีมอื่นๆ (โดยเฉพาะอย่างยิ่ง: การรวมชั่วคราว อัลกอริธึมกราฟวนซ้ำ รูทีนการเรียนรู้ของเครื่อง)
หากคุณสงสัย ต่อไปนี้คือเกณฑ์มาตรฐานบางส่วนที่ควรเล่น
เอกสารทั้งหมดของ Pathway มีอยู่ที่ Pathway.com/developers/ รวมถึงเอกสาร API
หากคุณมีคำถามใด ๆ อย่าลังเลที่จะเปิดปัญหาบน GitHub เข้าร่วมกับเราบน Discord หรือส่งอีเมลถึงเราที่ [email protected]
Pathway ได้รับการเผยแพร่บนสิทธิ์การใช้งาน BSL 1.1 ซึ่งอนุญาตให้ใช้งานที่ไม่ใช่เชิงพาณิชย์ได้ไม่จำกัด รวมถึงการใช้แพ็คเกจ Pathway เพื่อวัตถุประสงค์ทางการค้าส่วนใหญ่ โดยไม่มีค่าใช้จ่าย โค้ดในพื้นที่เก็บข้อมูลนี้จะแปลงเป็น Open Source (ใบอนุญาต Apache 2.0) โดยอัตโนมัติหลังจากผ่านไป 4 ปี Repos สาธารณะบางส่วนที่เสริมกับ Repos นี้ (ตัวอย่าง ไลบรารี ตัวเชื่อมต่อ ฯลฯ) ได้รับอนุญาตเป็น Open Source ภายใต้ใบอนุญาต MIT
หากคุณพัฒนาไลบรารีหรือตัวเชื่อมต่อที่คุณต้องการรวมเข้ากับ Repo นี้ เราขอแนะนำให้เผยแพร่ก่อนเป็น Repo แยกต่างหากบนสิทธิ์การใช้งาน MIT/Apache 2.0
สำหรับข้อกังวลทั้งหมดเกี่ยวกับฟังก์ชันการทำงานของ Pathway หลัก เราขอแนะนำให้แก้ไขปัญหาต่างๆ สำหรับข้อมูลเพิ่มเติม อย่าลังเลที่จะมีส่วนร่วมกับชุมชน Discord ของ Pathway