Python Nordeste 2023

Python Nordeste 2023

Construindo um assistente de código utilizando LLMs
24/09/2023 , Sala 1

Nesta palestra explicarei como nós da Sourcery construímos um assistente automatizado, capaz de explicar e refatorar código, criar testes unitários e escrever documentação, utilizando grandes modelos de linguagem (LLMs).
Mostrarei como engenharia de prompt, aliada a detalhadas informações de contexto do projeto, pode ser utilizada para melhorar a qualidade das respostas do assistente. Partirei de um exemplo básico utilizando o ChatGPT até chegar à versão atual do nosso assistente.


Nesta palestra, explicarei como implementamos um assistente de código na Sourcery utilizando grandes modelos de linguagem (LLMs). O assistente é capaz de explicar e refatorar código, criar testes unitários, escrever documentação e muito mais.
Primeiramente, introduzirei LLMs e assistentes de códigos, mostrando como eles podem ser utilizados para melhorar a produtividade de desenvolvedores.
Posteriormente, explicarei os conceitos de engenharia de prompt e contextos, buscando demonstrar com exemplos a sua efetividade na melhoria da qualidade das respostas dos modelos de linguagem.
Por fim, mostrarei como utilizamos esses conceitos para construir o assistente da Sourcery, incluindo o passo a passo de como os prompts são construídos, enviados e pós-processados para gerar as respostas devolvidas aos usuários.

Cronograma

  1. Introdução (2min)
    • Quem sou eu?
    • O que é a Sourcery?
  2. O que é um assistente de código? (10min)
    • O que é um LLM?
    • O que é um assistente de código?
    • Exemplo: utilizando ChatGPT para refatorar código
    • Exemplo: utilizando o assistente de código da Sourcery para refatorar código
  3. Engenharia de prompt e contextos (10min)
    • O que é engenharia de prompt?
    • Exemplo: utilizando a API do GPT-3, mostrar como diferentes prompts podem gerar respostas com qualidades bem diferentes
    • O que são informações de contexto?
    • Exemplo: mostrar como adicionar informações sobre o contexto do projeto melhora a relevância das respostas
  4. Construindo o assistente de código da Sourcery (12min)
    • Mostrar como os prompts enviados pelo assistente são gerados a partir de receitas pré-definidas
    • Mostrar como as análises já existentes na Sourcery são incorporadas como contexto nos prompts
    • Mostrar o assistente em ação, indicando o passo a passo de como ele funciona e referenciando os pontos mencionados anteriormente
  5. Conclusão (5min)
    • Recapitular os pontos principais
    • Agradecimentos
    • Espaço para perguntas