4 Punkte von finnchoi 2024-07-19 | Noch keine Kommentare. | Auf WhatsApp teilen

Problem

  • Für semantische/Natürliche-Sprachsuche und RAG sind Vektor-Embeddings erforderlich
  • Die meisten Embedding-Modelle haben eine Begrenzung der Eingabelänge
    • Die Wahl einer angemessenen Eingabelänge hängt direkt mit der Suchqualität zusammen
    • Wegen der Begrenzung der Eingabelänge werden Absätze in den meisten Fällen getrennt und gespeichert
  • Durch das getrennte Speichern des Originaltexts wird ein einzelnes Dokument in mehrere Dokumente aufgeteilt
    • Die meisten Dokumente bestehen nicht nur aus einem einzigen Textdatensatz, sondern auch aus Metadaten und anderen langen Feldern
    • Um die aufgeteilten Daten zu speichern, muss entweder der aufgeteilte Originaltext zusammen mit Zusatzinformationen redundant gespeichert oder die Speicherung auf mehrere Collections (oder Tabellen) aufgeteilt werden
      • Redundante Speicherung ist wegen des höheren Speicherbedarfs ineffizient, und getrennte Collections erhöhen im Suchprozess die Komplexität durch Joins, Score-Berechnung, Zählung der Dokumentanzahl usw.
    • Dieses Problem tritt häufig auf, wenn man die meisten Vektorspeicher verwendet

Lösung

  • Es wurde nach einer anderen Methode gesucht, bei der der Originaltext nicht aufgeteilt werden muss
  • Die Datenbank und die zugehörigen Bibliotheken wurden so angepasst, dass das Feld, in dem Embedding-Daten gespeichert werden, zweidimensionale Daten annehmen kann
    • Dadurch lassen sich Vektordaten variabler Länge für Dokumente speichern, die ohne Aufteilung des Originaltexts in eine oder mehrere Teile unterteilt sind
    • Mit dieser Methode können der Originaltext und die aufgeteilten Vektordaten ohne Trennung in verschiedene Collections nebeneinander existieren, wodurch Datenverwaltung und Abfragen einfacher werden

Noch keine Kommentare.

Noch keine Kommentare.