Maison > Périphériques technologiques > IA > Une introduction à LMQL: le pont entre les modèles SQL et grand langage

Une introduction à LMQL: le pont entre les modèles SQL et grand langage

Lisa Kudrow
Libérer: 2025-03-08 10:54:14
original
841 Les gens l'ont consulté

An Introduction to LMQL: The Bridge Between SQL and Large Language Models

SQL, le langage de requête structuré, est la pierre angulaire de la gestion des bases de données, permettant un stockage, une récupération et une manipulation efficaces de données. Son adoption généralisée découle de sa simplicité et de son efficacité dans la gestion de vastes ensembles de données. Cependant, le paysage de données en évolution introduit de nouveaux défis.

L'essor de l'intelligence artificielle et des modèles de langue importante (LLMS) présente des outils puissants, mais l'interaction avec eux peut être lourd. C'est là que LMQL intervient.

développé par le laboratoire SRI à ETH Zurich, LMQL agit comme un pont entre les développeurs et les LLM. Il apporte la puissance de requête structurée de SQL au monde des modèles de langage, rationalisait les interactions et améliorant l'efficacité.

Ce tutoriel couvre:

  • Qu'est-ce que LMQL?
  • Pourquoi utiliser lmql?
  • Configuration de lmql
  • Applications LMQL pratiques
  • LMQL LMQL
  • meilleures pratiques

Qu'est-ce que LMQL?

LMQL, ou Modèles de langage Le langage de requête, est un nouveau langage de programmation conçu pour les LLM. Il combine des fonctionnalités déclaratives de type SQL avec une syntaxe de script impérative, offrant une approche plus structurée de l'extraction d'informations et de la génération de réponse à partir de LLMS.

Surtout, LMQL étend Python, ajoutant de nouvelles fonctionnalités et élargissant ses capacités. Cela permet aux développeurs d'élaborer des invites en langage naturel incorporant du texte et du code, augmentant la flexibilité et l'expressivité des requêtes. Comme ses créateurs l'indiquent, LMQL intègre de manière transparente l'interaction LLM dans le code du programme, allant au-delà des modèles traditionnels. Il a été introduit dans un document de recherche, "l'invitation est la programmation: un langage de requête pour les modèles de langage de grande partie", comme solution pour "l'incitation du modèle de langage" (LMP).

LLMS Excel aux tâches comme la réponse aux questions et la génération de code, générant des séquences logiques basées sur des probabilités d'entrée. LMP exploite cela en utilisant des instructions de langue ou des exemples pour déclencher des tâches. Les techniques avancées permettent même des interactions entre les utilisateurs, le modèle et les outils externes.

Le défi consiste à atteindre des performances optimales ou à adapter les LLM pour des tâches spécifiques, nécessitant souvent des programmes complexes et spécifiques à la tâche qui peuvent encore dépendre des interactions ad hoc. LMQL aborde cela en fournissant un mélange intuitif d'incitation au texte et de script, permettant aux utilisateurs de définir des contraintes sur la sortie LLM.

Pourquoi utiliser lmql?

Bien que les LLM modernes puissent être invités conceptuellement, maximiser leur potentiel et s'adapter à de nouveaux modèles nécessite une compréhension approfondie de leur fonctionnement interne et de leurs outils spécifiques aux fournisseurs. Des tâches comme la limitation de la sortie à des mots ou des phrases spécifiques peuvent être complexes en raison de la tokenisation. De plus, l'utilisation de LLMS, que ce soit localement ou via des API, coûte cher en raison de leur taille.

LMQL atténue ces problèmes. Il réduit les appels LLM en tirant parti des comportements prédéfinis et des contraintes de recherche. Il simplifie également les techniques d'incitation qui impliquent souvent une communication itérative entre l'utilisateur et le modèle ou des interfaces spécialisées. Les capacités de contrainte de LMQL sont cruciales pour les environnements de production, assurant une sortie prévisible et processeur. Par exemple, dans l'analyse des sentiments, LMQL assure une sortie cohérente comme des réponses «positives», «négatives» ou «neutres» plutôt que plus verbeuses et moins facilement analysées. Les contraintes lisibles par l'homme remplacent directement la nécessité de travailler par des jetons modèles.

Configuration de lmql

LMQL peut être installé localement ou accessible via son IDE de terrain de jeu en ligne. L'installation locale est nécessaire pour les modèles auto-hébergés à l'aide de Transformers ou Llama.cpp.

Configuration de l'installation et de l'environnement

L'installation locale est simple:

pip install lmql
Copier après la connexion

pour la prise en charge du GPU avec Pytorch & gt; = 1.11:

pip install lmql[hf]
Copier après la connexion

L'utilisation d'un environnement virtuel est recommandée.

Trois façons d'exécuter des programmes LMQL existent:

  1. Playground: lmql playground lance un IDE basé sur le navigateur (nécessite Node.js). Accès via https://www.php.cn/link/4a914e5c38172ae9b61780ffbd0b2f90 sinon lancé automatiquement.
  2. ligne de commande: lmql run exécute des fichiers locaux .lmql.
  3. Intégration Python: import lmql et utilisez lmql.run ou le @lmql.query décorateur.

Lorsque vous utilisez des modèles de transformateurs locaux dans le terrain de jeu ou la ligne de commande, lancez l'API d'inférence LMQL en utilisant lmql serve-model.

Comprendre la syntaxe LMQL

Un programme LMQL a cinq pièces clés:

  • Query: La méthode de communication principale entre l'utilisateur et LLM. Utilise [varname] pour le texte généré et {varname} pour la récupération des variables.
  • Décodeur: Spécifie l'algorithme de décodage (par exemple, recherche de faisceau). Peut être défini dans la requête ou en externe (en python).
  • Modèle: LMQL prend en charge divers modèles (Openai, llama.cpp, transformateurs HuggingFace). Les modèles sont chargés à l'aide de lmql.model(...) et transmis à la requête en externe ou à l'aide d'une clause from.
  • Contraintes: Contrôle la sortie LLM en utilisant diverses contraintes (phrases d'arrêt, types de données, longueur de caractères / jetons, regex, contraintes personnalisées).
  • Distribution: définit le format et la structure de sortie.

LIMITATIONS LMQL ET SOUTIEN DES COMMUNAUTAIRES

La nouveauté relative de LMQL mène à une petite communauté et à une documentation moins complète. Les limitations avec l'API OpenAI limitent également l'utilisation complète avec certains modèles comme ChatGpt. Cependant, le développement continu promet des améliorations.

Conclusion

LMQL offre une approche puissante inspirée de SQL pour interagir avec les LLM. Ses capacités d'intégration et de contrainte Python en font un outil précieux pour diverses applications. Pour un apprentissage plus approfondi, explorez les ressources sur Llamaindex, Chatgpt Alternatives, LLM Formation avec Pytorch, Langchain et l'API Cohere.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal