recherche
MaisonPériphériques technologiquesIAGénération augmentée augmentée de récupération dans SQLite

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

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

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

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
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
Qu'est-ce que le protocole de contexte modèle (MCP)?Qu'est-ce que le protocole de contexte modèle (MCP)?Mar 03, 2025 pm 07:09 PM

Le protocole de contexte du modèle (MCP): un connecteur universel pour l'IA et les données Nous connaissons tous le rôle de l'IA dans le codage quotidien. Replit, GitHub Copilot, Black Box AI et Cursor IDE ne sont que quelques exemples de la façon dont AI rationalise nos flux de travail. Mais imaginez

Construire un agent de vision local utilisant omniparser v2 et omnitoolConstruire un agent de vision local utilisant omniparser v2 et omnitoolMar 03, 2025 pm 07:08 PM

Omniparser V2 et Omnitool de Microsoft: révolutionner l'automatisation de l'interface graphique avec l'IA Imaginez l'IA qui ne comprend pas seulement mais interagit également avec votre interface Windows 11 comme un professionnel chevronné. Omniparser v2 et omnitool de Microsoft en font un re

J'ai essayé le codage d'ambiance avec Cursor Ai et c'est incroyable!J'ai essayé le codage d'ambiance avec Cursor Ai et c'est incroyable!Mar 20, 2025 pm 03:34 PM

Le codage des ambiances est de remodeler le monde du développement de logiciels en nous permettant de créer des applications en utilisant le langage naturel au lieu de lignes de code sans fin. Inspirée par des visionnaires comme Andrej Karpathy, cette approche innovante permet de dev

Guide de la piste ACT-ONE: Je me suis filmé pour le testerGuide de la piste ACT-ONE: Je me suis filmé pour le testerMar 03, 2025 am 09:42 AM

Ce billet de blog partage mon expérience de l'outil d'animation ACT-One de Test Testing Runway ML, couvrant à la fois son interface Web et son API Python. Bien que prometteurs, mes résultats étaient moins impressionnants que prévu. Vous voulez explorer une IA générative? Apprenez à utiliser les LLMS dans P

Replit Agent: un guide avec des exemples pratiquesReplit Agent: un guide avec des exemples pratiquesMar 04, 2025 am 10:52 AM

Révolutionment du développement des applications: une plongée profonde dans l'agent de repelit Vous en avez assez de lutter avec des environnements de développement complexes et des fichiers de configuration obscurs? Replit Agent vise à simplifier le processus de transformation des idées en applications fonctionnelles. Cet ai-p

Top 5 Genai Lunets de février 2025: GPT-4.5, Grok-3 et plus!Top 5 Genai Lunets de février 2025: GPT-4.5, Grok-3 et plus!Mar 22, 2025 am 10:58 AM

Février 2025 a été un autre mois qui change la donne pour une IA générative, nous apportant certaines des mises à niveau des modèles les plus attendues et de nouvelles fonctionnalités révolutionnaires. De Xai's Grok 3 et Anthropic's Claude 3.7 Sonnet, à Openai's G

Comment utiliser YOLO V12 pour la détection d'objets?Comment utiliser YOLO V12 pour la détection d'objets?Mar 22, 2025 am 11:07 AM

Yolo (vous ne regardez qu'une seule fois) a été un cadre de détection d'objets en temps réel de premier plan, chaque itération améliorant les versions précédentes. La dernière version Yolo V12 introduit des progrès qui améliorent considérablement la précision

Comment utiliser Dall-E 3: Conseils, exemples et fonctionnalitésComment utiliser Dall-E 3: Conseils, exemples et fonctionnalitésMar 09, 2025 pm 01:00 PM

Dall-E 3: Un outil de création d'images génératifs AI L'IA générative révolutionne la création de contenu, et Dall-E 3, le dernier modèle de génération d'images d'Openai, est à l'avant. Sorti en octobre 2023, il s'appuie sur ses prédécesseurs, Dall-E et Dall-E 2

See all articles

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

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
1 Il y a quelques moisBy尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semainesBy尊渡假赌尊渡假赌尊渡假赌

Outils chauds

MantisBT

MantisBT

Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

VSCode Windows 64 bits Télécharger

VSCode Windows 64 bits Télécharger

Un éditeur IDE gratuit et puissant lancé par Microsoft

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

SublimeText3 version anglaise

SublimeText3 version anglaise

Recommandé : version Win, prend en charge les invites de code !

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit