Maison >Périphériques technologiques >IA >Une introduction à LMQL: le pont entre les modèles SQL et grand langage
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:
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.
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.
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.
L'installation locale est simple:
pip install lmql
pour la prise en charge du GPU avec Pytorch & gt; = 1.11:
pip install lmql[hf]
L'utilisation d'un environnement virtuel est recommandée.
Trois façons d'exécuter des programmes LMQL existent:
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. lmql run
exécute des fichiers locaux .lmql
. 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
.
Un programme LMQL a cinq pièces clés:
[varname]
pour le texte généré et {varname}
pour la récupération des variables. lmql.model(...)
et transmis à la requête en externe ou à l'aide d'une clause from
. 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.
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!