Heim Technologie-Peripheriegeräte KI Wiederaufnahme der Augmented -Generation in SQLite

Wiederaufnahme der Augmented -Generation in SQLite

Feb 26, 2025 am 02:49 AM

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:

  1. Auf der Suche nach Tutorials auf Rag.
  2. Auswählen eines beliebten Rahmens (Langchain, llamaindex).
  3. Auswählen einer Cloud -Vektor -Datenbank (Pnecone, Waaviate).
  4. 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

verwendet virtuelle Tabellen und bietet an:

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.
virtuelle Tabellen werden mit:

erstellt

CREATE VIRTUAL TABLE my_table USING my_extension_module();
Nach dem Login kopieren
Nach dem Login kopieren

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

  1. Installation: listet die erforderlichen Bibliotheken (requirements.txt, sqlite-vec, openai) auf. Erstellen Sie eine virtuelle Umgebung und führen Sie python-dotenv. pip install -r requirements.txt aus

  2. OpenAI -API -Schlüssel: Erhalten Sie einen OpenAI -API -Schlüssel.

  3. 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();
Nach dem Login kopieren
Nach dem Login kopieren

Die Tabelle documents speichert Emetten (embedding), Dateinamen (file_name) und Inhalt (content). bezeichnet Hilfsfelder.

  1. 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
    )
''')
Nach dem Login kopieren
  1. 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()
Nach dem Login kopieren

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.

Retrieval Augmented Generation in SQLite

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1662
14
PHP-Tutorial
1262
29
C#-Tutorial
1235
24
Erste Schritte mit Meta Lama 3.2 - Analytics Vidhya Erste Schritte mit Meta Lama 3.2 - Analytics Vidhya Apr 11, 2025 pm 12:04 PM

Metas Lama 3.2: Ein Sprung nach vorne in der multimodalen und mobilen KI Meta hat kürzlich Lama 3.2 vorgestellt, ein bedeutender Fortschritt in der KI mit leistungsstarken Sichtfunktionen und leichten Textmodellen, die für mobile Geräte optimiert sind. Aufbau auf dem Erfolg o

10 generative AI -Codierungsweiterungen im VS -Code, die Sie untersuchen müssen 10 generative AI -Codierungsweiterungen im VS -Code, die Sie untersuchen müssen Apr 13, 2025 am 01:14 AM

Hey da, codieren Ninja! Welche Codierungsaufgaben haben Sie für den Tag geplant? Bevor Sie weiter in diesen Blog eintauchen, möchte ich, dass Sie über all Ihre Coding-Leiden nachdenken-die Auflistung auflisten diese auf. Erledigt? - Lassen Sie &#8217

AV -Bytes: META ' S Lama 3.2, Googles Gemini 1.5 und mehr AV -Bytes: META ' S Lama 3.2, Googles Gemini 1.5 und mehr Apr 11, 2025 pm 12:01 PM

Die KI -Landschaft dieser Woche: Ein Wirbelsturm von Fortschritten, ethischen Überlegungen und regulatorischen Debatten. Hauptakteure wie OpenAI, Google, Meta und Microsoft haben einen Strom von Updates veröffentlicht, von bahnbrechenden neuen Modellen bis hin zu entscheidenden Verschiebungen in LE

Verkauf von KI -Strategie an Mitarbeiter: Shopify -CEO Manifesto Verkauf von KI -Strategie an Mitarbeiter: Shopify -CEO Manifesto Apr 10, 2025 am 11:19 AM

Das jüngste Memo von Shopify -CEO Tobi Lütke erklärt kühn für jeden Mitarbeiter eine grundlegende Erwartung und kennzeichnet eine bedeutende kulturelle Veränderung innerhalb des Unternehmens. Dies ist kein flüchtiger Trend; Es ist ein neues operatives Paradigma, das in P integriert ist

GPT-4O gegen OpenAI O1: Ist das neue OpenAI-Modell den Hype wert? GPT-4O gegen OpenAI O1: Ist das neue OpenAI-Modell den Hype wert? Apr 13, 2025 am 10:18 AM

Einführung OpenAI hat sein neues Modell auf der Grundlage der mit Spannung erwarteten „Strawberry“ -Scharchitektur veröffentlicht. Dieses innovative Modell, bekannt als O1

Ein umfassender Leitfaden zu Vision Language Models (VLMs) Ein umfassender Leitfaden zu Vision Language Models (VLMs) Apr 12, 2025 am 11:58 AM

Einführung Stellen Sie sich vor, Sie gehen durch eine Kunstgalerie, umgeben von lebhaften Gemälden und Skulpturen. Was wäre, wenn Sie jedem Stück eine Frage stellen und eine sinnvolle Antwort erhalten könnten? Sie könnten fragen: „Welche Geschichte erzählst du?

Neueste jährliche Zusammenstellung der besten technischen Techniken Neueste jährliche Zusammenstellung der besten technischen Techniken Apr 10, 2025 am 11:22 AM

Für diejenigen unter Ihnen, die in meiner Kolumne neu sein könnten, erforsche ich allgemein die neuesten Fortschritte in der KI auf dem gesamten Vorstand, einschließlich Themen wie verkörpertes KI, KI-Argumentation, High-Tech

Wie füge ich eine Spalte in SQL hinzu? - Analytics Vidhya Wie füge ich eine Spalte in SQL hinzu? - Analytics Vidhya Apr 17, 2025 am 11:43 AM

SQL -Änderungstabellanweisung: Dynamisches Hinzufügen von Spalten zu Ihrer Datenbank Im Datenmanagement ist die Anpassungsfähigkeit von SQL von entscheidender Bedeutung. Müssen Sie Ihre Datenbankstruktur im laufenden Flug anpassen? Die Änderungstabelleerklärung ist Ihre Lösung. Diese Anleitung Details Hinzufügen von Colu

See all articles