Repo ini menyediakan contoh aplikasi QnA yang didukung oleh Dataworkz RAG Builder yang menunjukkan kekuatan RAG pada beberapa kumpulan data. Di bagian ini, kami akan menunjukkan cara menjalankan contoh aplikasi QnA di mesin lokal Anda. Lompat ke sini untuk mempelajari lebih lanjut tentang Dataworkz RAG Builder
Kloning Repositori dataworkz-qna-app menggunakan git clone https://github.com/dataworkz-dev/dataworkz-qna-app.git
.
Jika diperlukan, instal node.js untuk platform Anda (Versi Node > 16.0.0).
Kunci API default untuk sampel disertakan dalam proyek ini. Anda dapat mengabaikan langkah #4 dan #5 kecuali Anda berencana membuat akun sendiri untuk pengembangan lebih lanjut.
Anda memerlukan Kunci API Dataworkz untuk mengakses Layanan QnA Dataworkz RAG. Berikut langkah-langkah untuk menghasilkan Kunci API. Catatan: Nama kunci API harus unik untuk semua pengguna, jadi harap pilih nama yang sesuai.
Tempatkan Kunci API yang Anda buat di file token.txt
. Anda dapat menemukan filenya di src/assets/token.txt
.
Jalankan npm install
untuk menginstal dependensi.
Jalankan npm run start
untuk menjalankan server web lokal yang menghosting contoh aplikasi QnA. Untuk mengakses aplikasi, buka browser dan navigasikan ke http://localhost:4200
Silakan laporkan masalah apa pun dengan contoh aplikasi QnA di Masalah
Dataworkz menyederhanakan pengembangan aplikasi RAG untuk bisnis. Dataworkz menawarkan RAG sebagai Layanan sehingga Anda dapat membangun aplikasi GenAI menggunakan data kepemilikan, menggunakan API LLM publik atau model fondasi sumber terbuka yang dihosting secara pribadi.
Pembuat RAG Dataworkz menyederhanakan pembuatan aplikasi GenAI untuk menghilangkan kerumitan yang terkait dengan menyatukan solusi siap pakai. Tumpukan AI yang dapat dikomposisi memberikan kemampuan untuk memilih database vektor, model penyematan, strategi chunking, dan model LLM. Anda memiliki fleksibilitas untuk menggunakan API LLM publik termasuk AWS Bedrock dan OpenAI atau menghosting model sumber terbuka di VPC.
Untuk aplikasi RAG Tingkat Lanjut, Dataworkz menyediakan kemampuan untuk menggabungkan pencarian leksikal dan semantik dengan pemfilteran metadata sehingga memungkinkan aplikasi RAG memproses data tidak terstruktur, semi-terstruktur, atau terstruktur dalam jumlah besar.
Dataworkz terhubung ke berbagai sumber data bisnis - layanan SaaS, database relasional, database NoSQL, file yang disimpan di penyimpanan objek cloud dan menyediakan transformasi tanpa kode untuk membuat data kepemilikan dalam format apa pun siap untuk aplikasi LLM. Saat menggabungkan data dari beberapa sumber, Anda juga dapat mengonfigurasi urutan prioritas untuk sumber input yang digunakan guna membangun konteks untuk menghasilkan respons LLM. Daftar lengkap konektor tersedia di sini.
Pembuat RAG menyediakan API bagi pengembang mana pun untuk menanamkan aplikasi GenAI ke dalam alur kerja mereka yang ada dengan fleksibilitas penuh untuk menyesuaikan tampilan dan nuansa. Contoh aplikasi di repo ini memanfaatkan API ini untuk fungsinya. Kami memiliki bagian tentang integrasi API ke dalam aplikasi ini serta cara menggunakannya dalam aplikasi Anda sendiri.
Munculnya halusinasi menghadirkan hambatan besar dalam penerapan Gen AI secara luas di perusahaan. Dataworkz memungkinkan GenAI untuk merujuk asal-usulnya, sehingga meningkatkan ketertelusuran. Baca blog Dataworkz tentang bagaimana Dataworkz mengevaluasi respons LLM.
Di bagian ini, kami memberikan beberapa catatan pengembang tentang bagaimana contoh aplikasi dibuat dan API apa yang digunakan untuk mendukung berbagai bagian. Anda dapat mencoba API dan sistem Tanya Jawab yang terintegrasi ke dalam aplikasi Anda sendiri. Anda dapat membuat Kunci API (jika sudah dibuat, kunci yang sama dapat digunakan) dan terhubung ke layanan ini.
Dataworkz bekerja sama dengan mitra strategis untuk menunjukkan bagaimana teknologi kami berintegrasi bersama. Contoh aplikasi QnA ini terhubung ke https://ragapps.dataworkz.com sebagai layanan RAG Partner Playground backend. Layanan Partner Playground ini menunjukkan bagaimana Dataworkz dan MongoDB Atlas Vector Search bekerja sama untuk menciptakan sistem QnA untuk dokumen yang tersedia untuk umum seperti 10 ribu pengajuan perusahaan terdaftar seperti Uber.
Contoh sistem QnA menunjukkan cara menggunakan Dataworkz RAG Builder API untuk membuat daftar Sistem QnA dan membuat kueri kaya terhadap kumpulan data ini.
Silakan lihat bagian Pembuatan Kunci API tentang cara mendapatkan Kunci API dan cara menggunakannya untuk memanggil API Dataworkz QnA. Dalam contoh aplikasi QnA, token API diteruskan di header Authentication
menggunakan formulir SWSS <api-key>
.
Dataworkz RAG Builder mendukung konfigurasi beberapa sistem QnA yang terisolasi. Sistem QnA digunakan sebagai domain sistem Tanya Jawab dan dapat dimanfaatkan untuk pemisahan antara beberapa proyek, kelompok sumber, model bahasa besar, versi, atau sub-domain berbeda yang tidak terkait dalam suatu proyek, dll. Sebuah aplikasi mungkin memiliki satu atau lebih sistem QnA. Ketika sebuah pertanyaan diajukan, pertanyaan itu ditanyakan berdasarkan sistem QnA tertentu.
Contoh aplikasi QnA dimulai dengan membuat daftar semua sistem QnA (sebagai kartu) sehingga pengguna dapat memilih salah satu yang dia minati. Pengembang aplikasi dapat memilih untuk membuat daftar sistem untuk dipilih pengguna atau jika pilihannya jelas dari konteksnya maka tetapkan itu dalam kode.
Berikut API untuk mencantumkan semua sistem QnA yang tersedia - https://ragapps.dataworkz.com/api/qna/v1/systems. SystemId QnA yang dipilih akan diperlukan di API berikutnya.
Informasi pada setiap sistem QnA diambil menggunakan API ini - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}. Ini digunakan dalam contoh aplikasi QnA untuk mengisi kartu sistem QnA individual.
Pertanyaan dijawab oleh LLM yang dikonfigurasi di Dataworkz RAG Builder. LLM yang dikonfigurasi untuk sistem dapat berasal dari OpenAI, model yang dihosting secara pribadi (seperti Llama-2), dan Vertex AI Google (Aplikasi contoh dapat mendukung satu atau lebih model ini). API ini menyediakan daftar LLMProviders yang dikonfigurasi berdasarkan sistem QnA - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/llm-providers
Contoh aplikasi QnA menggunakan ini untuk mengisi drop down LLMProviders agar pengguna dapat memilih LLM yang ingin mereka gunakan untuk menjawab pertanyaan. Anda harus menyimpan id Penyedia LLM yang ingin Anda gunakan untuk mengajukan pertanyaan. Pertanyaan dapat diajukan ke penyedia LLM tertentu yang diidentifikasi oleh llmProviderId
yang dikembalikan oleh panggilan API ini.
API untuk mengajukan pertanyaan ke sistem Dataworkz QnA adalah https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/answer
API ini memerlukan systemId
dari sistem QnA yang Anda targetkan dan llmProviderId
dari LLM untuk digunakan. Contoh aplikasi QnA memanfaatkan API ini untuk mendukung halaman "Pencarian Pengetahuan". Respons API ini mencakup respons dari LLM serta tautan ke sumber resmi yang mendukung jawabannya.
Contoh aplikasi QnA menyediakan daftar pertanyaan yang diajukan sebelumnya dari sistem QnA. Ini adalah metode kenyamanan bagi pengguna untuk melihat pertanyaan yang telah dijawab sebelumnya. API berikut digunakan - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId)/questionshistory
Dataworkz menyediakan daftar pertanyaan yang telah dijawab sebelumnya beserta skor tambahan dan analisis kualitas jawaban. Baca lebih lanjut tentang ini di sini. Contoh aplikasi QnA menggunakan API ini untuk memberikan detail pada setiap pertanyaan yang dijawab - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/questions/{questionId}