Vídeo: https://www.youtube.com/watch?v=MqBBEgpYh0Y

Uso do Github Copilot chat para perguntar coisas relacionadas ao contexto do projeto.

Exemplo de pergunta: How do I add an applyToChildren flag to CoroutineName?, a resposta vai conter as instruções sobre o que fazer.

Funcionamento

Basicamente as etapas são as seguintes:

  • Pedir para o LLM retornar keywords sobre o prompt do usuário.
  • Indexar localmente os snippets do projeto.
  • Encontrar N snippets (50 no exemplo) mais similares, usando BM25.
  • Converter tudo em embeddings (snippets e o prompt do usuário).
  • Pegar os 5 snippets mais similares e usar no prompt para responder a pergunta do usuário.

Desafios:

  • Indexação rápida e precisa
  • Achar os snippets relevantes em um tempo hábil.
  • No segundo ranqueamento (usando Embeddings), balancear o custo de um embedding denso com a qualidade dos resultados.

Etapas para funcionar:

Técnicamente (faz uso do BM25 para encontrar os snippets similares):