Usando Ferramentas de LLM
Os sistemas MRKL1 (Raciocínio Modular, Conhecimento e Linguagem, ou Modular Reasoning, Knowledge and Language, em inglês) são uma arquitetura neuro-simbólica que combinam LLMs (computação neural) e ferramentas externas como calculadoras (computação simbólica) para resolver problemas complexos.
Um sistema MRKL é composto por um conjunto de módulos (por exemplo, uma calculadora, API de clima, banco de dados, etc.) e um roteador que decide como "rotear" as consultas em linguagem natural para o módulo apropriado.
Um exemplo simples de um sistema MRKL é um LLM que pode usar um aplicativo de calculadora. Este é um sistema de módulo único, onde o LLM é o roteador. Quando perguntado, Quanto é 100*100?
, o LLM pode escolher extrair os números da solicitação e, em seguida, informar ao sistema MRKL para usar um aplicativo de calculadora para calcular o resultado. Isso pode parecer o seguinte:
Quanto é 100*100?
CALCULADORA[100*100]
O sistema MRKL veria a palavra CALCULADORA e inseriria 100*100 na calculadora. Essa ideia simples pode ser facilmente expandida para várias ferramentas de computação simbólica.
Considere os seguintes exemplos adicionais de aplicativos:
- Um chatbot capaz de responder a perguntas sobre um banco de dados financeiro, extraindo informações para formar uma consulta SQL a partir do texto dos usuários.
Qual o preço do stock da Apple nesse exato momento?
O preço do stock da Apple nesse momento é DATABASE[SELECT price FROM stock WHERE company = "Apple" AND time = "now"].
- Um chatbot capaz de responder a perguntas sobre o tempo extraindo informações do prompt e usando uma API meteorológica para recuperar as informações.
Como é o clima em Nova York?
O clima é WEATHER_API[New York].
- Ou até realizar tarefas muito mais complexas incluidno vários bancos de dados, como nos exemplos a seguir:

Um Exemplo
Eu reproduzi um exemplo de Sistema MRKL do artigo original, usando o Dust.tt, disponível aqui. O sistema lê um problema matemático (por exemplo, Qual é o resultado de 20 vezes 5^6?
), extrai os números e as operações, e os formata a fim de que possam ser utilizados em uma calculadora (por exemplo, 20*5^6
). Em seguida, ele envia a equação reformatada para a calculadora do Google e retorna o resultado. Observe que o artigo original faz um ajuste fino na consulta (no roteador, que é o LLM), mas eu não faço isso neste exemplo. Vamos ver como isso funciona:
Primeiro, eu criei um dataset simples na aba Datasets
do Dust.

Depois, eu mudei para a aba Specification
e inclui o dataset acima usando um bloco do tipo input
.

Em seguida, criei um bloco do tipo lmm
que extrai os números e operações matemática. Note que quando eu crio o promt eu passo que estou usando a calculadora do Google. O modelo que eu usei (GPT-3) provavelmente tem algum conhecimento da calculadora do Google devido ao seu pré-treinamento.

Então eu criei um block do tipo code
, no qual incluí um código em javascript bem simples para remover os espaços da resposta.

Finalmente, eu criei um bloco do tipo search
que manda a equação formatada para a calculadora do Google.

Abaixo você pode ver os resultando, que estão todos corretos!

Fique à vontade para copiar e brincar com esse código aqui.
Notas
MRKL foi desenvolvido por AI21, o qual originalmente usaram o LMM J-1 (Jurassic 1)2.
Mais
Confira esse exemplo de um sistemas MRKL construído com LangChain.
Footnotes
-
Karpas, E., Abend, O., Belinkov, Y., Lenz, B., Lieber, O., Ratner, N., Shoham, Y., Bata, H., Levine, Y., Leyton-Brown, K., Muhlgay, D., Rozen, N., Schwartz, E., Shachaf, G., Shalev-Shwartz, S., Shashua, A., & Tenenholtz, M. (2022). ↩
-
Lieber, O., Sharir, O., Lentz, B., & Shoham, Y. (2021). Jurassic-1: Technical Details and Evaluation, White paper, AI21 Labs, 2021. URL: Https://Uploads-Ssl. Webflow. Com/60fd4503684b466578c0d307/61138924626a6981ee09caf6_jurassic_ Tech_paper. Pdf. ↩
Sander Schulhoff
Sander Schulhoff is the Founder of Learn Prompting and an ML Researcher at the University of Maryland. He created the first open-source Prompt Engineering guide, reaching 3M+ people and teaching them to use tools like ChatGPT. Sander also led a team behind Prompt Report, the most comprehensive study of prompting ever done, co-authored with researchers from the University of Maryland, OpenAI, Microsoft, Google, Princeton, Stanford, and other leading institutions. This 76-page survey analyzed 1,500+ academic papers and covered 200+ prompting techniques.