Partager

7 novembre 2024

Optimiser les assistants de codage assisté par IA avec le contexte long des modèles Gemini

Beyang Liu

Sourcegraph

Paige Bailey

Ingénieur de l'expérience pour les développeurs d'IA

Vishal Dharmadhikari

Ingénieur en solutions produit

Image principale de la vitrine Sourcegraph

L'un des aspects les plus intéressants de l'application des fenêtres à long contexte est la génération et la compréhension du code. Les grands codebases nécessitent une compréhension approfondie des relations et des dépendances complexes, ce que les modèles d'IA traditionnels ont du mal à saisir. En augmentant la quantité de code avec de grandes fenêtres de contexte, nous pouvons atteindre un nouveau niveau de précision et d'utilité dans la génération et la compréhension du code.

Nous avons collaboré avec Sourcegraph, les créateurs de l'assistant de codage Cody AI compatible avec les LLM tels que Gemini 1.5 Pro et Flash, pour explorer le potentiel des longues fenêtres de contexte dans des scénarios de codage concrets. Sourcegraph, qui s'attache à intégrer la recherche et l'intelligence du code à la génération de code par IA, et qui a déployé Cody avec succès auprès d'entreprises disposant de bases de code volumineuses et complexes telles que Palo Alto Networks et Leidos, s'est révélé être le partenaire idéal pour cette exploration.

L'approche et les résultats de Sourcegraph

Sourcegraph a comparé les performances de Cody avec une fenêtre de contexte de 1 million de jetons (à l'aide de Gemini 1.5 Flash de Google) à celles de sa version de production. Cette comparaison directe leur a permis d'identifier les avantages du contexte étendu. Ils se sont concentrés sur la réponse aux questions techniques, une tâche cruciale pour les développeurs qui travaillent avec de grands codebases. Ils ont utilisé un ensemble de données de questions difficiles qui nécessitaient une compréhension approfondie du code.

Les résultats ont été frappants. Trois des principaux benchmarks de Sourcegraph (Essential Recall, Essential Concision et Helpfulness) ont enregistré des améliorations significatives lorsque le contexte était plus long.



  • Rappel essentiel: La proportion de faits cruciaux dans la réponse a considérablement augmenté.

  • Concision essentielle: la proportion de faits essentiels normalisée en fonction de la longueur de la réponse s'est également améliorée, ce qui indique des réponses plus concises et pertinentes.

  • Utilité: le score global d'utilité, normalisé en fonction de la longueur de la réponse, a considérablement augmenté, ce qui indique une expérience plus conviviale.

[Alt text for this: Graphique à barres montrant l'amélioration de la qualité entre le code de base et Cody avec Gemini 1.5 Flash]

De plus, l'utilisation de modèles à long contexte a considérablement réduit le taux global d'hallucinations (génération d'informations incorrectes sur le plan factuel). Le taux d'hallucinations est passé de 18,97% à 10,48%, ce qui représente une amélioration significative de la précision et de la fiabilité.

Graphique à barres montrant la différence de taux d'hallucination entre le code de base et Cody avec Gemini 1.5 Flash

Compromis et orientation future

Bien que les avantages d'un contexte long soient importants, il y a des compromis. Le temps avant le premier jeton augmente linéairement avec la longueur du contexte. Pour atténuer ce problème, Sourcegraph a implémenté un mécanisme de préchargement et une architecture de modèle de contexte en couches pour la mise en cache de l'état d'exécution du modèle. Avec les modèles Gemini 1.5 Flash et Pro à contexte étendu, le temps d'accès au premier jeton est passé de 30 à 40 secondes à environ 5 secondes pour les contextes de 1 Mo, ce qui représente une amélioration considérable pour la génération de code en temps réel et l'assistance technique.

Cette collaboration illustre le potentiel transformateur des modèles à long contexte pour révolutionner la compréhension et la génération de code. Nous sommes ravis de collaborer avec des entreprises comme Sourcegraph pour continuer à développer des applications et des paradigmes encore plus innovants avec de grandes fenêtres contextuelles.

Pour en savoir plus sur les méthodologies d'évaluation, les benchmarks et les analyses détaillées de Sourcegraph, y compris des exemples illustratifs, consultez leur article de blog détaillé.