Maison > développement back-end > Tutoriel Python > Guide rapide et pratique pour exécuter un LLM local et faire des requêtes API

Guide rapide et pratique pour exécuter un LLM local et faire des requêtes API

DDD
Libérer: 2024-11-22 08:55:15
original
838 Les gens l'ont consulté

Quick and Dirty Guide to Running a Local LLM and Making API Requests

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 :

  • Documents sur l'API OpenAI

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
   }'
Copier après la connexion

Jusqu’ici, tout va bien, non ? Rien de révolutionnaire. Mais c’est ici que ça devient amusant…

Entrez dans LM Studio

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
}'
Copier après la connexion

Ç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 ?

Et Python ? Nous vous avons.

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}")
Copier après la connexion

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.

Apprécier!

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!

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