présentation

Kapa a développé une méthode pour réduire le contexte RAG en éliminant les informations non nécessaires à la réponse, tout en maintenant un taux de rappel élevé. Cette approche a permis de réduire les coûts de requête de manière significative.

contexte technique

Le processus de récupération d'informations chez Kapa implique un retriever et un générateur. Le retriever trouve les morceaux de documentation pertinents pour une question, tandis que le générateur utilise ces morceaux pour écrire la réponse. Cependant, le générateur est facturé pour chaque morceau qu'il ignore, ce qui peut entraîner des coûts élevés.

La méthode de pruning développée par Kapa utilise un petit modèle de langage pour évaluer les morceaux de documentation en fonction de leur pertinence par rapport à la question. Ce modèle attribue une note à chaque morceau en fonction d'une échelle de cinq niveaux, allant de « essentiel » à « non pertinent ».

fondement technique

La méthode de pruning repose sur l'idée que la pertinence d'un morceau de documentation ne peut être évaluée qu'en fonction de l'ensemble des morceaux récupérés. Les approches traditionnelles, telles que l'utilisation de scores de rerangement, ne sont pas efficaces car elles évaluent chaque morceau de manière isolée.

Le modèle de langage utilisé pour le pruning est entraîné pour évaluer les morceaux de documentation en fonction de leur pertinence par rapport à la question et à l'ensemble des autres morceaux. Cette approche permet d'éliminer les morceaux non pertinents et de réduire les coûts de requête.

implémentation

L'implémentation de la méthode de pruning chez Kapa a permis de réduire les coûts de requête de manière significative, tout en maintenant un taux de rappel élevé. Le code suivant illustre la manière dont le modèle de langage est utilisé pour évaluer les morceaux de documentation :

model = LLM() 
chunks = retriever(question) 
scores = model.evaluate(chunks, question) 
pruned_chunks = [chunk for chunk, score in zip(chunks, scores) if score > threshold]

Cette approche a permis à Kapa de réduire les coûts de requête de manière significative, tout en améliorant la qualité des réponses fournies aux utilisateurs.