Diese zweiteilige Serie untersucht die Verwendung von SQLite für maschinelles Lernen. Der vorherige Artikel erläuterte die wachsende Rolle von SQLite bei produktionsbereiten Webanwendungen. Dieser Artikel konzentriert sich auf die Implementierung der Abruf-Generation (RAG) mit SQLite.
Für benutzerdefinierte Webanwendungen mit generativer KI besuchen Sie LosangelesaiApps.com
Der Code ist verfügbar hier .
traditionelle Lag -Implementierung beinhaltet häufig:
- Auf der Suche nach Tutorials auf Rag.
- Auswählen eines beliebten Rahmens (Langchain, llamaindex).
- Auswählen einer Cloud -Vektor -Datenbank (Pnecone, Waaviate).
- integrieren Sie diese Komponenten.
Obwohl wir effektiv sind, kann dieser Ansatz insbesondere für Anfänger zu komplex sein. Dieser Artikel zeigt eine einfachere Methode mit SQLite mit der Erweiterung sqlite-vec
und der OpenAI -API. Teil 1 dieser Serie bietet einen detaillierten Überblick über die Funktionen von SQLite. Für diesen Artikel reicht es aus, die Einfachheit von SQLite als Einzelfilmatenbank zu verstehen.
Dieser Ansatz beseitigt die Notwendigkeit von Cloud -Vektor -Datenbanken und sperrigen Frameworks.
Die Stärke von sqlite liegt in seiner Erweiterbarkeit. Erweiterungen, ähnlich wie in Python-Bibliotheken, fügen Sie die in C geschriebene Funktionalität hinzu. Ein Hauptbeispiel ist die FTS-Erweiterung (Full-Text-Search).
fügt Vektorsuchfunktionen hinzu und ermöglicht das semantische Verständnis über die Keyword -Übereinstimmung hinaus. Die Suche nach "Pferden" könnte "Equestrian" oder "Pony" zurückkehren.
sqlite-vec
sqlite-vec
- benutzerdefinierte Datenquellen:
- Daten können außerhalb der Datenbankdatei (z. B. CSV, API). liegen.
- Flexible Funktionalität: unterstützt spezielle Indizierung und komplexe Datentypen.
- nahtlose Integration: Integriert in die Standard -SQLite -Abfrage -Syntax.
- Module: Die Backend -Logik wird in einem separaten Modul implementiert.
erstellt
CREATE VIRTUAL TABLE my_table USING my_extension_module();
Gibt das Modul an (hier my_extension_module()
aus vec0
). sqlite-vec
Code -Walkthrough
Der Code ( repo link ) verwendet Dateien als Beispieldaten (meist physikalisch bezogen). .txt
ist die SQLite -Datenbankdatei. my_docs.db
-
Installation: listet die erforderlichen Bibliotheken (
requirements.txt
,sqlite-vec
,openai
) auf. Erstellen Sie eine virtuelle Umgebung und führen Siepython-dotenv
.pip install -r requirements.txt
aus -
OpenAI -API -Schlüssel: Erhalten Sie einen OpenAI -API -Schlüssel.
-
Laden der Erweiterung: Der Python -Code lädt die Erweiterung
sqlite-vec
und erstellt eine virtuelle Tabelle:
CREATE VIRTUAL TABLE my_table USING my_extension_module();
Die Tabelle documents
speichert Emetten (embedding
), Dateinamen (file_name
) und Inhalt (content
).
bezeichnet Hilfsfelder.
- Einbettung und Einfügen: Die Code iteriert
.txt
Dateien, generiert Einbetten mithilfe der OpenAI -API und fügt sie in die Datenbank ein:
db.enable_load_extension(True) sqlite_vec.load(db) db.enable_load_extension(False) db.execute(''' CREATE VIRTUAL TABLE documents USING vec0( embedding float[1536], +file_name TEXT, +content TEXT ) ''')
- RAG -Abfrage: Eine KNN -Abfrage ruft ähnliche Dokumente basierend auf der Einbettung der Ähnlichkeit ab:
# ... (OpenAI embedding function) ... for file_name in os.listdir("data"): # ... (Open file, get content, get embedding) ... db.execute( 'INSERT INTO documents (embedding, file_name, content) VALUES (?, ?, ?)', (serialize_float32(embedding), file_name, content) ) db.commit()
Die Ergebnisse werden dann als Kontext für eine OpenAI -Chat -Fertigstellung verwendet, um die Abfrage zu beantworten.
Schlussfolgerung
sqlite-vec
vereinfacht Lag erheblich. Es beseitigt die Notwendigkeit komplexer Frameworks und Cloud-Dienste, so dass es kostengünstig und leicht zu iterieren ist. Während die Skalierung möglicherweise eine robustere Datenbank erfordern, bietet sqlite-vec
eine überzeugende Lösung für kleinere Projekte. Die Erweiterung unterstützt mehrere Programmiersprachen.
Das obige ist der detaillierte Inhalt vonWiederaufnahme der Augmented -Generation in SQLite. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Mit der Explosion von AI -Anwendungen wechseln Unternehmen von der herkömmlichen Suchmaschinenoptimierung (SEO) auf generative Motoroptimierung (GEO). Google führt die Verschiebung an. Die Funktion "KI -Übersicht" hat mehr als eine Milliarde Nutzer bedient und vollständige Antworten bereitgestellt, bevor Benutzer auf den Link klicken. [^2] Andere Teilnehmer steigen ebenfalls schnell. Chatgpt, Microsoft Copilot und Verwirrung erstellen eine neue Kategorie „Antwort Engine“, die herkömmliche Suchergebnisse vollständig umgeht. Wenn Ihr Unternehmen in diesen Antworten mit AI-generierten Antworten nicht angezeigt wird, finden Sie potenzielle Kunden möglicherweise nie-auch wenn Sie in herkömmlichen Suchergebnissen hoch rangieren. Von SEO bis Geo - was genau bedeutet das? Jahrzehntelang

Lassen Sie uns die potenziellen Wege zu künstlicher allgemeinen Intelligenz (AGI) untersuchen. Diese Analyse ist Teil meiner laufenden Forbes -Spalte zu KI -Fortschritten, die sich mit der Komplexität der Erreichung von AGI und künstlicher Superintelligence (ASI) befassen. (Siehe verwandte Kunst

Human-Computer-Interaktion: Ein zarter Tanz der Anpassung Die Interaktion mit einem KI -Chatbot ist wie die Teilnahme an einem heiklen Tanz mit gegenseitigem Einfluss. Ihre Fragen, Antworten und Vorlieben prägen das System nach und nach, um Ihre Anforderungen besser zu erfüllen. Moderne Sprachmodelle passen sich den Benutzerpräferenzen durch explizite Feedback -Mechanismen und implizite Mustererkennung an. Sie lernen Ihren Kommunikationsstil, erinnern sich an Ihre Vorlieben und passen ihre Antworten allmählich an Ihre Erwartungen an. Während wir unsere digitalen Partner ausbilden, geschieht in umgekehrter Richtung etwas, das ebenso wichtig ist. Unsere Interaktionen mit diesen Systemen verändern subtil unsere eigenen Kommunikationsmuster, Denkprozesse und sogar die Erwartungen zwischen zwischenmenschlichen Gesprächen. Unsere Interaktionen mit KI -Systemen haben begonnen, unsere Erwartungen an zwischenmenschliche Interaktionen umzugestalten. Wir haben uns an sofortige Reaktion angepasst,

KI rationalisiert die Waldfeuer -Erholung zulässt es Die KI -Software von Australian Tech -Firma Archistar, die maschinelles Lernen und Computer Vision nutzt, automatisiert die Bewertung der Erstellung von Plänen für die Einhaltung lokaler Vorschriften. Diese Vorvalidation signifikant

Estlands digitale Regierung: Ein Modell für die USA? Die USA kämpfen mit bürokratischen Ineffizienzen, aber Estland bietet eine überzeugende Alternative. Diese kleine Nation verfügt über eine fast 100% digitalisierte, bürgerzentrierte Regierung, die von der KI betrieben wird. Das ist nicht

Die Planung einer Hochzeit ist eine monumentale Aufgabe, die selbst die am meisten organisierten Paare oft überwältigt. In diesem Artikel, einem Teil einer laufenden Forbes -Serie zu AIs Auswirkungen (siehe Link hier), wird untersucht, wie generative KI die Hochzeitsplanung revolutionieren kann. Die Hochzeit pl

Unternehmen nutzen zunehmend KI -Agenten für den Umsatz, während die Regierungen sie für verschiedene etablierte Aufgaben nutzen. Verbrauchervertreter heben jedoch die Notwendigkeit hervor, dass Einzelpersonen ihre eigenen KI-Agenten als Verteidigung gegen die oft gezogenen

Google führt diese Verschiebung an. Die Funktion "KI -Übersichten" bietet bereits mehr als eine Milliarde Nutzer und liefert vollständige Antworten, bevor jemand auf einen Link klickt. [^2] Andere Spieler gewinnen ebenfalls schnell an Boden. Chatgpt, Microsoft Copilot und PE


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors
Der beliebteste Open-Source-Editor

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

mPDF
mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),
