suchen
HeimTechnologie-PeripheriegeräteKIWiederaufnahme der Augmented -Generation in SQLite

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();

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();

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
    )
''')
  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()

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!

Stellungnahme
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
Ich habe versucht, die Vibe -Codierung mit Cursor AI und es ist erstaunlich!Ich habe versucht, die Vibe -Codierung mit Cursor AI und es ist erstaunlich!Mar 20, 2025 pm 03:34 PM

Die Vibe -Codierung verändert die Welt der Softwareentwicklung, indem wir Anwendungen mit natürlicher Sprache anstelle von endlosen Codezeilen erstellen können. Inspiriert von Visionären wie Andrej Karpathy, lässt dieser innovative Ansatz Dev

So verwenden Sie Dall-E 3: Tipps, Beispiele und FunktionenSo verwenden Sie Dall-E 3: Tipps, Beispiele und FunktionenMar 09, 2025 pm 01:00 PM

Dall-e 3: Ein generatives KI-Bilderstellungstool Generative AI revolutioniert die Erstellung von Inhalten, und Dall-E 3, das neueste Bildgenerierungsmodell von OpenAI, steht vor der Spitze. Veröffentlicht im Oktober 2023 baut es auf seinen Vorgängern Dall-E und Dall-E 2 auf

Top 5 Genai Starts vom Februar 2025: GPT-4,5, GROK-3 & MEHR!Top 5 Genai Starts vom Februar 2025: GPT-4,5, GROK-3 & MEHR!Mar 22, 2025 am 10:58 AM

Februar 2025 war ein weiterer bahnbrechender Monat für die Generative KI, die uns einige der am meisten erwarteten Modell-Upgrades und bahnbrechenden neuen Funktionen gebracht hat. Von Xais Grok 3 und Anthropics Claude 3.7 -Sonett, um g zu eröffnen

Wie benutze ich Yolo V12 zur Objekterkennung?Wie benutze ich Yolo V12 zur Objekterkennung?Mar 22, 2025 am 11:07 AM

Yolo (Sie schauen nur einmal) war ein führender Echtzeit-Objekterkennungsrahmen, wobei jede Iteration die vorherigen Versionen verbessert. Die neueste Version Yolo V12 führt Fortschritte vor, die die Genauigkeit erheblich verbessern

Elon Musk & Sam Altman kämpfen über 500 Milliarden US -Dollar Stargate -ProjektElon Musk & Sam Altman kämpfen über 500 Milliarden US -Dollar Stargate -ProjektMar 08, 2025 am 11:15 AM

Das 500 -Milliarden -Dollar -Stargate AI -Projekt, das von Tech -Giganten wie Openai, Softbank, Oracle und Nvidia unterstützt und von der US -Regierung unterstützt wird, zielt darauf ab, die amerikanische KI -Führung zu festigen. Dieses ehrgeizige Unternehmen verspricht eine Zukunft, die von AI Advanceme geprägt ist

Sora vs Veo 2: Welches erstellt realistischere Videos?Sora vs Veo 2: Welches erstellt realistischere Videos?Mar 10, 2025 pm 12:22 PM

Google's Veo 2 und Openais Sora: Welcher AI -Videogenerator regiert oberste? Beide Plattformen erzeugen beeindruckende KI -Videos, aber ihre Stärken liegen in verschiedenen Bereichen. Dieser Vergleich unter Verwendung verschiedener Eingabeaufforderungen zeigt, welches Werkzeug Ihren Anforderungen am besten entspricht. T

Gencast von Google: Wettervorhersage mit Gencast Mini DemoGencast von Google: Wettervorhersage mit Gencast Mini DemoMar 16, 2025 pm 01:46 PM

Gencast von Google Deepmind: Eine revolutionäre KI für die Wettervorhersage Die Wettervorhersage wurde einer dramatischen Transformation unterzogen, die sich von rudimentären Beobachtungen zu ausgefeilten AI-angetriebenen Vorhersagen überschreitet. Google DeepMinds Gencast, ein Bodenbrei

Welche KI ist besser als Chatgpt?Welche KI ist besser als Chatgpt?Mar 18, 2025 pm 06:05 PM

Der Artikel erörtert KI -Modelle, die Chatgpt wie Lamda, Lama und Grok übertreffen und ihre Vorteile in Bezug auf Genauigkeit, Verständnis und Branchenauswirkungen hervorheben. (159 Charaktere)

See all articles

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

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

mPDF

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),