VCP.52 - O segredo está na busca: finalmente tive uma ideia para a IA local no Obsidian.
Faz algum tempo que eu não falo sobre o projeto de conectar o Oyama ao Obsidian para usar um IA local nas minhas notas, mas isso não quer dizer que eu não esteja fazendo nada, pelo contrário, eu tenho feito vários experimentos, mas tem sido uma coisa mais difícil do que eu imaginava, não tecnicamente, porque honestamente eu posso pedir ajuda para outro IA, posso pedir ajuda para o Gemini ou outros IAs e isso me ajuda, mas eu queria algo que qualquer pessoa pudesse usar e o que eu tenho notado é que os plugins que existem, eu não estou conseguindo confiar neles, não no sentido do plugin, não acho que ninguém está fazendo um plugin que seja problemático não, mas quando eu olho para as configurações dos plugins que eu já testei, tem que ter muito cuidado, em alguns deles são tantas as configurações que eu nem sei o que elas fazem e eu fico com receio de que, apesar de eu estar usando um modelo local no Oyama, o plugin está levando alguma coisa para a nuvem e, de novo, não consigo entender tudo o que está acontecendo ali, mas isso é um sinal vermelho para mim, eu olho para aquilo, eu falo o que é isso, começo a perguntar, teve alguns plugins que eu cheguei a entrar em contato com o criador, mas assim, não ficou claro para mim que realmente eles não mandam nada para a nuvem e eu não quero mandar absolutamente nada das minhas notas, não, eu diria que a maior parte das coisas que eu tenho no Obsidian, esmagadora maioria, não é nada altamente privado, mas eu tenho muita coisa que é privado, privado meu e privado dos meus clientes, dos meus alunos, tem informação de empresas no meu Obsidian e eu não quero acidentalmente mandar isso para um modelo de ar online ou sabe-se lá para onde esses plugins mandando isso para fora, então eu descartei isso, por enquanto pelo menos, e resolvi pensar, e foi aí que eu mudei de estratégia, resolvi pensar em como eu poderia fazer isso usando a linha de comando no terminal do Mac, isso é muito avançado, até para mim, é demais, mas como eu venho estudando e aprendendo Linux e o Raspberry Pi e tudo mais, o que eu pensei foi, se eu conseguir encontrar alguns comandos, alguma forma de fazer isso, que depois eu consiga traduzir isso para as pessoas de uma forma simples, vai funcionar, porque aí eu posso explicar como fazer e a pessoa faz, quem quiser fazer, faz só o que eu estou explicando.
Então, isso funciona, mas funciona de uma forma demorada, porque é um modelo local e o meu Obsidian é gigantesco, então eu tenho tentado, não é que eu tenha tentado, já tentei, o segundo passo, o primeiro passo foram os plugins, o segundo passo foi esse, escrever ali no terminal do Mac, interagir com o Oyama por ali, porque o Obsidian, ele tem um cofre local, então eu posso simplesmente dizer para o Oyama, olhe para essas notas aqui que estão no meu computador, ou nem preciso dizer notas, olhe para esses arquivos aqui que estão dentro dessa pasta e me diga tal coisa.
Não é tão complicado fazer isso, depois que eu estudei, entendi, não é tão complicado fazer isso via terminal com alguns comandos, quem entende, já sabe, acho que já sabe o que fazer, mas pela quantidade de notas que eu tenho, mesmo quando eu restrinjo as notas e digo, olhe só nessas notas aqui, ainda fica lento, e mais do que isso, se eu restringir as notas, do que adianta ter um IA?
Porque eu não quero o IA para resumir nota, para me dizer o que fazer, nada disso, eu quero um IA com o qual eu possa interagir usando as minhas notas como base, como informação, tirar dúvidas sobre algum projeto, alguma coisa e perguntar alguma coisa, e não perguntar quando eu fiz, o que é que eu fiz, não, perguntar coisas lógicas mesmo, e se eu fizer isso e aquilo outro baseado nas notas que eu tenho no Obsidian, o que você acha?
Não que eu vou restringir a minha pesquisa e tudo mais a isso, até porque é limitado o universo, mas eu acho que vale a pena ter essas duas formas de busca, por exemplo, usar um IA conectado como Gemini, fazer perguntas mais abrangentes e depois fazer perguntas mais restritas ao meu conhecimento, ao que eu pesquisei, ao que eu fiz a curadoria, o que eu trouxe para dentro do Evernote, vou fazer o Evernote, você já vai entender porque eu falei Evernote, fazer a curadoria, ou o contrário, fazer alguma coisa no Obsidian e depois fazer a mesma pergunta e buscar mais informações numa IA aberta e até comparar os dois, porque está cada vez mais difícil também saber onde as IAs estão indo buscar essas informações.
Enfim, isso não dá certo da forma como eu estava tentando por conta desse limite de notas, teve uma vez que eu coloquei lá um conjunto de notas e o IA ficou pensando para sempre e eu uso o meu MacBook Air, é um MacBook com 16 gigabytes de memória e é um M1, já é antigo, enfim, mas não acho que seja uma máquina muito básica, ele deveria ter capacidade de processar, mas são muitas notas, é muita coisa.
E aí eu tive a ideia número 3, e essa ideia número 3 eu acabei de ter agora, e por isso que eu resolvi gravar porque eu achei que era uma boa ideia, e agora você vai entender porque eu falei Evernote em vez de Obsidian.
A busca avançada do Evernote é usada pelo IA do Evernote, então se eu fosse usar um IA no Evernote como eu tentei usar no Obsidian, mesmo que fosse um IA no servidor e tal, ou ia ficar absurdamente caro, ou ia prohibitivamente caro para a empresa, para a Bending Spoons, ou não iria funcionar, porque a quantidade de notas é tão grande que o sistema ia ter que olhar todas aquelas notas, indexar tudo, fazer a busca em todas, então não ia funcionar.
Então a busca, o IA do Evernote, ele usa a busca avançada, e essa busca avançada, então vamos lá, deixa eu dar um passo atrás, eu faço uma pergunta na caixa de IA do Evernote, pelo menos era assim, e é isso que me interessa, porque você já vai entender porque isso me interessa, como é que eu vou usar isso no Obsidian.
Escrevo alguma coisa na caixa de busca do Evernote, essa busca é convertida para uma busca, essa frase é convertida para uma busca avançada do Evernote, para quem não sabe, busca avançada é uma busca com termos que procura nas suas notas aquelas informações que têm relação com aquela frase.
A grande sacada que a Bending Spoons teve foi fazer com que o IA convertesse essa primeira frase, essa primeira pergunta, em uma busca avançada, porque antes você tinha que usar a busca avançada, tinha que saber os comandos e escrever esses comandos na caixa de busca para encontrar as notas.
Então o primeiro passo é esse, o que a IA faz é simplesmente converter uma frase em um bando de comandos que vai fazer uma busca no seu Evernote local, e aí o Evernote vai retornar um conjunto de notas baseado naquela busca avançada.
É nesse conjunto de notas que se seleciona um grupo de notas, e esse grupo de notas selecionado é enviado para um modelo, no caso do Evernote, é enviado para um modelo, na época era o chat GPT, eu não sei se ainda é isso, é enviado para lá, lá é feito o processamento e devolvido a resposta, mas você consegue perceber que isso me deixou com bastante pé atrás na época, porque não tem como eu garantir que notas o IA vai encontrar e que notas ele vai mandar para o modelo, vai que ele pega sem querer uma nota de um cliente meu com dados de um cliente meu.
Então era por isso que eu evitava usar esse IA no meu cofre principal, eu fazia muitos testes, mas evitava usar no meu cofre principal, cofre não, já estou misturando tudo, na minha conta principal do Evernote.
Agora, a ideia que eu tive foi exatamente essa, o que eu perguntei para o Gemini é, será que eu não posso usar esse comando que eu estou usando, para quem entende de Linux é o comando CAT, eu não posso usar esse comando para juntar, fazer uma busca avançada, quer dizer, não esse comando, mas fazer primeiro uma busca avançada no Obsidian e baseado nessa busca avançada do Obsidian, usar o comando que eu estava usando, ou seja, eu vou ter um número restrito de notas.
Por quê?
Qual é o detalhe?
O Obsidian recentemente lançou algo chamado CLI, que vários programas têm, o Obsidian só está usando, é um tipo de interação com o programa que é via linha de código.
Fica aqui comigo, não vai embora não, eu estou tentando traduzir tudo da forma mais humana possível, mas a linha de código é eu escrever alguma coisa, em vez de eu ir lá na caixa de busca do Obsidian, escrever o texto, clicar no mouse e buscar, na linha de código ali do terminal, eu vou escrever, faço uma busca assim, explico como eu quero que ele faça a busca, digo as etiquetas e tudo mais, tudo escrito com códigos, e ele retorna essa busca.
Então o CLI, que existe, vários programas têm isso, ele permite que eu possa fazer uma busca dessas no terminal, perguntando alguma coisa para o Obsidian.
Então vamos lá, eu vou escrever uma busca, vou codificar uma busca ali, ele vai me retornar a busca, e o que ele retornou de buscas notas