Maison Périphériques technologiques IA Génération augmentée augmentée de récupération dans SQLite

Génération augmentée augmentée de récupération dans SQLite

Feb 26, 2025 am 02:49 AM

Cette série en deux parties explore à l'aide de SQLite pour l'apprentissage automatique. L'article précédent a discuté du rôle croissant de SQLite dans les applications Web prêtes à la production. Cet article se concentre sur la mise en œuvre de la génération (RAG) de la récupération à l'aide de SQLite.

Pour les applications Web personnalisées avec une IA générative, visitez losangelesaiacs.com

Le code est disponible ici .

La mise en œuvre traditionnelle des chiffons implique souvent:

  1. Recherche de tutoriels sur le chiffon.
  2. Sélection d'un cadre populaire (Langchain, Llamaindex).
  3. Choisir une base de données de vecteur de cloud (Pinecone, Weavate).
  4. Intégration de ces composants.

Bien que efficace, cette approche peut être trop complexe, en particulier pour les débutants. Cet article montre une méthode plus simple utilisant SQLite avec l'extension sqlite-vec et l'API OpenAI. La partie 1 de cette série fournit un aperçu détaillé des capacités de SQLite. Pour cet article, il suffit de comprendre la simplicité de Sqlite en tant que base de données unique.

Cette approche élimine le besoin de bases de données de vecteur cloud et de frameworks volumineux.

SQLITE-VEC: Extension de la puissance de Sqlite

La force de Sqlite réside dans son extensibilité. Extensions, similaires aux bibliothèques Python, ajouter des fonctionnalités écrites en C. Un exemple est l'extension de recherche en texte intégral (FTS). sqlite-vec ajoute des capacités de recherche vectorielle, permettant une compréhension sémantique au-delà de la correspondance des mots clés. La recherche de "chevaux" peut retourner "équestre" ou "poney".

sqlite-vec utilise des tables virtuelles, l'offre:

  • Sources de données personnalisées: Les données peuvent résider en dehors du fichier de base de données (par exemple, CSV, API).
  • Fonctionnalité flexible: prend en charge l'indexation spécialisée et les types de données complexes.
  • Intégration transparente: s'intègre à la syntaxe de requête SQLite standard.
  • Modules: La logique backend est implémentée dans un module séparé.

Les tables virtuelles sont créées en utilisant:

CREATE VIRTUAL TABLE my_table USING my_extension_module();
Copier après la connexion
Copier après la connexion

my_extension_module() Spécifie le module (ici, vec0 de sqlite-vec).

Procédure de code du code

Le code ( Repo Link ) utilise des fichiers .txt comme exemples de données (principalement liées à la physique). my_docs.db est le fichier de base de données SQLite.

  1. Installation: requirements.txt répertorie les bibliothèques nécessaires (sqlite-vec, openai, python-dotenv). Créez un environnement virtuel et exécutez pip install -r requirements.txt.

  2. Clé API OpenAI: Obtenez une clé API Openai.

  3. Chargement de l'extension: Le code Python charge l'extension sqlite-vec et crée une table virtuelle:

CREATE VIRTUAL TABLE my_table USING my_extension_module();
Copier après la connexion
Copier après la connexion

Le tableau documents stocke les intégres (embedding), les noms de fichiers (file_name) et le contenu (content). désigne les champs auxiliaires.

  1. ENCRIPTION ET INSERRTION: Le code itère dans les fichiers .txt, génère des intégres à l'aide de l'API OpenAI et les insère dans la base de données:
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
    )
''')
Copier après la connexion
  1. requête RAG: Une requête KNN récupère des documents similaires basés sur la similitude d'intégration:
# ... (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()
Copier après la connexion

Les résultats sont ensuite utilisés comme contexte pour une réalisation de chat Openai pour répondre à la requête.

Conclusion

sqlite-vec simplifie considérablement le chiffon. Il élimine le besoin de cadres complexes et de services cloud, ce qui le rend rentable et facile à itérer. Bien que l'échelle puisse éventuellement nécessiter une base de données plus robuste, sqlite-vec offre une solution convaincante pour les petits projets. L'extension prend en charge plusieurs langages de programmation.

Retrieval Augmented Generation in SQLite

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel Java
1652
14
Tutoriel PHP
1251
29
Tutoriel C#
1224
24
Début avec Meta Llama 3.2 - Analytics Vidhya Début avec Meta Llama 3.2 - Analytics Vidhya Apr 11, 2025 pm 12:04 PM

META'S LLAMA 3.2: un bond en avant dans l'IA multimodal et mobile Meta a récemment dévoilé Llama 3.2, une progression importante de l'IA avec de puissantes capacités de vision et des modèles de texte légers optimisés pour les appareils mobiles. S'appuyer sur le succès o

10 extensions de codage générateur AI dans le code vs que vous devez explorer 10 extensions de codage générateur AI dans le code vs que vous devez explorer Apr 13, 2025 am 01:14 AM

Hé là, codant ninja! Quelles tâches liées au codage avez-vous prévues pour la journée? Avant de plonger plus loin dans ce blog, je veux que vous réfléchissiez à tous vos malheurs liés au codage - les énumérez. Fait? - Let & # 8217

AV Bytes: Meta & # 039; S Llama 3.2, Google's Gemini 1.5, et plus AV Bytes: Meta & # 039; S Llama 3.2, Google's Gemini 1.5, et plus Apr 11, 2025 pm 12:01 PM

Le paysage de l'IA de cette semaine: un tourbillon de progrès, de considérations éthiques et de débats réglementaires. Les principaux acteurs comme Openai, Google, Meta et Microsoft ont déclenché un torrent de mises à jour, des nouveaux modèles révolutionnaires aux changements cruciaux de LE

Vendre une stratégie d'IA aux employés: le manifeste du PDG de Shopify Vendre une stratégie d'IA aux employés: le manifeste du PDG de Shopify Apr 10, 2025 am 11:19 AM

La récente note du PDG de Shopify Tobi Lütke déclare hardiment la maîtrise de l'IA une attente fondamentale pour chaque employé, marquant un changement culturel important au sein de l'entreprise. Ce n'est pas une tendance éphémère; C'est un nouveau paradigme opérationnel intégré à P

Un guide complet des modèles de langue de vision (VLMS) Un guide complet des modèles de langue de vision (VLMS) Apr 12, 2025 am 11:58 AM

Introduction Imaginez vous promener dans une galerie d'art, entourée de peintures et de sculptures vives. Maintenant, que se passe-t-il si vous pouviez poser une question à chaque pièce et obtenir une réponse significative? Vous pourriez demander: «Quelle histoire racontez-vous?

GPT-4O VS OpenAI O1: Le nouveau modèle Openai vaut-il le battage médiatique? GPT-4O VS OpenAI O1: Le nouveau modèle Openai vaut-il le battage médiatique? Apr 13, 2025 am 10:18 AM

Introduction Openai a publié son nouveau modèle basé sur l'architecture «aux fraises» très attendue. Ce modèle innovant, connu sous le nom d'O1, améliore les capacités de raisonnement, lui permettant de réfléchir à des problèmes Mor

Lire l'index de l'IA 2025: L'AI est-elle votre ami, ennemi ou copilote? Lire l'index de l'IA 2025: L'AI est-elle votre ami, ennemi ou copilote? Apr 11, 2025 pm 12:13 PM

Le rapport de l'indice de l'intelligence artificielle de 2025 publié par le Stanford University Institute for Human-oriented Artificial Intelligence offre un bon aperçu de la révolution de l'intelligence artificielle en cours. Interprétons-le dans quatre concepts simples: cognition (comprendre ce qui se passe), l'appréciation (voir les avantages), l'acceptation (défis face à face) et la responsabilité (trouver nos responsabilités). Cognition: l'intelligence artificielle est partout et se développe rapidement Nous devons être très conscients de la rapidité avec laquelle l'intelligence artificielle se développe et se propage. Les systèmes d'intelligence artificielle s'améliorent constamment, obtenant d'excellents résultats en mathématiques et des tests de réflexion complexes, et il y a tout juste un an, ils ont échoué lamentablement dans ces tests. Imaginez des problèmes de codage complexes de résolution de l'IA ou des problèmes scientifiques au niveau des diplômés - depuis 2023

Comment ajouter une colonne dans SQL? - Analytique Vidhya Comment ajouter une colonne dans SQL? - Analytique Vidhya Apr 17, 2025 am 11:43 AM

Instruction ALTER TABLE de SQL: Ajout de colonnes dynamiquement à votre base de données Dans la gestion des données, l'adaptabilité de SQL est cruciale. Besoin d'ajuster votre structure de base de données à la volée? L'énoncé de la table alter est votre solution. Ce guide détaille l'ajout de Colu

See all articles