Por que meu assistente de fórum de IA está tendo dificuldades para responder perguntas?

Uma ideia equivocada que muitos de nós temos sobre IA é que nossas expectativas são:

graph TD
    Question -->|"IA Mágica Cara"| Answer
    Answer["A resposta perfeita"]

Pode ser extremamente frustrante gastar $$$ em um modelo de ponta e ainda assim obter resultados abaixo do esperado.

Neste tópico, gostaria de dedicar algum tempo para ajustar as expectativas e apontar vários recursos que o Discourse AI oferece para ajudar a obter melhores respostas.

Como o Discourse AI Realmente Funciona

A realidade é mais sutil. Quando você faz uma pergunta, é isso que acontece:

graph TD
    Question --> Consolidation[Consolidação da Pergunta]
    Consolidation --> RAG[Sistema RAG]
    RAG --> ToolSelection[Seleção de Ferramentas]
    ToolSelection --> Search[Pesquisa]
    ToolSelection --> Categories[Categorias]
    ToolSelection --> Tags[Tags]
    Search --> Context[Coleta de Contexto]
    Categories --> Context
    Tags --> Context
    Context --> Answer[Geração de Resposta]
  1. Sua pergunta é primeiro consolidada e compreendida
  2. Nosso sistema RAG pesquisa o conhecimento disponível (opcional)
  3. Com base no que encontra, decide quais ferramentas usar (opcional)
  4. As ferramentas coletam informações específicas
  5. Tudo é combinado para gerar uma resposta

Contexto é Tudo

Ao usar sistemas de IA para responder a perguntas, o contexto é fundamental.

Modelos de linguagem grandes (LLMs), como GPT-4 ou Claude 3.5 Sonnet, são treinados em uma enorme quantidade de dados públicos. No entanto, existem duas ressalvas que os tornam menos ideais para responder a perguntas específicas de domínio:

  1. LLMs são treinados em dados públicos
  2. LLMs têm uma data de corte de treinamento, o que significa que dados públicos com apenas alguns meses de idade provavelmente estão ausentes do conjunto de dados.

No caso de um fórum fechado, nada estará no conjunto de dados, tornando o contexto ainda mais crucial.

Contexto é a informação que fornecemos a um LLM antes que ele responda a uma pergunta para ajudar a guiá-lo a respondê-la corretamente.

Como obter contexto?

O contexto pode ser fornecido de algumas maneiras:

  • Automaticamente usando RAG (Retrieval-Augmented Generation) - Quando você carrega documentos para uma persona, podemos pesquisar o documento em busca de respostas antes de responder. Primeiro consolidamos sua pergunta e depois pesquisamos o conteúdo usando pesquisa semântica. Isso ajuda a guiar quais ferramentas usar.
  • Automaticamente usando ferramentas - LLMs podem usar ferramentas (como pesquisa ou leitura de tópicos) para encontrar informações adicionais com base na orientação do RAG.
  • Manualmente - você pode colar uma grande quantidade de texto e, em seguida, fazer perguntas a um LLM sobre ele.

Contexto baseado em ferramentas

O Discourse Forum Helper usa ferramentas para pesquisa, leitura de tópicos e postagens, listagem de categorias ou tags.

Quando você faz uma pergunta ao Forum Helper, o modelo primeiro usa o RAG para entender o que pode ser relevante e, em seguida, decide quais ferramentas ajudarão a obter melhores respostas.

Neste exemplo, você pode ver que perguntei ao forum helper o que eu estava fazendo, e ele decidiu pesquisar por conteúdo de Sam postado na última semana e obteve 21 resultados.

Para entender qual novo contexto o modelo obteve dessa pesquisa, você pode habilitar a configuração: AI bot debugging allowed groups

Ele adicionará um botão de depuração na parte inferior de cada postagem, quando você clicar nele, ele poderá mostrar o contexto exato que foi fornecido ao LLM.

A ferramenta de pesquisa do Discourse é muito rica em opções:

Isso é tanto uma bênção quanto uma maldição. LLMs frequentemente fazem escolhas subótimas se houver muitas opções na mesa, tentamos manter o número de opções não… muito alto… mas dependendo de suas necessidades, você pode preferir usar uma ferramenta personalizada para pesquisa.

O que faço se não obtiver os resultados esperados?

Dado que contexto é tudo, a primeira coisa a confirmar é:

  1. O sistema RAG encontrou conteúdo relevante para guiar as ferramentas?
  2. O LLM usou as ferramentas certas com base nessa orientação?
  3. As ferramentas encontraram os resultados esperados?

Por exemplo, veja esta falha:

Esta é uma falha clássica tanto na orientação RAG quanto no uso de ferramentas.

O LLM pesquisou por:

bug critical urgent broken order:latest status:open status:public

O componente de palavra-chave desta pesquisa é bastante pobre, gerando um único resultado, a pesquisa semântica então tem muita dificuldade em encontrar os resultados porque sempre que alguém grita alto, ela a trata como urgente.

O que provavelmente renderia um resultado melhor é:

Encontre todos os bugs abertos ordenados por op_likes que foram relatados nas últimas 2 semanas. No entanto, este subconjunto específico de informações não está disponível para a função de pesquisa como está, exigiria uma ferramenta personalizada.

Dada a grande variação e nuance aqui, a primeira coisa a fazer é monitorar as interações existentes dos usuários com seus bots e coletar o máximo de falhas que puder.

O que faço com casos falhos?

Quando você tem uma interação falha, você tem algumas opções:

  1. Você pode melhorar o prompt do sistema para dar melhores dicas ao bot.
  2. Você pode documentar informações no fórum para dar ao bot melhores resultados de pesquisa - você pode priorizar sua categoria de documentação para que seja mais provável encontrá-la.
  3. Você pode carregar um documento com mais contexto, dividiremos o documento em fragmentos e forneceremos os fragmentos mais próximos à pergunta consolidada para ajudar a fundamentar o bot.
  4. Se sua persona for predominantemente sobre pesquisa, force o uso da ferramenta de pesquisa.
  5. Você pode desenvolver ferramentas personalizadas para atender melhor às suas necessidades.
  6. Você pode aumentar a quantidade de contexto que fornece ao LLM (mais resultados de pesquisa, etc.).

A IA pode ser imprecisa, resolver um problema pode criar outro

Tenha em mente que obter o bot de resposta de perguntas de IA “perfeito” é uma jornada. Criar loops de feedback monitorados e avaliar regularmente o quão bem ele se sai permitirá que você o melhore ao longo do tempo.

Tenha em mente como a tecnologia é construída, se você precisar de acesso ao contexto de 10.000 postagens para responder a uma pergunta, pode ser inviável fornecer toda a lista de postagens no contexto para responder com as janelas de contexto atuais.

A chave é entender que obter melhores resultados é um processo iterativo.

17 curtidas