Memulai | Penerapan | Dokumentasi dan Dukungan | Blog | Lisensi
Pathway adalah kerangka kerja Python ETL untuk pemrosesan aliran, analisis waktu nyata, saluran LLM, dan RAG.
Pathway hadir dengan API Python yang mudah digunakan , memungkinkan Anda mengintegrasikan pustaka Python ML favorit Anda dengan lancar. Kode jalur serbaguna dan kuat: Anda dapat menggunakannya di lingkungan pengembangan dan produksi, menangani data batch dan streaming secara efektif . Kode yang sama dapat digunakan untuk pengembangan lokal, pengujian CI/CD, menjalankan tugas batch, menangani pemutaran ulang aliran, dan memproses aliran data.
Pathway didukung oleh mesin Rust yang dapat diskalakan berdasarkan Aliran Data Diferensial dan melakukan komputasi tambahan. Kode Pathway Anda, meskipun ditulis dengan Python, dijalankan oleh mesin Rust, memungkinkan multithreading, multiprosesing, dan komputasi terdistribusi. Semua pipeline disimpan dalam memori dan dapat dengan mudah diterapkan dengan Docker dan Kubernetes .
Anda dapat menginstal Pathway dengan pip:
pip install -U pathway
Untuk pertanyaan apa pun, Anda akan menemukan komunitas dan tim di balik proyek di Discord.
Siap melihat apa yang bisa dilakukan Pathway?
Cobalah salah satu contoh kami yang mudah dijalankan!
Tersedia dalam format notebook dan buruh pelabuhan, contoh yang siap diluncurkan ini dapat diluncurkan hanya dengan beberapa klik. Pilih satu dan mulai pengalaman langsung Anda dengan Pathway hari ini!
Dengan mesin terpadu untuk batch dan streaming serta kompatibilitas penuh dengan Python, Pathway membuat pemrosesan data semudah mungkin. Ini adalah solusi ideal untuk berbagai jalur pemrosesan data, termasuk:
Pathway menyediakan peralatan LLM khusus untuk membangun jaringan pipa LLM dan RAG yang aktif. Wrapper untuk sebagian besar layanan dan utilitas LLM umum disertakan, membuat bekerja dengan saluran pipa LLM dan RAG menjadi sangat mudah. Lihat dokumentasi xpack LLM kami.
Jangan ragu untuk mencoba salah satu contoh kami yang dapat dijalankan yang menampilkan perkakas LLM. Anda dapat menemukan contohnya di sini.
Jalur memerlukan Python 3.10 atau lebih tinggi.
Anda dapat menginstal rilis Pathway saat ini menggunakan 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 ()
Jalankan Pathway di Google Colab.
Anda dapat menemukan lebih banyak contoh di sini.
Untuk menggunakan Pathway, Anda hanya perlu mengimpornya:
import pathway as pw
Sekarang, Anda dapat dengan mudah membuat alur pemrosesan, dan membiarkan Pathway menangani pembaruannya. Setelah alur Anda dibuat, Anda dapat meluncurkan komputasi pada streaming data dengan perintah satu baris:
pw . run ()
Anda kemudian dapat menjalankan proyek Pathway Anda (misalnya, main.py
) seperti skrip Python biasa: $ python main.py
. Pathway dilengkapi dengan dasbor pemantauan yang memungkinkan Anda melacak jumlah pesan yang dikirim oleh setiap konektor dan latensi sistem. Dasbor juga menyertakan pesan log.
Alternatifnya, Anda dapat menggunakan versi jalurnya:
$ pathway spawn python main.py
Pathway secara asli mendukung multithreading. Untuk meluncurkan aplikasi Anda dengan 3 thread, Anda dapat melakukan hal berikut:
$ pathway spawn --threads 3 python main.py
Untuk memulai proyek Pathway, Anda dapat menggunakan template cookiecutter kami.
Anda dapat dengan mudah menjalankan Pathway menggunakan buruh pelabuhan.
Anda dapat menggunakan image buruh pelabuhan Pathway, menggunakan 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" ]
Anda kemudian dapat membuat dan menjalankan image Docker:
docker build -t my-pathway-app .
docker run -it --rm --name my-pathway-app my-pathway-app
Saat menangani proyek file tunggal, membuat Dockerfile
lengkap mungkin tampak tidak diperlukan. Dalam skenario seperti itu, Anda dapat menjalankan skrip Python secara langsung menggunakan image Pathway Docker. Misalnya:
docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
Anda juga dapat menggunakan image Python standar dan menginstal Pathway menggunakan pip dengan 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" ]
Kontainer Docker cocok untuk diterapkan di cloud dengan Kubernetes. Jika Anda ingin meningkatkan skala aplikasi Pathway Anda, Anda mungkin tertarik dengan Pathway untuk Perusahaan kami. Pathway for Enterprise dirancang khusus untuk pemrosesan data menyeluruh dan analisis cerdas waktu nyata. Ini berskala menggunakan komputasi terdistribusi di cloud dan mendukung penerapan Kubernetes terdistribusi, dengan pengaturan persistensi eksternal.
Anda dapat dengan mudah menerapkan Pathway menggunakan layanan seperti Render: lihat cara menerapkan Pathway dalam beberapa klik.
Jika Anda tertarik, jangan ragu untuk menghubungi kami untuk mempelajari lebih lanjut.
Pathway dibuat untuk mengungguli teknologi tercanggih yang dirancang untuk streaming dan tugas pemrosesan data batch, termasuk: Flink, Spark, dan Kafka Streaming. Hal ini juga memungkinkan penerapan banyak algoritme/UDF dalam mode streaming yang tidak langsung didukung oleh framework streaming lainnya (terutama: gabungan temporal, algoritme grafik berulang, rutinitas pembelajaran mesin).
Jika Anda penasaran, berikut beberapa tolok ukur yang bisa digunakan.
Seluruh dokumentasi Pathway tersedia di path.com/developers/, termasuk Dokumen API.
Jika Anda memiliki pertanyaan, jangan ragu untuk membuka terbitan di GitHub, bergabunglah dengan kami di Discord, atau kirimkan email kepada kami di [email protected].
Pathway didistribusikan pada Lisensi BSL 1.1 yang memungkinkan penggunaan non-komersial tanpa batas, serta penggunaan paket Pathway untuk sebagian besar tujuan komersial, tanpa biaya. Kode dalam repositori ini secara otomatis dikonversi ke Open Source (Lisensi Apache 2.0) setelah 4 tahun. Beberapa repo publik yang melengkapi repo ini (contoh, perpustakaan, konektor, dll.) dilisensikan sebagai Open Source, di bawah lisensi MIT.
Jika Anda mengembangkan perpustakaan atau konektor yang ingin Anda integrasikan dengan repo ini, kami sarankan untuk merilisnya terlebih dahulu sebagai repo terpisah pada lisensi MIT/Apache 2.0.
Untuk semua kekhawatiran mengenai fungsi inti Pathway, Issues dianjurkan. Untuk informasi lebih lanjut, jangan ragu untuk terlibat dengan komunitas Pathway's Discord.