O que você está procurando?

Usando integrações avançadas de LLM para aumentar a relevância e a confiabilidade com o Muse Chat

NICO PERONY Director of AI Research
May 21, 2024|9 Min
Usando integrações avançadas de LLM para aumentar a relevância e a confiabilidade com o Muse Chat
Esta página da Web foi automaticamente traduzida para sua conveniência. Não podemos garantir a precisão ou a confiabilidade do conteúdo traduzido. Se tiver dúvidas sobre a precisão do conteúdo traduzido, consulte a versão oficial em inglês da página da Web.

O Unity Muse ajuda você a explorar, idealizar e iterar em experiências 3D em tempo real, capacitando-o com recursos de IA. O Muse Chat é uma das várias ferramentas que você pode usar para acelerar a criação. Trazendo o conhecimento do Unity e do Editor para a ponta de seus dedos, o Muse Chat pode ser seu assistente, fornecendo informações úteis, incluindo conselhos de depuração, usando a geração de código para um primeiro rascunho e muito mais, tudo dentro do contexto do Unity Editor e de seu projeto.

Para mostrar a você como exatamente o Muse Chat foi projetado para fornecer soluções úteis, vamos dar uma olhada nos bastidores de como estruturamos o plano para gerar uma resposta. Também lhe daremos uma prévia de nossas explorações atuais e dos próximos desenvolvimentos do pipeline do LLM.

Respostas confiáveis com aumento de conhecimento avançado

O Muse Chat foi criado como um pipeline que consiste em vários sistemas diferentes e integrações do Large Language Model (LLM) para planejamento de consultas e arbitragem de diferentes informações. Para cada solicitação recebida, o Chat deriva um plano de ação para delinear o formato da próxima resposta com base na seleção do Editor ou nas informações fornecidas e no problema que você está tentando resolver.

"Eu mesmo criei e codifiquei tudo usando o Muse como meu assistente pessoal. É claro que tive o apoio de meus colegas, mas não acho que poderia ter alcançado esse resultado em tão pouco tempo se não tivesse o Muse ao meu lado."



- Jéssica Souza, cocriadora do Space Purr-suit

Ao montar uma resposta confiável, há dois desafios. Uma delas é recuperar informações relevantes para criar a resposta e a outra é garantir que as informações sejam incorporadas de forma útil na resposta, com base no contexto e no histórico da conversa.

O conhecimento do Muse Chat é reunido para lidar com esses dois desafios, com mais de 800.000 pedaços de informações, como seções de documentação ou trechos de código. Os blocos são processados e enriquecidos com referências a informações adjacentes, de modo que cada um deles forneça uma unidade de informação útil e autônoma. Eles são catalogados de acordo com seu conteúdo e seu contexto exclusivo, conforme rastreados pela documentação. Ele oferece transparência e interpretabilidade do sistema e permite a recuperação eficaz de informações compatíveis. Consulte o diagrama e a descrição abaixo para saber como o restante de nosso pipeline atual está estruturado.

Um diagrama que detalha as etapas desde a obtenção de uma solicitação de bate-papo, determinando se o bate-papo está no Editor ou não e, se estiver, extraindo o contexto relevante do Editor, passando para a expansão da consulta, depois para a recuperação de conhecimento, formulação e, por fim, a emissão de uma resposta.
  • SOLICITAÇÃO: Sua solicitação é recebida.
  • CONTEXTO DO EDITOR: Se você estiver no Editor, o contexto relevante será extraído dinamicamente do Editor, juntamente com a solicitação para fornecer ao Muse as informações adequadas.
  • EXPANSÃO DA CONSULTA: O sistema de planejamento inicial executa a expansão da consulta, que tem como objetivo derivar planos precisos. Instruímos um LLM a dar o melhor de si para replicar o formato do catálogo de conhecimento e recriar a estrutura ideal de um bloco para cada etapa. Essa abordagem permite que o sistema calcule uma incorporação que capture o contexto, o conteúdo e o caso de uso desejados do trecho que estamos procurando. Cada uma dessas etapas do plano é usada para recuperação semântica refinada.
  • RECUPERAÇÃO DE CONHECIMENTO: Para encontrar as informações relevantes, usamos a recuperação semântica simétrica e a filtragem de metadados para recuperar os blocos em nosso catálogo de conhecimento que mais se assemelham ao bloco estimado ideal, identificado no estágio de expansão da consulta.
  • FORMULAÇÃO: Para gerar a resposta final, usamos outro LLM para redigir uma resposta, com base no esboço detalhado que contém as etapas do plano original filtrado e as fontes necessárias para transmitir as informações subjacentes relevantes.
  • RESPOSTA: O Muse Chat responde com uma resposta.
Criação de um pipeline contextualmente consciente para permitir a integração do Editor

Para aprofundar o trabalho por trás da disponibilização do Muse Chat no Editor, apresentamos a segunda etapa do pipeline, a extração de contexto do Editor. Adicionando isso ao início do pipeline, analisamos a consulta para identificar o que extrair do Editor e analisamos isso para informar o Muse sobre as próximas etapas. Com base no seu feedback, começamos com a configuração do projeto, configurações do projeto, GameObjects/Prefabs e acesso ao console.

Agora, se ocorrer um erro no console com avisos ou mensagens, basta clicar na(s) linha(s) relevante(s) no console para adicionar o erro como parte da sua seleção. No exemplo abaixo, acionamos um erro devido à falta de uma chave em um script.

Clicando em um erro de console para ser adicionado como seleção ao lado da pergunta, digitando o prompt "What is this error about?", o Muse Chat envia uma resposta informando que se trata de um erro de compilação devido à falta de uma chave.
Vamos colocar nosso pipeline atual em prática

Considere um exemplo simples de resposta a "Como posso criar um recurso com script e adicioná-lo ao Universal Renderer?" em uma nova conversa no Editor. Isso será convertido em etapas do plano:

  • SOLICITAÇÃO: "Como posso criar um recurso com script apropriado para meu pipeline de renderização?"
  • CONTEXTO DO EDITOR: O Muse identifica qual pipeline de renderização é usado, a versão do Unity que está sendo executada e quais configurações de projeto são relevantes para a pergunta. Em seguida, ele extrai o contexto dinâmico, juntamente com qualquer seleção do Editor que você possa ter.
  • EXPANSÃO DA CONSULTA: O LLM gera um plano com as seguintes etapas de planejamento:

Introduzir o conceito e a finalidade dos recursos de script para URP.

Explique as etapas para criar um recurso com script no URP.

Forneça um exemplo que mostre como adicionar o recurso de script ao Universal Renderer.

  • RECUPERAÇÃO DE CONHECIMENTO: Para este exemplo, a solicitação é atendida seguindo as etapas para recuperar informações da incorporação.
  • FORMULAÇÃO: O LLM medeia a resposta final.
  • RESPOSTA: Você receberá uma resposta, conforme mostrado abaixo, juntamente com um trecho de código.
Ao digitar o prompt "How can I create a scriptable feature appropriate for my render pipeline?", o Muse Chat envia uma resposta que define qual pipeline de renderização eles têm e as etapas apropriadas para criar um recurso de script, juntamente com um exemplo de um trecho de código que você poderia implementar.

No exemplo acima, que envolve o URP, o plano de resposta final é composto de uma introdução criada com base na seção "What is a Scriptable Renderer Feature" (O que é um recurso de renderizador descript) na documentação do URP, nas instruções passo a passo em "Create a scriptable Renderer Feature and add it to the Universal Renderer" (Criar um recurso de renderizador de script e adicioná-lo ao Universal Renderer) e nas instruções na subseção sobre como finalmente adicionar o recurso de renderizador personalizado a um ativo do Universal Renderer.

Dessa forma, podemos trocar com eficiência as informações genéricas provenientes do conhecimento básico do LLM com o conhecimento específico da Unidade de fontes primárias relacionadas a abordagens recomendadas ou detalhes de implementação. Embora a ocorrência de informações às vezes imprecisas seja inevitável no uso de LLMs, nosso sistema foi desenvolvido para minimizar a frequência dessas informações, contando com o conhecimento confiável da Unidade.

Um pipeline em evolução

Estamos trabalhando no desenvolvimento de um amplo ecossistema que consiste em modelos específicos de tarefas. À medida que expandimos nossa interoperabilidade com o Editor, queremos permitir um fluxo de trabalho acelerado para atender melhor às suas necessidades. Acreditamos que a chave para isso é adotar e promover uma cultura em que possamos nos adaptar rapidamente à pesquisa e aos desenvolvimentos do setor para uma rápida experimentação.

Em direção a um agente Unity integrado

O Muse Chat serve como um companheiro para a criação assistida por IA, diretamente no Editor. No momento, estamos trabalhando para ampliar o que você pode selecionar como parte do seu contexto no Editor, incluindo a hierarquia completa e a janela do projeto, bem como o código associado a um GameObject. Além disso, estamos investindo em melhorias generalizadas no sistema, aprimorando nossas referências de desempenho no conhecimento do Unity e na geração de código, e nos preparando para um futuro com o comportamento do agente ativado, para que o Muse possa executar ações em seu nome no Editor.

Na GDC, mostramos como você pode usar todos os cinco recursos do Muse juntos para personalizar um loop de jogo na cena do jardim do nosso projeto de amostra URP. Confira nossa sessão "Unity Muse: Acelerando a prototipagem no Unity Editor com IA"para saber como você pode usar todos os recursos do Muse para personalizar rapidamente a cena e a jogabilidade de um projeto. Essa interoperabilidade entre os recursos do Muse só aumentará à medida que implementarmos novas melhorias no Muse Chat.

Atualizamos a experiência de integração do Muse para facilitar o início de uma avaliação gratuita do Muse e adicionar os pacotes do Muse a seus projetos. Visite a nova página do Muse Explore para começar e conte-nos o que você achou dos novos recursos e aprimoramentos nas Discussões.