Artigo
· Maio 24 6min de leitura

Studio IRIS AI Studio: Um playground para explorar as capacidades de Generative AI & Vector Embedding

 

Problema

Você se identifica com isso: a capacidade e impacto da tecnologia que é realmente descoberta quando empacotada da maneira correta para seu público alvo? O melhor exemplo seria como a Generative AI deslanchou quando o ChatGPT veio ao público para fácil acesso e não como as capacidades Transformers/RAG's (Retrieval-Augmented Generation - Geração Aumentada de Recuperação) foram identificadas. Pelo menos uma usabilidade muito maior surgiu, quando a audiência foi incentivada para explorar as possibilidades.

 

Motivação

Recentemente tive a oportunidade de participar no MIT (Massachusetts Institute of Technology - Instituto de Tecnologia de Massachusetts) Grand Hack, em Boston, onde, durante minhas conversas com outros participantes, notei o imenso interesse por médicos e veteranos não técnicos em explorar as capacidades de Generative AI em seu domínio. Em uma das conversas, o melhor exemplo, que exibiu como os EHR's (Electronic Health Record - Registro Eletrônico de Saúde) tem uma UI (User Interface - Interface do usuário) complicada quando comparada com a UI polida do ChatGPT. Ainda que elas atendam a diferentes necessidades e tenham cada uma seus prós e contras, minha impressão final foi "O mundo não está voltando para trás, para interfaces complicadas para o usuário ou sistemas lentos. O futuro está em sistemas caracterizados por designs intuitivos e performance otimizada".

Para as partes não técnicas  interessadas que queriam explorar as capacidades do Generative AI, existe uma maneira de fazê-lo sem muitas complicações técnicas. De fato, o Co-lab/Jupyter notebook simplificaram significativamente o processo de rodar um código. Contudo, será podemos melhorar ainda mais isso para assemelhar-se às interfaces de plataformas como Playgrounds OpenAI ou o Studio Azure/Vertex AI? Um ambiente amigável ao usuário como esse encorajaria as partes não técnicas interessadas a entender as capacidades e limitações do Vector DB sem esforço. 

⚡️ Como nós podemos habilitar indivíduos não técnicos a avaliar o potencial do IRIS Vector DV em casos de uso para seus produtos/serviços, sem recursos exaustivos de desenvolvedores?

 

Solução

IRIS AI Studio— Uma plataforma no-code/low-code para explorar as capacidades de incorporações de Vectors no IRIS DB. Um usuário consegue, sem maiores dificuldades, carregar dados de várias fontes como vetores incorporados dentro da IRIS DB e então retornar a informação por meio de diversos canais. Aqui, o carregamento de dados é chamado de Connectors e a parte de retorno pode ser feito pelo Playground. Na essência, o Studio IRIS AI simplifica o processo de trabalhar com vetores incorporados e permite que o usuário visualize o poder da AI sendo cultivada para variadas aplicações. 

Connectors

Nos conectores, o usuário começa escolhendo a fonte de dados de onde querem buscar os dados e e carregar no IRIS DB como vetores incorporados. Eles podem carregar arquivos do sistema local ou devolver informações de serviços de armazenamento em cloud também. Esse recurso tem o potencial de funcionar como um pipeline de dados com a adição das capacidades de uma tarefa CRON.

Inicialmente, eu adicionei 4 fontes de dados diferentes: Armazenamento local, AWS S3, Airtable e Azure Blob Storage.

Após escolher a fonte dos dados, o usuário deve inserir a informação adicional a respeito da conexão, como id do cliente e chave secreta para o armazenamento AWS S3. Então, o usuário pode configurar as incorporações ao escolher tipo de indexação, modelo que deseja usar, dimensões e o nome da tabela em IRIS onde os dados serão carregados. Atualmente, indexações vindas de incorporações de OpenAI e Cohere são suportadas, mas com apenas algumas linhas de código poderíamos adicionar suporte para muitas outras incorporações.

Após finalizar os dois passos, os dados da fonte são convertidos em vetores incorporados e adicionados à tabela IRIS.

Playground

Agora que temos os dados do vetor incorporado na IRIS DB, permitir que o usuário retorne o conteúdo pelo canal preferido pode ser feito pelo Playground. Aqui vão alguns exemplos de como isso é feito.

Na Semantic Search (pesquisa semântica), o usuário insere as configurações que usou para carregar os dados e a pesquisa semântica consulta o que ele quer que seja executado no vetor incorporado. Isso vai retornar conteúdos da IRIS DB e devolver os resultados em formato de linguagem natural.

 

No Chat with Docs (Conversa com Documentos), o usuário deve inserir as configurações que usou para carregar os dados e o chat consulta o que ele quis fazer.  A opção do chat tem uma grande diferença da opção da consulta por causa da extensão do contexto em cada uma. Além disso, na conversa com documentos nós poderáamos conectar com várias opções LLM diferentes para retornar os conteúdos e não precisaríamos nos prender às opções de indexação (Atualmente a OpenAI's GPT 3.5 turbo é adicionada por padrão).]

 

Definições

Na seção de definições, o usuário poderia adicionar múltiplas configurações de instâncias IRIS que serão gravadas no armazenamento local do navegador e o usuário pode escolher com quais vai querer atuar ativamente. Isso fará seu trabalho mais fácil para administrar múltiplas instâncias e escolher as preferidas para uso. Além disso, aqui as chaves de API do serviço LLM  podem ser adicionadas (serão salvas no armazenamento de sessão do navegador) e automaticamente selecionadas para propósitos de indexação ou recuperação de dados. Nenhuma dessas informações está sendo salva e foi levada ao backend apenas para fins de processamento.

 

Teste você mesmo

Clone o repositório do projeto do link do GitHub a seguir: https://github.com/ikram-shah/iris-ai-studio.

Siga as instruções fornecidas para configurar o projeto localmente na sua máquina. Por favor note que, tendo escrito isso em 12 de Maio de 2024 para alguns módulos o desenvolvimento ainda está em progresso, mas a funcionalidade discutida acima deve funcionar perfeitamente 💪🏻 Me avise se algo não funcionar como esperado na DM (Direct Message - mensagem direta) ou na seção de problemas (issues) do GitHub.

Tech Stack

Frontend: VueJS, TailwindCSS, Flowbite

Backend: Python, Flask

Database: InterSystems IRIS

Frameworks/Libraries/Services: Llama-Index, SQLalchemy-iris, OpenAI, Cohere

Infrastructure: Vercel (frontend hosting), Render (backend hosting)

 

Creditos

Agradeço à detalhada documentação sobre Pesquisa de Vetor da InterSystems

Agradeço ao modelo de Pesquisa de Vetor IRIS por simplificar os módulos e capacidades, de@Alvin.Ryanputra 

Agradeço à livraria llama-iris do @Dmitry Maslennikov 

 

Considerações finais e Feedback

Eu venho de um passado de Inovação e Engenharia de Produto, e por mais de um ano eu tenho explorado avanços tecnológicos no setor de saúde, Aqui estou aprendendo mais da comunidade de desenvolvedores ISC e tenho certeza que essa plataforma AI Studio pode ajudar no seu trabalho, e desenvolvedores podem compartilhá-la com administradores de produto ou médicos para que deem suas participações na qualidade dos dados que está sendo retornado e muitos outros casos de uso. Se esse artigo fez sentido para você ou iluminou alguma ideia, por favor deixe uma curtida 👍 e fique à vontade para compartilhar seus pensamentos na seção de comentários abaixo. Eu adoraria me conectar com qualquer um interessado em discutir mais!

🚀 Vote por essa aplicação na competição de Vector Search, GenAI and ML, se acreditar que ela tem futuro!

Eu vou compartilhar mais publicações que dão um mergulho técnico profundo a respeito dessa plataforma.

Discussão (0)1
Entre ou crie uma conta para continuar