Rumah pembangunan bahagian belakang Tutorial Python OpenRAG: Aplikasi GenAI Sumber Terbuka untuk Melebihkan Pertanyaan Data dengan Model Bahasa Besar

OpenRAG: Aplikasi GenAI Sumber Terbuka untuk Melebihkan Pertanyaan Data dengan Model Bahasa Besar

Oct 22, 2024 pm 02:17 PM

OpenRAG: An Open-Source GenAI Application to Supercharge Data Queries with Large Language Models

Dalam era kecerdasan buatan, perniagaan dan pembangun semakin memanfaatkan Model Bahasa Besar (LLM) untuk memperkemas analisis data dan interaksi pelanggan. OpenRAG, aplikasi Generative AI (GenAI) sumber terbuka, memperkasakan pengguna dengan menggabungkan fleksibiliti LLM dengan keupayaan pertanyaan data yang cekap merentas pelbagai pangkalan data vektor. Sama ada anda bekerja dengan PDF, menanyakan set data yang besar atau mencari cerapan daripada data yang disimpan, OpenRAG menjadikannya lancar untuk berinteraksi dengan data anda menggunakan pertanyaan bahasa semula jadi.

Ciri-ciri Utama OpenRAG

  1. Sokongan untuk Semua Model LLM Sumber Terbuka OpenRAG direka bentuk untuk disepadukan dengan pelbagai LLM sumber terbuka, memberikan pengguna kebebasan untuk memilih model yang paling sesuai dengan kes penggunaan unik mereka. Kebolehlanjutan platform membolehkan pengembangan pada masa hadapan, memastikan pengguna dapat memanfaatkan kemajuan terkini dalam bidang AI tanpa sebarang sekatan.

  2. Pangkalan Data Vektor Sumber Terbuka Berbilang Penyepaduan OpenRAG diprakonfigurasikan untuk menyokong pangkalan data vektor sumber terbuka yang popular seperti Chroma, FAISS dan Qdrant. Pangkalan data ini memudahkan carian dan perolehan vektor berprestasi tinggi, memastikan pengguna mendapat hasil yang tepat apabila menanyakan data mereka.

  3. Muat Naik PDF dan Pertanyaan Data Satu ciri menonjol OpenRAG ialah keupayaan untuk memuat naik fail PDF dan menukarnya menjadi koleksi data berstruktur. Ini menjadikan aplikasi ini sangat berguna untuk profesional yang berurusan dengan jumlah besar maklumat berasaskan PDF. Setelah PDF dimuat naik, pengguna boleh menanyakan kandungan menggunakan LLM pilihan mereka, mengekstrak cerapan dengan cepat dan cekap.

  4. Nama Koleksi Berterusan untuk Kebolehgunaan Semula OpenRAG memperuntukkan nama koleksi unik kepada PDF yang dimuat naik, membolehkan pengguna memulangkan dan menanyakan data tanpa perlu memuat naik semula fail yang sama. Ciri ini menjimatkan masa dan menjadikan pengurusan data lebih lancar.

  5. Ketekalan dalam Pangkalan Data Vektor Penggunaan OpenRAG mengekalkan ketekalan dengan mengikat pengumpulan data ke pangkalan data vektor tertentu. Pengguna tidak boleh menukar pangkalan data sebaik sahaja ia dipilih untuk koleksi, memastikan pengambilan data yang stabil dan tepat setiap kali.

Bermula dengan OpenRAG

Sebelum terjun ke dunia pertanyaan data dipacu AI, pastikan anda memenuhi prasyarat berikut untuk pemasangan yang lancar:

Prasyarat

Versi Python: Pastikan anda memasang Python 3.9 atau lebih tinggi.
Imej Docker Qdrant: OpenRAG disepadukan dengan Qdrant, dan imej harus dijalankan. Pastikan port 6333 pada localhost boleh diakses.

Pemasangan

  1. Klon Repo:

klon git https://github.com/yourrepo/openrag.git

  1. Buat Persekitaran Maya:

1

2

python3 -m venv openrag-env

source openrag-env/bin/activate

Salin selepas log masuk
  1. Pasang Ketergantungan:

pip install -r requirements.txt

  1. Muat turun Model Bahasa Spacy:

python3 -m spacy muat turun en_core_web_sm

  1. Jalankan Aplikasi:

apl utama uvicorn --muat semula

Dockerization untuk Penggunaan Mudah

Untuk pembangun yang lebih suka menggunakan Docker untuk penggunaan, OpenRAG boleh disimpan dalam bekas:

  1. Bina Imej Docker:

docker build -t openrag-app .

  1. Jalankan Bekas:

larian docker -d -p 8000:8000 openrag-app

Setelah apl berjalan, aksesnya melalui http://localhost:8000 dalam penyemak imbas anda.

Penggunaan: Berinteraksi dengan OpenRAG melalui API

Senibina yang mengutamakan API OpenRAG membolehkannya disepadukan ke dalam pelbagai aplikasi bahagian hadapan. Berikut ialah contoh cara memuat naik PDF dan menanyakan kandungannya melalui API:

Muat naik PDF

1

2

3

4

5

6

curl -X POST "http://localhost:8000/upload" \

-H "accept: application/json" \

-H "Content-Type: multipart/form-data" \

-F "file=@yourfile.pdf" \

-F "model_name=GPT-3.5" \

-F "vector_db_name=qdrant"

Salin selepas log masuk

Mulakan Sesi Sembang
Selepas memuat naik PDF, anda boleh memulakan pertanyaan berasaskan sembang:

1

2

3

4

5

6

7

8

9

curl -X POST "http://localhost:8000/chat" \

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

-d '{

  "collection_name": "your_collection_name",

  "query": "your_query",

  "model_name": "GPT-3.5",

  "vector_db_name": "qdrant",

  "device": "cpu"

}'

Salin selepas log masuk

Skalabiliti dengan OpenRAG
Salah satu kekuatan terbesar OpenRAG ialah kebolehskalaannya. Walaupun ia boleh dijalankan pada mesin tempatan menggunakan alatan seperti uvicorn, ia sedia pengeluaran dan boleh digunakan menggunakan penyedia awan, Docker atau Kubernetes. Dalam persekitaran pengeluaran, OpenRAG menyokong penskalaan melalui alatan seperti Gunicorn, memberikan prestasi yang mantap untuk kes penggunaan trafik tinggi.

Ralat dan Penyelesaian Biasa
Semasa pembangunan, pengguna mungkin menghadapi ralat biasa berikut:

TypeError: Deskriptor tidak boleh dibuat secara langsung.

Untuk menyelesaikan masalah ini, pertimbangkan untuk menurunkan taraf pakej protobuf kepada versi 3.20.x atau lebih rendah, atau tetapkan pembolehubah persekitaran

PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python

Kesimpulan
OpenRAG menonjol sebagai penyelesaian sumber terbuka yang fleksibel untuk pengguna yang ingin memanfaatkan kuasa LLM dan pangkalan data vektor untuk pertanyaan dan cerapan data. Sama ada anda seorang pembangun, penyelidik atau pengguna perusahaan, OpenRAG menyediakan alatan untuk bekerja dengan data anda dengan cara yang sangat cekap dan intuitif.

Untuk dokumentasi API terperinci dan lebih banyak contoh, lawati Dokumentasi API OpenRAG.

Menyumbang kepada OpenRAG
Kami mengalu-alukan sumbangan daripada komuniti! Untuk butiran tentang cara menyumbang, menyerahkan isu atau meminta ciri, lihat CONTRIBUTING.md.

Pautan Repo Github
Buka Repo Rag

Atas ialah kandungan terperinci OpenRAG: Aplikasi GenAI Sumber Terbuka untuk Melebihkan Pertanyaan Data dengan Model Bahasa Besar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks Mar 05, 2025 am 09:58 AM

Cara Menggunakan Python untuk Mencari Pengagihan Zipf Fail Teks

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Bagaimana saya menggunakan sup yang indah untuk menghuraikan html? Mar 10, 2025 pm 06:54 PM

Bagaimana saya menggunakan sup yang indah untuk menghuraikan html?

Penapisan gambar di python Penapisan gambar di python Mar 03, 2025 am 09:44 AM

Penapisan gambar di python

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch? Mar 10, 2025 pm 06:52 PM

Bagaimana untuk melakukan pembelajaran mendalam dengan Tensorflow atau Pytorch?

Pengenalan kepada pengaturcaraan selari dan serentak di Python Pengenalan kepada pengaturcaraan selari dan serentak di Python Mar 03, 2025 am 10:32 AM

Pengenalan kepada pengaturcaraan selari dan serentak di Python

Serialization dan deserialisasi objek python: Bahagian 1 Serialization dan deserialisasi objek python: Bahagian 1 Mar 08, 2025 am 09:39 AM

Serialization dan deserialisasi objek python: Bahagian 1

Cara Melaksanakan Struktur Data Anda Sendiri di Python Cara Melaksanakan Struktur Data Anda Sendiri di Python Mar 03, 2025 am 09:28 AM

Cara Melaksanakan Struktur Data Anda Sendiri di Python

Modul Matematik dalam Python: Statistik Modul Matematik dalam Python: Statistik Mar 09, 2025 am 11:40 AM

Modul Matematik dalam Python: Statistik

See all articles