การซื้อคืนนี้จัดเตรียมแอปพลิเคชัน QnA ตัวอย่างที่ขับเคลื่อนโดย Dataworkz RAG Builder ซึ่งสาธิตประสิทธิภาพของ RAG บนชุดข้อมูลหลายชุด ในส่วนนี้ เราจะแสดงวิธีรับแอปพลิเคชัน QnA ตัวอย่างที่ทำงานบนเครื่องของคุณ ข้ามมาที่นี่เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Dataworkz RAG Builder
ที่เก็บโคลน dataworkz-qna-app โดยใช้ git clone https://github.com/dataworkz-dev/dataworkz-qna-app.git
หากจำเป็น ให้ติดตั้ง node.js สำหรับแพลตฟอร์มของคุณ (เวอร์ชันโหนด > 16.0.0)
คีย์ API เริ่มต้นสำหรับตัวอย่างจะรวมอยู่ในโปรเจ็กต์นี้ คุณสามารถเพิกเฉยขั้นตอน # 4 และ # 5 ได้ เว้นแต่ว่าคุณวางแผนที่จะสร้างบัญชีของคุณเองเพื่อการพัฒนาต่อไป
คุณจะต้องมีคีย์ Dataworkz API เพื่อเข้าถึงบริการ Dataworkz RAG QnA ต่อไปนี้เป็นขั้นตอนในการสร้างคีย์ API หมายเหตุ: ชื่อคีย์ API จะต้องไม่ซ้ำกันสำหรับผู้ใช้ทุกคน ดังนั้นโปรดเลือกชื่อตามนั้น
วางคีย์ API ที่คุณสร้างขึ้นในไฟล์ token.txt
คุณสามารถค้นหาไฟล์ได้ที่ src/assets/token.txt
รัน npm install
เพื่อติดตั้งการพึ่งพา
รัน npm run start
เพื่อรันเว็บเซิร์ฟเวอร์ในเครื่องที่โฮสต์แอปพลิเคชัน QnA ตัวอย่าง หากต้องการเข้าถึงแอปพลิเคชัน ให้เปิดเบราว์เซอร์แล้วไปที่ http://localhost:4200
โปรดรายงานปัญหาใดๆ เกี่ยวกับแอปพลิเคชัน QnA ตัวอย่างในปัญหา
Dataworkz ช่วยให้การพัฒนาแอป RAG ง่ายขึ้นสำหรับธุรกิจ Dataworkz นำเสนอ RAG เป็นบริการ เพื่อให้คุณสามารถสร้างแอปพลิเคชัน GenAI โดยใช้ข้อมูลที่เป็นกรรมสิทธิ์ โดยใช้ LLM API สาธารณะหรือโมเดลพื้นฐานโอเพ่นซอร์สที่โฮสต์แบบส่วนตัว
เครื่องมือสร้าง RAG ของ Dataworkz เพิ่มความคล่องตัวในการสร้างแอปพลิเคชัน GenAI เพื่อขจัดความซับซ้อนที่เกี่ยวข้องกับการรวมโซลูชันแบบครบวงจรเข้าด้วยกัน สแต็ก AI ที่ประกอบได้ให้ความสามารถในการเลือกฐานข้อมูลเวกเตอร์ โมเดลการฝัง กลยุทธ์การแยกชิ้นส่วน และโมเดล LLM คุณมีความยืดหยุ่นในการใช้ LLM API สาธารณะ รวมถึง AWS Bedrock และ OpenAI หรือโฮสต์โมเดลโอเพ่นซอร์สใน VPC
สำหรับแอปพลิเคชัน RAG ขั้นสูง Dataworkz มอบความสามารถในการรวมการค้นหาคำศัพท์และความหมายเข้ากับการกรองเมตาดาต้า ซึ่งช่วยให้แอป RAG สามารถประมวลผลข้อมูลที่ไม่มีโครงสร้าง กึ่งโครงสร้าง หรือข้อมูลที่มีโครงสร้างในปริมาณมาก
Dataworkz เชื่อมต่อกับแหล่งข้อมูลทางธุรกิจต่างๆ เช่น บริการ SaaS, ฐานข้อมูลเชิงสัมพันธ์, ฐานข้อมูล NoSQL, ไฟล์ที่จัดเก็บไว้ในที่เก็บออบเจ็กต์บนคลาวด์ และมอบการแปลงแบบไม่ต้องใช้โค้ดเพื่อสร้างข้อมูลที่เป็นกรรมสิทธิ์ในทุกรูปแบบให้พร้อมสำหรับแอปพลิเคชัน LLM เมื่อรวมข้อมูลจากหลายแหล่ง คุณยังสามารถกำหนดค่าลำดับความสำคัญสำหรับแหล่งอินพุตที่ใช้ในการสร้างบริบทสำหรับการสร้างการตอบสนอง LLM รายการตัวเชื่อมต่อทั้งหมดมีอยู่ที่นี่
RAG builder มอบ API สำหรับนักพัฒนาเพื่อฝังแอปพลิเคชัน GenAI ลงในเวิร์กโฟลว์ที่มีอยู่ โดยมีความยืดหยุ่นเต็มที่ในการปรับแต่งรูปลักษณ์ แอปพลิเคชันตัวอย่างใน repo นี้ใช้ประโยชน์จาก API นี้ในการทำงาน เรามีส่วนเกี่ยวกับการรวม API เข้ากับแอปนี้ตลอดจนวิธีใช้ในแอปพลิเคชันของคุณเอง
การเกิดขึ้นของอาการประสาทหลอนทำให้เกิดอุปสรรคสำคัญในการนำ Gen AI ไปใช้อย่างแพร่หลายภายในองค์กรต่างๆ Dataworkz ช่วยให้ GenAI สามารถอ้างอิงถึงต้นกำเนิดได้ จึงช่วยเพิ่มความสามารถในการตรวจสอบย้อนกลับ อ่านบล็อก Dataworkz เกี่ยวกับวิธีที่ Dataworkz ประเมินการตอบสนองของ LLM
ในส่วนนี้ เราจะให้หมายเหตุสำหรับนักพัฒนาเกี่ยวกับวิธีการสร้างแอปพลิเคชันตัวอย่างและ API ใดที่ใช้ในการขับเคลื่อนส่วนต่างๆ คุณสามารถลองใช้ API และระบบคำถามและคำตอบที่รวมอยู่ในแอปพลิเคชันของคุณเองได้ คุณสามารถสร้างคีย์ API ได้ (หากสร้างแล้ว สามารถใช้คีย์เดียวกันได้) และเชื่อมต่อกับบริการนี้
Dataworkz ทำงานร่วมกับพันธมิตรเชิงกลยุทธ์เพื่อสาธิตวิธีการผสานรวมเทคโนโลยีของเราเข้าด้วยกัน แอปพลิเคชัน QnA ตัวอย่างนี้เชื่อมต่อกับ https://ragapps.dataworkz.com เป็นบริการ RAG Partner Playground แบ็กเอนด์ บริการ Partner Playground นี้สาธิตวิธีที่ Dataworkz และ MongoDB Atlas Vector Search ทำงานร่วมกันเพื่อสร้างระบบ QnA สำหรับเอกสารที่เปิดเผยต่อสาธารณะ เช่น เอกสาร 10,000 รายการของบริษัทจดทะเบียน เช่น Uber
ระบบ QnA ตัวอย่างสาธิตวิธีใช้ Dataworkz RAG Builder API เพื่อแสดงรายการระบบ QnA และทำการสืบค้นแบบสมบูรณ์กับชุดข้อมูลนี้
โปรดดูส่วนการสร้างคีย์ API เกี่ยวกับวิธีรับคีย์ API และวิธีใช้เพื่อเรียกใช้ Dataworkz QnA API ในตัวอย่างแอปพลิเคชัน QnA โทเค็น API จะถูกส่งผ่านในส่วนหัว Authentication
โดยใช้แบบฟอร์ม SWSS <api-key>
Dataworkz RAG Builder รองรับการกำหนดค่าระบบ QnA ที่แยกหลายระบบ ระบบ QnA ใช้เป็นโดเมนของระบบคำถามและคำตอบ และสามารถใช้ประโยชน์เพื่อแยกระหว่างหลายโครงการ กลุ่มแหล่งที่มา โมเดลภาษาขนาดใหญ่ เวอร์ชัน หรือโดเมนย่อยที่แตกต่างกันที่ไม่เกี่ยวข้องในโครงการ ฯลฯ แอปพลิเคชันอาจมีหนึ่งรายการขึ้นไป ระบบถาม-ตอบ เมื่อถามคำถาม ระบบจะถามคำถามกับระบบ QnA ที่เฉพาะเจาะจง
แอปพลิเคชันตัวอย่าง QnA เริ่มต้นด้วยการแสดงรายการระบบ QnA ทั้งหมด (เป็นการ์ด) เพื่อให้ผู้ใช้เลือกระบบที่เธอสนใจ ผู้พัฒนาแอปพลิเคชันสามารถเลือกแสดงรายการระบบสำหรับการเลือกผู้ใช้ หรือหากตัวเลือกนั้นชัดเจนจากบริบท ให้ตั้งค่า มันขึ้นเป็นโค้ด
นี่คือ API สำหรับแสดงรายการระบบ QnA ที่มีอยู่ทั้งหมด - https://ragapps.dataworkz.com/api/qna/v1/systems รหัสระบบ QnA ที่เลือกจะต้องใช้ใน API ครั้งต่อไป
ข้อมูลในแต่ละระบบ QnA จะถูกดึงข้อมูลโดยใช้ API นี้ - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId} ซึ่งใช้ในแอปพลิเคชัน QnA ตัวอย่างเพื่อเติมการ์ดระบบ QnA แต่ละรายการ
คำถามจะได้รับคำตอบโดย LLM ที่กำหนดค่าใน Dataworkz RAG Builder LLM ที่กำหนดค่าสำหรับระบบอาจมาจาก OpenAI, โมเดลที่โฮสต์แบบส่วนตัว (เช่น Llama-2) และ Vertex AI ของ Google (แอปตัวอย่างสามารถรองรับอย่างน้อยหนึ่งรายการ) API นี้แสดงรายการ LLMProviders ที่กำหนดค่าโดยระบบ QnA - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/llm-providers
ตัวอย่างแอปพลิเคชัน QnA ใช้สิ่งนี้เพื่อเติมรายการแบบเลื่อนลง LLMProviders เพื่ออนุญาตให้ผู้ใช้เลือก LLM ที่พวกเขาต้องการใช้เพื่อตอบคำถาม คุณควรเก็บรหัสของ LLMProvider ที่คุณต้องการใช้เพื่อถามคำถาม สามารถถามคำถามกับผู้ให้บริการ LLM ที่ระบุโดย llmProviderId
ที่ส่งคืนโดยการเรียก API นี้
API ที่จะถามคำถามกับระบบ Dataworkz QnA คือ https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/answer
API นี้ต้องการ systemId
ของระบบ QnA ที่คุณกำหนดเป้าหมายและ llmProviderId
ของ LLM ที่จะใช้ ตัวอย่างแอปพลิเคชัน QnA ใช้ประโยชน์จาก API นี้เพื่อขับเคลื่อนหน้า "การค้นหาความรู้" การตอบสนองของ API นี้รวมถึงการตอบกลับจาก LLM เช่นเดียวกับลิงก์ไปยังแหล่งข้อมูลที่เชื่อถือได้ที่สำรองคำตอบ
ตัวอย่างแอปพลิเคชัน QnA แสดงรายการคำถามที่ถามก่อนหน้านี้จากระบบ QnA นี่เป็นวิธีการอำนวยความสะดวกสำหรับผู้ใช้ในการดูคำถามที่ตอบไปแล้วก่อนหน้านี้ ใช้ API ต่อไปนี้ - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId)/questionshistory
Dataworkz จัดเตรียมรายการคำถามที่ตอบไปแล้วก่อนหน้านี้ พร้อมด้วยคะแนนเพิ่มเติมและการวิเคราะห์คุณภาพของคำตอบ อ่านเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ที่นี่ ตัวอย่างแอปพลิเคชัน QnA ใช้ API นี้เพื่อให้รายละเอียดเกี่ยวกับคำถามที่ตอบแล้วแต่ละข้อ - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/questions/{questionId}