Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Redis

วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis

การอยู่ในโลกที่คนส่วนใหญ่ลำบากในการออกจากบ้านโดยไม่มีสมาร์ทโฟน หมายความว่า Google ไม่เคยห่างไกลจากเรามากนัก เราสามารถพบคำตอบสำหรับคำถามเกือบทุกข้อได้ในทันทีโดยใช้คำค้นหาในเครื่องมือค้นหาของ Google

เสิร์ชเอ็นจิ้น (และการเข้าถึงข้อมูลที่ไม่สิ้นสุด) ได้ถูกรวมเข้ากับชีวิตประจำวัน ทำให้เราหลายคนพึ่งพาพวกเขาอย่างไม่น่าเชื่อ และเพื่อให้เหมาะสมที่สุด จำเป็นต้องดึงคำตอบสำหรับคำถามทันทีเนื่องจากมาตรฐานระดับสูงที่กำหนดโดย Google และยักษ์ใหญ่ด้านเทคโนโลยีอื่นๆ

ความล่าช้า ความล่าช้า หรือการลากใดๆ จะขัดขวางประสบการณ์ของผู้ใช้ ซึ่งเป็นสาเหตุที่แอป Launchpad นี้ Alexis ใช้ Redis เป็นฐานข้อมูลหลักในการเอาชนะอุปสรรคนี้

Bobby Donchev ผู้ก่อตั้งแอปพลิเคชันนี้ได้ใช้ประโยชน์จากพลังของ RedisAI และ RediSearch เพื่อดึงข้อมูลจากคลังข้อมูลเพื่อตอบสนองต่อการสืบค้นที่มีประสิทธิภาพสูงสุด ผู้ใช้สามารถจัดทำดัชนี PDF และใช้ UI แบบง่ายเพื่อดึงข้อมูลจากเอกสารของตน

หากไม่มี Redis กระบวนการค้นหาทั้งหมดจะซบเซา ซึ่งเป็นอุปสรรคต่อการทำงานของ Alexis มาดูกันว่า Bobby นำแอปพลิเคชันนี้มารวมกันอย่างไร

อย่างไรก็ตาม ก่อนดำเนินการต่อ เราขอเน้นว่าเรายังมีแอปพลิเคชันที่ยอดเยี่ยมมากมายให้คุณลองใช้บน Redis Launchpad ดังนั้นอย่าลืมลองดู!

  1. คุณจะสร้างอะไร
  2. คุณต้องการอะไร
  3. สถาปัตยกรรม
  4. เริ่มต้นใช้งาน
  5. วิธีการจัดเก็บข้อมูล
  6. วิธีการเข้าถึงข้อมูล
  7. วิธีการทำงาน

1. คุณจะสร้างอะไร

คุณจะสร้างตัวจัดลำดับข้อความที่มีประสิทธิภาพซึ่งสามารถดึงข้อความค้นหาด้วยความเร็วสูงสุด ผู้ใช้จะสามารถใช้ประโยชน์จากแอปพลิเคชันนี้เพื่อจัดทำดัชนี PDF ที่สำคัญและดึงคำตอบจากเอกสารได้อย่างง่ายดาย

เราจะดำเนินการแต่ละขั้นตอนตามลำดับเวลาและเน้นว่าองค์ประกอบใดที่จำเป็นในการสร้างแอปพลิเคชัน

วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis 2. คุณต้องการอะไร
  • ค้นหาซ้ำ : ดัชนี การสืบค้น และเครื่องมือค้นหาข้อความแบบเต็ม 
  • RedisAI : ดำเนินการโมเดลการเรียนรู้เชิงลึก/แมชชีนเลิร์นนิงเพื่อจัดการข้อมูลและลดเวลาในการตอบสนอง
  • สตรีม Redis : จัดการปริมาณการใช้ข้อมูล 
  • NodeJS : ใช้เป็นโอเพ่นซอร์สข้ามแพลตฟอร์มที่รันโค้ด JavaScript นอกเว็บเบราว์เซอร์
  • RedisJSON : ใช้ ECMA-404 JSON Data Interchange Standard เป็นประเภทข้อมูลดั้งเดิม

3. สถาปัตยกรรม

การให้คำตอบสำหรับคำค้นหาของผู้ค้นหาเกิดขึ้นในสองขั้นตอน:

  1. อันดับแรก คุณเลือกข้อความที่น่าจะมีคำตอบ คุณจะต้องใช้ RediSearch กับฟังก์ชันการจัดอันดับ BM25 สำหรับขั้นตอนนี้
  2. คุณสามารถใช้โมเดล Transformer AI ที่โหลดลงใน RedisAI เพื่อระบุช่วงคำตอบในข้อความได้

เมื่อใช้ RediSearch ในขั้นตอนแรก คุณจะลดพื้นที่การค้นหาลงอย่างมาก ซึ่งจะทำให้ประสบการณ์โดยรวมของแอปเร็วขึ้น หลังจากนี้ คุณจะต้องใช้ NodeJS กับ typescript ในแบ็กเอนด์ และ React ด้วย typescript ในส่วนหน้า

นอกจากการใช้ RedisAI และ RediSearch แล้ว คุณจะใช้ประโยชน์จาก RedisJSON สำหรับโมเดลผู้ใช้ของคุณ รวมถึงผู้ปฏิบัติงานแบบอะซิงโครนัสที่ปรับใช้กับ Redis Streams

เว็บเซิร์ฟเวอร์ถูกเปิดเผยด้วยกรอบงานด่วนที่มีจุดปลายดังต่อไปนี้:

เมื่อคุณลงทะเบียนและเข้าสู่ระบบแอปแล้ว คุณจะเริ่มเพิ่มเอกสารไปยังไลบรารีที่จัดทำดัชนีได้ เมื่ออัปโหลด PDF กิจกรรมจะถูกเขียนลงใน Redis Streams หลังจากนั้น บางคนจากกลุ่มผู้บริโภคจะรับกิจกรรมเพื่อการประมวลผลแบบอะซิงโครนัส

จากนั้นคุณสามารถประมวลผล PDF ทำความสะอาด และจัดเก็บ PDF ในแฮช Redis ที่จัดทำดัชนีด้วย RediSearch ขณะนี้ คุณจะสามารถส่งข้อความค้นหาทั่วไปไปยังเซิร์ฟเวอร์ได้ และจะไม่ถูกจำกัดให้ค้นหาด้วยคีย์เวิร์ดพื้นฐาน เช่น 'การปรับใช้ kubernetes' 'การรวมรูท DDD' ฯลฯ 

คุณจะสามารถค้นหาการค้นหาที่เกี่ยวข้องมากขึ้นแทน

ผังงาน

ด้านล่างนี้คือภาพรวมทั่วไปเกี่ยวกับการทำงานของอเล็กซิส

วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis ตอนนี้เรามาดูว่า อัปโหลด PDF และจัดทำดัชนีเนื้อหา PDF อย่างไร และ คำตอบ บางส่วนของผังงานทำงาน

ตอบคำถาม

วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis ของ
  • ผู้ใช้พิมพ์คำถามลงในเครื่องมือค้นหา
  • RediSearch จัดทำดัชนี PDF และค้นหาคำตอบสำหรับคำถามนี้
  • RedisAI ทำการอนุมานและดึงคำตอบที่เป็นไปได้จำนวนหนึ่ง
  • RedisAI จะเปรียบเทียบแต่ละคำตอบและตัดสินใจว่าคำตอบใดที่เกี่ยวข้องกับข้อความค้นหามากที่สุด
  • คำตอบจะแสดงให้ผู้ใช้เห็นในที่สุด
  • 4. เริ่มต้นใช้งาน

    ขั้นตอนที่ 1:ติดตั้งข้อกำหนดเบื้องต้น

    • Node - v12.x.x
    • NPM - v6.x.x
    • Docker and Docker-compose

    ขั้นตอนที่ 2 โคลนที่เก็บ

    ขั้นตอนที่ 3:ติดตั้งการพึ่งพา

    เปลี่ยนไดเร็กทอรีเป็น alexis และรันคำสั่งด้านล่าง:

    npm install

    ขั้นตอนที่ 4 การตั้งค่าส่วนหน้าและส่วนหลัง

    คำสั่งด้านล่างจะบูตเซิร์ฟเวอร์และแอปไคลเอ็นต์ และจะเริ่มต้นเซิร์ฟเวอร์ Redis และ RedisInsight GUI:

    npm run bootstrap

    ขั้นตอนที่ 5. เริ่มแอปพลิเคชัน

    npm start

    ขั้นตอนที่ 6 การเข้าถึงแอปพลิเคชัน

    เปิด https://localhost:3000 เพื่อเข้าสู่แอปพลิเคชัน

    ขั้นตอนที่ 7 การเข้าถึง RedisInsight

    RedisInsight เป็นเครื่องมือภาพที่ช่วยให้คุณทำการโต้ตอบทั้งแบบ GUI และ CLI กับฐานข้อมูล Redis ของคุณ และอื่นๆ อีกมากมายเมื่อพัฒนาแอปพลิเคชันที่ใช้ Redis เป็นไคลเอ็นต์เดสก์ท็อป GUI แท้ที่มีคุณลักษณะครบถ้วนซึ่งให้ความสามารถในการออกแบบ พัฒนา และเพิ่มประสิทธิภาพแอปพลิเคชัน Redis ของคุณ คลิกที่นี่เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ RedisInsight

    RedisInsight GUI สามารถเข้าถึงได้ผ่านทางลิงก์ต่อไปนี้:https://localhost:8001

    5. วิธีการจัดเก็บข้อมูล

    ขั้นตอนที่ 1: ข้อมูลผู้ใช้ถูกเก็บไว้ใน RedisJSON

    ขั้นตอนที่ 2: มีการสร้างดัชนี RediSearch สำหรับผู้ใช้แต่ละคนด้วยรหัสด้านล่าง

    ขั้นตอนที่ 3: เมื่อผู้ใช้อัปโหลด PDF เราจะอัปเดตอาร์เรย์ PDF ของเขาด้วย RedisJSON

    ขั้นตอนที่ 4: การอัปโหลดไฟล์ยังทริกเกอร์เหตุการณ์ที่กำลังเขียนไปยัง ax:stream:pdf-processing ลำธาร. เพย์โหลดของสตรีมคือ:

    ขั้นตอนที่ 5: ผู้บริโภคภายในกลุ่มผู้บริโภคเลือกกิจกรรมจากสตรีมและประมวลผลไฟล์ รวมถึงเขียนเนื้อหาในแฮชด้วย

    6. วิธีการเข้าถึงข้อมูล

    ในแอปพลิเคชันนี้มีดัชนี RediSearch สำหรับผู้ใช้แต่ละรายที่ทำดัชนีแฮชด้านบน ซึ่งให้ความสามารถในการค้นหาเพื่อจับคู่เนื้อหาที่เกี่ยวข้องกับการสืบค้นของผู้ใช้ วิเคราะห์เนื้อหาด้วยโค้ดด้านล่าง:

    เนื้อหาที่ RediSearch ดึงมาจะถูกส่งไปยัง RedisAI เพื่อทำการวิเคราะห์

    7. วิธีการทำงาน

    สร้างบัญชี

    เมื่อคุณเปิดแอป Alexis คุณจะถูกนำไปที่พอร์ทัลเพื่อให้คุณเข้าสู่ระบบ (ดูภาพด้านล่าง) หากคุณยังไม่มีบัญชี คุณจะมีโอกาสสร้างบัญชีใหม่จากไฮเปอร์ลิงก์ที่ด้านล่าง

    วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis

    เมื่อคุณอัปโหลดเอกสารแล้ว คุณจะได้รับการยืนยันพื้นที่เก็บข้อมูลผ่านการแสดงชื่อเอกสารทางด้านซ้ายของหน้าจอ (ดูด้านล่าง)

    วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis เมื่อสิ่งนี้เกิดขึ้น PDF จะถูกอัปโหลดไปยังเซิร์ฟเวอร์และจะถูกล้างในพื้นหลังด้วย กระบวนการนี้มีประสิทธิภาพเนื่องจากความสามารถขั้นสูงของ Redis

    สร้างคำถามของคุณ

    วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis บทสรุป:ทำให้การค้นหาง่ายขึ้นด้วย Redis

    เมื่อมันเดือด ทุกคนคาดหวังว่าข้อความค้นหาจะโต้ตอบทันทีโดยไม่ชักช้า อะไรก็ตาม ท้ายที่สุดนี่คือยุคดิจิทัล และความล่าช้าใดๆ ก็ตามจะผลักผู้ใช้ออกไปและมุ่งไปสู่สิ่งที่เหมาะสมกว่าเท่านั้น

    การใช้ Redis ทำให้ Alexis ได้รับการขับเคลื่อนให้ทำงานด้วยมาตรฐานระดับพรีเมียม การรวบรวมเนื้อหาที่มีความหมายที่สุดจากสถานที่ต่างๆ ทำได้รวดเร็วและมีประสิทธิภาพด้วย RediSearch และความสามารถขั้นสูงของ RedisAI ก็สามารถกลั่นกรองเนื้อหานี้และให้คำตอบที่เกี่ยวข้องและแม่นยำที่สุดแก่ผู้ใช้สำหรับคำถามของพวกเขา

    หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับวิธีการสร้างแอปพลิเคชันนี้ คุณควรตรวจสอบวิดีโอ YouTube ของ Bobby เรายังมีแอปพลิเคชันมากมายเพื่อให้คุณได้รับแรงบันดาลใจจาก Redis Launchpad

    ตั้งแต่การสร้างระบบติดตามรถประจำทางแบบเรียลไทม์ในเฮลซิงกิ ไปจนถึงการปกป้องบริษัทประกันพืชผลในประเทศกำลังพัฒนา โปรแกรมเมอร์จากทั่วทุกมุมโลกต่างแสวงหาความมหัศจรรย์ของ Redis เพื่อสร้างความแตกต่างในชีวิตประจำวัน และคุณก็ทำได้!

    วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis ใครเป็นคนสร้างแอปพลิเคชันนี้

    บ็อบบี้ ดอนเชฟ

    วิธีสร้างเครื่องมือจัดข้อความที่ทรงพลังโดยใช้ Redis

    Bobby เป็นวิศวกรเขียนโปรแกรมแบบไดนามิกที่มีประสบการณ์มากกว่าสิบสองปีในการออกแบบและใช้งานระบบสำหรับลูกค้า

    อย่าลืมดูที่หน้า GitHub ของเขาเพื่อติดตามข่าวสารล่าสุดเกี่ยวกับโครงการทั้งหมดที่เขาเกี่ยวข้อง