Maison >développement back-end >Tutoriel Python >Guide rapide et pratique pour exécuter un LLM local et faire des requêtes API
Très bien, attachez votre ceinture car nous plongeons dans une solution rapide et sale pour exécuter un LLM (Language Model) local et faire des requêtes API – un peu comme ce que font les solutions commerciales sophistiquées. Pourquoi? Eh bien, pourquoi pas ? En seulement trois minutes environ, vous pouvez disposer d’un système parfaitement décent fonctionnant localement pour la plupart de vos tests. Et si jamais vous ressentez le besoin de passer à nouveau au cloud, revenir en arrière se fait pratiquement sans effort.
Voici la documentation que nous suivrons, principalement pour que vous puissiez prétendre que vous l'avez lue :
En particulier, nous nous concentrerons sur la réalisation d'une demande comme celle-ci :
curl https://api.openai.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $OPENAI_API_KEY" \ -d '{ "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "Say this is a test!"}], "temperature": 0.7 }'
Jusqu’ici, tout va bien, non ? Rien de révolutionnaire. Mais c’est ici que ça devient amusant…
Il existe ce petit bijou appelé LM Studio](https://lmstudio.ai/), qui rend les LLM locaux beaucoup plus faciles à gérer. Après avoir installé et exécuté votre modèle, vous remarquerez un onglet avec une icône de console appelée Développeur. Je sais, ça n’a pas l’air très excitant au début, mais attendez, parce que ça s’améliore. Cet onglet est livré avec un exemple CURL pratique qui vous montre exactement comment utiliser votre modèle local. Et, ne le savez-vous pas, cela semble assez familier !
curl http://localhost:1234/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "llama-3.1-8b-lexi-uncensored-v2", "messages": [ { "role": "system", "content": "Always answer in rhymes. Today is Thursday" }, { "role": "user", "content": "What day is it today?" } ], "temperature": 0.7, "max_tokens": -1, "stream": false }'
Ça vous semble assez familier, non ? C'est la version locale de ce que nous venons de voir. Vous obtenez la même configuration que la requête API OpenAI, sauf qu'elle s'exécute sur votre ordinateur local. De plus, il a un peu de flair, comme l'invite système « Toujours répondre en rimes ». La poésie, ça vous dit ?
Si vous préférez travailler avec Python (et soyons réalistes, qui ne le fait pas ?), voici comment envoyer la même requête en utilisant le module de requêtes de Python :
import requests import json url = "http://localhost:1234/v1/chat/completions" headers = { "Content-Type": "application/json" } data = { "model": "llama-3.1-8b-lexi-uncensored-v2", "messages": [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "What is the capital of France?"} ], "temperature": 0.7, "max_tokens": -1, "stream": False } response = requests.post(url, headers=headers, data=json.dumps(data)) if response.status_code == 200: result = response.json() print(result["choices"][0]["message"]["content"]) else: print(f"Error: {response.status_code}")
Et voilà ! Vous êtes maintenant prêt à envoyer des requêtes à votre LLM local, comme vous le feriez avec une API commerciale. Allez-y, testez-le, cassez-le, faites-le rimer – le monde (ou du moins votre modèle) est votre huître.
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!