Maison > Périphériques technologiques > IA > Tutoriel GPTCACH: Amélioration de l'efficacité dans les applications LLM

Tutoriel GPTCACH: Amélioration de l'efficacité dans les applications LLM

Joseph Gordon-Levitt
Libérer: 2025-03-07 10:18:11
original
213 Les gens l'ont consulté

GPTCACH est un framework open-source pour les applications de modèle de grande langue (LLM) comme ChatGpt. Il stocke les réponses LLM générées précédemment à des requêtes similaires. Au lieu de compter sur le LLM, l'application vérifie le cache d'une réponse pertinente pour vous faire gagner du temps.

Ce guide explore comment fonctionne GPTCache et comment vous pouvez l'utiliser efficacement dans vos projets.

Qu'est-ce que GPTCache?

GPTCACH est un système de mise en cache conçu pour améliorer les performances et l'efficacité des modèles de grands langues (LLM) comme GPT-3. Il aide les LLMS à stocker les requêtes précédemment générées pour gagner du temps et des efforts.

Lorsqu'une requête similaire revient, le LLM peut retirer la réponse en cache au lieu d'en développer un nouveau à partir de zéro.

Contrairement à d'autres outils, GPTCache fonctionne sur la mise en cache sémantique. Les caches sémantiques maintiennent l'objectif d'une requête / demande. En conséquence, lorsque les requêtes précédemment stockées sont rappelées, leur résultat réduit la charge de travail du serveur et améliore les taux de réussite du cache.

Avantages de l'utilisation de gptcache

L'idée principale derrière GPTCache est de stocker et de réutiliser les calculs intermédiaires générés pendant le processus d'inférence d'un LLM. Cela présente plusieurs avantages:

Économies de coûts sur les appels de l'API LLM

La plupart des LLM facturent des frais spécifiques par demande en fonction du nombre de jetons traités. C’est à ce moment-là que GPTCACH est utile. Il minimise le nombre d'appels API LLM en servant des réponses générées précédemment pour des requêtes similaires. En conséquence, cela permet d'économiser les coûts en réduisant les dépenses d'appels LLM supplémentaires.

Amélioration du temps de réponse et de l'efficacité

La récupération de la réponse d'un cache est sensiblement plus rapide que de la générer à partir de zéro en interrogeant le LLM. Il augmente la vitesse et améliore les temps de réponse. Des réponses efficaces réduisent le fardeau de la LLM elle-même et la libération de l'espace qui peut être allouée à d'autres tâches.

Expérience utilisateur améliorée via des performances d'application plus rapides

Supposons que vous recherchiez des questions pour votre contenu. Chaque question que vous posez prend des âges pour répondre à l'IA pour répondre. Pourquoi? Étant donné que la plupart des services LLM appliquent les limites de demande dans les périodes définies. Le dépassement de ces limites bloque les demandes supplémentaires jusqu'à ce que la limite se réinitialise, ce qui provoque des interruptions de service.

Tutoriel GPTCACH: Amélioration de l'efficacité dans les applications LLM

Chatgpt peut atteindre sa limite de génération de réponse

Pour éviter ces problèmes, Gptchache cache des réponses précédentes à des questions similaires. Lorsque vous demandez quelque chose, il vérifie rapidement sa mémoire et fournit les informations en un flash. En conséquence, vous obtenez votre réponse en moins de temps que d'habitude.

En termes simples, en tirant parti des réponses mises en cache, GPTCache garantit que les applications basées sur LLM deviennent réactives et efficaces - tout comme vous vous attendez de tout outil moderne.

Configuration de gptcache

Voici comment vous pouvez installer GPTCache directement:

Installation et configuration

Installez le package GPTCache en utilisant ce code.

! pip install -q gptcache
Copier après la connexion
Copier après la connexion

Ensuite, importez GPTCache dans votre application.

from gptcache import GPTCache
cache = GPTCache()  
# keep the mode default 
Copier après la connexion

c'est tout, et vous avez terminé!

Intégration avec LLMS

Vous pouvez intégrer GPTCache avec LLMS via son adaptateur LLM. À partir de maintenant, il est compatible avec seulement deux adaptateurs de modèles de langues importants:

  • openai
  • Langchain

Voici comment vous pouvez l'intégrer avec les deux adaptateurs:

gptcache avec API Openai Chatgpt

Pour intégrer GPTCache à OpenAI, initialisez le cache et importez Openai à partir de gptcache.adapter.

from gptcache import cache
from gptcache.adapter import openai

cache.init()
cache.set_openai_key()
Copier après la connexion

Avant d'exécuter l'exemple de code, définissez la variable d'environnement Openai_API_KEY en exécutant Echo $ openai_api_key.

S'il n'est pas déjà défini, vous pouvez le définir à l'aide d'exportation openai_api_key = votre_api_key sur les systèmes UNIX / Linux / macOS ou définir Openai_API_KEY = votre_API_KEY sur les systèmes Windows.

Ensuite, si vous posez deux questions exactes à chatte, elle récupérera la réponse à la deuxième question du cache au lieu de poser à nouveau de demander Chatgpt.

Voici un exemple de code pour un cache de recherche similaire:

import time


def response_text(openai_resp):
    return openai_resp['choices'][0]['message']['content']

print("Cache loading.....")

# To use GPTCache, that's all you need
# -------------------------------------------------
from gptcache import cache
from gptcache.adapter import openai

cache.init()
cache.set_openai_key()
# -------------------------------------------------

question = "what's github"
for _ in range(2):
    start_time = time.time()
    response = openai.ChatCompletion.create(
      model='gpt-3.5-turbo',
      messages=[
        {
            'role': 'user',
            'content': question
        }
      ],
    )
    print(f'Question: {question}')
    print("Time consuming: {:.2f}s".format(time.time() - start_time))
    print(f'Answer: {response_text(response)}\n')
Copier après la connexion

Voici ce que vous verrez dans la sortie:

Tutoriel GPTCACH: Amélioration de l'efficacité dans les applications LLM

La deuxième fois, GPT a pris près de 0 secondes pour répondre à la même question

gptcache avec Langchain

Si vous souhaitez utiliser un autre LLM, essayez l'adaptateur Langchain. Voici comment vous pouvez intégrer GptCahe à Langchain:

from langchain.globals import set_llm_cache
from langchain_openai import OpenAI

# To make the caching really obvious, lets use a slower model.
llm = OpenAI(model_name="gpt-3.5-turbo-instruct", n=2, best_of=2)
Copier après la connexion

Apprenez à créer des applications LLM avec Langchain.

en utilisant GPTCACH dans vos projets

Voyons comment GPTCache peut soutenir vos projets.

Opérations de base

LLMS peut devenir inefficace en raison de la complexité inhérente et de la variabilité des requêtes LLM, résultant en un faible taux de succès du cache.

Pour surmonter cette limitation, GPTCACH adopte des stratégies de mise en cache sémantique. Les magasins de mise en cache sémantique sont des requêtes similaires ou connexes - augmentant la probabilité que le cache frappe et améliore l'efficacité globale de mise en cache.

GPTCache exploite des algorithmes d'intégration pour convertir les requêtes en représentations numériques appelées intégres. Ces intérêts sont stockés dans un magasin vectoriel, permettant des recherches de similitudes efficaces. Ce processus permet à GPTCache d'identifier et de récupérer des requêtes similaires ou connexes à partir du stockage du cache.

Avec sa conception modulaire, vous pouvez personnaliser les implémentations de cache sémantique en fonction de vos exigences.

Cependant, parfois de faux coups de cache et des manquements de cache peuvent se produire dans un cache sémantique. Pour surveiller ces performances, GPTCache fournit trois mesures de performance:

  • Ratio Hit Mesure le taux de réussite d'un cache dans la réalisation des demandes. Des valeurs plus élevées indiquent de meilleures performances.
  • latence indique le temps pris pour récupérer les données du cache, où plus bas est meilleur.
  • Rappel montre la proportion de requêtes de cache correctement servies. Des pourcentages plus élevés reflètent une meilleure précision.

fonctionnalités avancées

Tous les éléments de données de base comme les requêtes initiales, les invites, les réponses et les horodatages d'accès sont stockés dans un «gestionnaire de données». GPTCache prend actuellement en charge les options de stockage de cache suivantes:

  • sqlite
  • mysql
  • Bases de données postgresql.

Il ne prend pas encore en charge la base de données «NoSQL», mais elle devrait être incorporée bientôt.

en utilisant les politiques d'expulsion

Cependant, GPTCache peut supprimer les données du stockage du cache en fonction d'une limite ou d'un comptage spécifié. Pour gérer la taille du cache, vous pouvez implémenter soit une politique d'expulsion (LRU) la moins récemment utilisée ou une approche de première, première sortie (FIFO).

  • LRU Expulsion Politique Empose les éléments les moins récemment consultés.
  • Entre-temps, la politique d'expulsion FIFO rejette les éléments mis en cache qui sont présents pendant la durée la plus longue.

Évaluation des performances de réponse

GPTCACH utilise une fonction «évaluation» pour évaluer si une réponse en cache aborde une requête utilisateur. Pour ce faire, il faut trois entrées:

  • Demande de données de l'utilisateur
  • Les données mises en cache sont évaluées
  • Paramètres définis par l'utilisateur (le cas échéant)

Vous pouvez également utiliser deux autres fonctions:

  • log_time_func ’ vous permet d’enregistrer et de signaler la durée des tâches intensives comme la génération de « incorpation » ou la réalisation du cache « recherche ».
  • avec "
  • simility_threshold, " Vous pouvez définir le seuil pour déterminer quand deux vecteurs d'intégration ( des représentations à haute dimension des données de texte ) sont suffisamment similaires pour être appariées.
les meilleures pratiques et dépannage de gptcache

Maintenant que vous savez comment fonctionne GPTCache, voici quelques meilleures pratiques et conseils pour vous assurer de profiter de ses avantages.

Optimisation des performances de GPTCache

Il existe plusieurs étapes que vous pouvez prendre pour optimiser les performances de GPTCache, comme indiqué ci-dessous.

1. Clarifier vos invites

La façon dont vous invitez votre LLM a un impact sur le fonctionnement de GPTCache. Alors, gardez votre phrasé cohérent pour améliorer vos chances d'atteindre le cache.

Par exemple, utilisez un phrasé cohérent comme "Je ne peux pas me connecter à mon compte". De cette façon, GPTCache reconnaît des problèmes similaires, tels que "Mot de passe oublié" ou "Problèmes de connexion du compte", plus efficacement.

2. Utilisez les métriques de suivi intégrées

Surveillez les mesures intégrées comme le rapport Hit, le rappel et la latence pour analyser les performances de votre cache. Un ratio de hit plus élevé indique que le cache sert plus efficacement le contenu demandé à des données stockées, vous aidant à comprendre son efficacité.

3. Échelle GPTCache pour les applications LLM avec de grandes bases utilisateur

Pour mettre à l'échelle GPTCACH pour les applications LLM plus grandes, implémentez une approche de cache partagée qui utilise le même cache pour les groupes d'utilisateurs avec des profils similaires. Créez des profils d'utilisateurs et classez-les pour identifier des groupes d'utilisateurs similaires.

Tirer parti d'un cache partagé pour les utilisateurs du même groupe de profil donne de bons rendements concernant l'efficacité et l'évolutivité du cache.

C'est dû au fait que les utilisateurs du même groupe de profil ont tendance à avoir des requêtes connexes qui peuvent bénéficier de réponses en cache. Cependant, vous devez utiliser les bonnes techniques de profilage et de classification des utilisateurs pour regrouper les utilisateurs et maximiser les avantages de la mise en cache partagée avec précision.

Dépannage des problèmes de GPTCache communs

Si vous avez du mal avec GPTCache, vous pouvez prendre plusieurs étapes pour résoudre les problèmes.

1. Invalidation du cache

GPTCache repose sur des réponses de cache à jour. Si les réponses de la LLM sous-jacentes ou l'intention de l'utilisateur changent au fil du temps, les réponses mises en cache peuvent devenir inexactes ou hors de propos.

Pour éviter cela, définissez des temps d'expiration pour les entrées en cache en fonction de la fréquence de mise à jour attendue du LLM et actualisez régulièrement le cache.

2. Excessive de relevé sur les réponses mises en cache

Bien que le GPTCache puisse améliorer l'efficacité, une relevée excessive sur les réponses mises en cache peut entraîner des informations inexactes si le cache n'est pas correctement invalidé.

À cette fin, assurez-vous que votre application récupère occasionnellement de nouvelles réponses du LLM, même pour des requêtes similaires. Cela maintient la précision et la qualité des réponses lorsqu'ils traitent des informations critiques ou sensibles au temps.

3. Ignorer la qualité du cache

La qualité et la pertinence de la réponse mise en cache ont un impact sur l'expérience utilisateur. Ainsi, vous devez utiliser les mesures d'évaluation pour évaluer la qualité des réponses mises en cache avant de les servir aux utilisateurs.

En comprenant ces pièges potentiels et leurs solutions, vous pouvez vous assurer que GPTCACH améliore efficacement les performances et la rentabilité de vos applications alimentées par LLM - sans compromettre la précision ou l'expérience utilisateur.

REPLISSEZ

GPTCACH est un outil puissant pour optimiser les performances et la rentabilité des applications LLM. Des stratégies appropriées de configuration, de surveillance et d'évaluation du cache sont nécessaires pour vous assurer d'obtenir des réponses précises et pertinentes.

Si vous êtes nouveau dans les LLM, ces ressources pourraient aider:

  • Développer de grands modèles de langue
  • Building LLM Applications avec Langchain et GPT
  • Formation d'un LLM avec pytorch
  • en utilisant LLM avec une API cohere
  • Développement d'applications LLM avec Langchain

FAQs

Comment initialisez-vous le cache pour exécuter GPTCache et importer l'API OpenAI?

Pour initialiser le cache et importer l'API OpenAI, importez OpenAI depuis gptcache.adapter. Cela définira automatiquement le gestionnaire de données pour correspondre au cache exact. Voici comment vous pouvez faire ceci:

! pip install -q gptcache
Copier après la connexion
Copier après la connexion

Que se passe-t-il si vous posez deux fois la même question?

GPTCache stocke les réponses précédentes dans le cache et récupère la réponse du cache au lieu de faire une nouvelle demande à l'API. Ainsi, la réponse à la deuxième question sera obtenue à partir du cache sans demander à nouveau Chatgpt.

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