Como é que a Cody gera respostas utilizando os seus documentos?
Quando começar a utilizar o Cody, é possÃvel que se sinta desapontado ou desanimado com o facto de Cody não conseguir gerar as respostas esperadas. Neste breve blogue, não vamos aprofundar a forma como deve utilizar o Cody, mas vamos dar-lhe uma ideia geral de como o Cody utiliza os seus documentos para gerar respostas, para que possa compreender melhor o processo de geração e experimentá-lo.
Há dois factores principais que afectam a geração de respostas através dos seus documentos:
- Fragmentação
- Janela de contexto
Ambas as terminologias, chunking e janela de contexto, estão inter-relacionadas. Pode ser feita uma analogia simples para comparar a geração de respostas com a confeção de alimentos. Os pedaços podem ser vistos como as peças individuais de vegetais que corta, enquanto a janela de contexto representa o tamanho do utensÃlio de cozinha. É importante cortar os legumes em pedaços de tamanho ideal para realçar o sabor geral, e um utensÃlio maior permite adicionar mais pedaços de legumes.
O que é Chunking?
Em termos simples, chunking é o ato de dividir o conteúdo em partes gerÃveis para uma utilização eficiente da memória. Se já leu os nossos blogues, deve saber que modelos como o GPT requerem recursos significativos e, para lidar com as restrições da janela de contexto, utilizamos vários processos, como o chunking.
A fragmentação é um processo efectuado depois de carregar os documentos para a Cody. Divide ou segmenta o documento em vários pedaços, sendo que cada pedaço contém o contexto envolvente relevante. A estes pedaços são então atribuÃdas etiquetas numéricas para facilitar o cálculo, o que é conhecido como incorporação. É importante encontrar o tamanho ideal dos pedaços. Um tamanho de fragmento mais pequeno reduz a relevância do contexto, enquanto um tamanho de fragmento maior introduz mais ruÃdo. O algoritmo de chunking da Cody ajusta dinamicamente o tamanho dos pedaços com base na distribuição de tokens definida pelo utilizador.
Como é que a Janela de contexto afecta as respostas do Bot?
Vários factores, como a personalidade, a pontuação de relevância, etc., influenciam a qualidade das respostas dos bots. A janela de contexto do modelo também desempenha um papel significativo na determinação da qualidade. A janela de contexto refere-se à quantidade de texto que um LLM (Language Model) pode processar numa única chamada. Uma vez que o Cody utiliza embeddings e injeção de contexto para gerar respostas utilizando modelos OpenAI, uma janela de contexto maior permite a ingestão de mais dados pelo modelo em cada consulta.
💡 Cada consulta (≤ Janela de contexto) = Personalidade do robô + partes de conhecimento + histórico + entrada do utilizador + resposta
Janelas de contexto de diferentes modelos:
- GPT-3.5: 4096 tokens (≈3500 palavras)
- GPT-3.5 16K: 16000 tokens (≈13000 palavras)
- GPT-4: 8000 tokens (≈7000 palavras)
Quando a janela de contexto é maior, permite uma maior proporção de cada parâmetro, incluindo Personalidade, Fragmentos, Histórico, Entrada e Resposta. Este contexto alargado permite ao bot gerar respostas que são mais relevantes, coerentes e criativas por natureza.
A última adição de Cody permite aos utilizadores verificar as citações dos documentos clicando no nome do documento no final das respostas. Estas citações correspondem aos pedaços obtidos através da pesquisa semântica. O Cody determina o limiar de partes para o contexto com base na pontuação de relevância definida pelo utilizador. Se o utilizador definir uma pontuação de relevância elevada, a Cody utiliza apenas os blocos que ultrapassam um limite predefinido como contexto para gerar a resposta.
Exemplo
Assumindo um valor limite predefinido de 90% para uma pontuação de relevância elevada, a Cody elimina quaisquer blocos com uma pontuação de relevância inferior a 90%. Recomendamos que os novos utilizadores comecem com uma pontuação de relevância mais baixa (baixa ou equilibrada), especificamente quando utilizam documentos carregados (PDFs, Powerpoints, Word, etc.) ou sÃtios Web. Os documentos ou sÃtios Web carregados podem encontrar problemas de formatação e legibilidade durante o pré-processamento, o que pode resultar em pontuações de relevância mais baixas. A formatação do documento utilizando o nosso editor de texto integrado, em vez de carregar documentos em bruto, garantirá a maior exatidão e pontuação de confiança.
Se achou este blogue interessante e pretende aprofundar os conceitos de janela de contexto e chunking, recomendamos vivamente a leitura deste blogue escrito por Kristian da All About AI. Para obter mais recursos, pode também consultar o nosso Centro de ajuda e juntar-se à nossa comunidade Discord.