Compartilhar

7 de novembro de 2024

Como turbinar assistentes de programação de IA com o contexto longo dos modelos Gemini

Beyang Liu

Sourcegraph

Paige Bailey

Engenheiro de experiência do desenvolvedor de IA

Vishal Dharmadhikari

Engenheiro de soluções de produtos

Hero do destaque do Sourcegraph

Uma das fronteiras mais empolgantes na aplicação de janelas de contexto longo é a geração e a compreensão do código. Bases de código grandes exigem um entendimento profundo de relações e dependências complexas, algo que os modelos de IA tradicionais têm dificuldade para entender. Ao expandir a quantidade de código com janelas de contexto grandes, podemos alcançar um novo nível de precisão e utilidade na geração e no entendimento do código.

Fizemos uma parceria com a Sourcegraph, criadora do Cody AI, um assistente de programação com IA que oferece suporte a LLMs como o Gemini 1.5 Pro e o Flash, para explorar o potencial de janelas de contexto longas em cenários de programação reais. O foco da Sourcegraph em integrar a pesquisa e a inteligência de código à geração de código de IA e a implantação bem-sucedida do Cody em empresas com bases de código grandes e complexas, como a Palo Alto Networks e a Leidos, fez com que ela fosse a parceira ideal para essa análise.

Abordagem e resultados da Sourcegraph

A Sourcegraph comparou o desempenho do Cody com uma janela de contexto de 1 milhão de tokens (usando o Gemini 1.5 Flash do Google) e a versão de produção. Essa comparação direta permitiu isolar os benefícios do contexto expandido. Eles se concentraram em responder a perguntas técnicas, uma tarefa crucial para desenvolvedores que trabalham com grandes bases de código. Eles usaram um conjunto de dados de perguntas desafiadoras que exigiam um entendimento profundo do código.

Os resultados foram impressionantes. Três dos principais comparativos do Sourcegraph (Essential Recall, Essential Concision e Helpfulness) demonstraram melhorias significativas ao usar o contexto mais longo.



  • Essential Recall: a proporção de fatos cruciais na resposta aumentou substancialmente.

  • Concisão essencial: a proporção de fatos essenciais normalizados pela duração da resposta também melhorou, indicando respostas mais concisas e relevantes.

  • Utilidade: a pontuação geral de utilidade, normalizada pelo comprimento da resposta, aumentou significativamente, indicando uma experiência mais fácil de usar.

Texto alternativo: gráfico de barras mostrando a melhoria de qualidade entre a base de código e o Cody com o Gemini 1.5 Flash

Além disso, o uso de modelos de contexto longo reduziu drasticamente a taxa geral de alucinação (a geração de informações factualmente incorretas). A taxa de alucinação diminuiu de 18,97% para 10,48%, uma melhoria significativa na precisão e confiabilidade.

Gráfico de barras mostrando a diferença na taxa de alucinação entre o Code base e o Cody com o Gemini 1.5 Flash

Vantagens, desvantagens e direção futura

Embora os benefícios do contexto longo sejam significativos, há compensações. O tempo para o primeiro token aumenta linearmente com a duração do contexto. Para mitigar isso, a Sourcegraph implementou um mecanismo de pré-busca e uma arquitetura de modelo de contexto em camadas para armazenamento em cache do estado de execução do modelo. Com os modelos de contexto longo do Gemini 1.5 Flash e Pro, o tempo para o primeiro token foi otimizado de 30 a 40 segundos para cerca de 5 segundos em contextos de 1 MB, uma melhoria considerável para a geração de código em tempo real e a assistência técnica.

Essa colaboração mostra o potencial transformador dos modelos de contexto longo na compreensão e geração de código. Estamos felizes em fazer parceria com empresas como a Sourcegraph para continuar a desbloquear ainda mais aplicativos e paradigmas inovadores com janelas de contexto grandes.

Para saber mais sobre as metodologias de avaliação, os comparativos de mercado e as análises detalhadas do Sourcegraph, incluindo exemplos ilustrativos, confira a postagem detalhada do blog.