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):