Nova postagem

Pesquisar

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Jun. 18, 2024 4min de leitura

Unity Catalog for IRIS Workloads - Collision Theory Confirmed

Collision Theory Confirmed

Innovation happens when two or more technologies collide to create something new. The best collisions can CHANGE lives, eliminate WASTE, DIFFERENTIATE in the market or flat out give me another project I dont have time for, but this one would really really matter.

I attend conferences and hackathons searching for that something to click enough to make me walk out of a keynote happily distracted and snag one of those (rare indeed) empty benches next to a power outlet and consume code bases. This high occurred at  InterSystems Global Summit 2024 , but it wasnt apparent until a shot was fired 2900 miles away at DAIS 2024  at the very same time when Unity Catalog went Open Source! 

I am not one that can see through or engage a textile metaphor to articulate what is needed for data workloads at ridiculously weird/fast times to serve in my industry. I need software to back it, and pretty much immediately. This is the difference between solving a gap vs. curating an innovative idea I'd presume, so solutioning encouraged, and OSS is on the case.

Possible mis-use of "Collision Theory" for a publication aside, here is a collision or an eminent one at least that I pondered in an Uber ride a Wednesday ago and is still holding close to ring zero in my carbon based operating system.

The Collision

Vectors


You dont need to dig too hard to get excited about the immediately possibility of Vector Data Structures right along side all the other ones from a SQL perspective. "Already Ready" is a real thing and a column and ELT/ETL away without moving any data at all.

@Alvin Ryanputra 's GrandHack MIT Demo is kind on the eyes to highlight this data mix-in powered by embeddings/vectors:

SELECT TOP 3 * FROM scotch_reviews 
WHERE price < 100 // SQL STUFF
ORDER BY VECTOR_DOT_PRODUCT(description_vector, TO_VECTOR(:search_vector)) DESC // VECTOR SORCERY

You got your SQL mixed in with my Vectors could be a modern day Reese's commercial, and the fact you can take an already existing text column and rip it to evergreened embeddings and persist it should set off some light bulbs somewhere.

Python


Unity Catalog is front in center in the teaser for this post, but Python is the star of the show. The relentless work, evangelism, and solutioning that @Guillaume Rongier 
and the Python Posse at InterSystems has put in proved to be more important than ever to roll with the tide of our industry.

Why?

Python is a cloud interoperability platform.

And guess what...

It was successfully embedded and Object Script was made accessible in reverse fashion, and most likely not with the help of a single JIRA in the beginning to move it forward, and the real ticket to doing "Cloud." No more "adapters" needed to be built (but are welcomed and valuable), they are "Already Ready" in the supply chain as python modules.

If you are not in agreement with the above Python Cloud Statement, let's move to "Unmanaged Tables" in Unity Catalog OSS and argue about it there.

Unity Catalog OSS


In 2021, Databricks responded to customers jumping up and down to apply a sanity layer to the workloads for Data Governance, Security, and all those things mentioned for three days straight at Global Summit in the context of AI adoption. In 2024, it was opened up for any data platform to use, and has been a fascinating subscription to pull requests since that moment for sure.

So let's put it to its intended purpose, and turn the Orange to Teal and Navy to Purple and apply it in full solutioning glory to InterSystems IRIS.

Unity Catalog is a lot of things, a lot of good things that checks a lot of boxes in the modern data era. Outside of all those checkboxes is the registration of "connections" to external data for our Python powers to consume. This in essence is an "adapter" that results in a dataset for consumption of the IRIS Data Platform, instant cloud interoperability if you will with an enterprisey, itilly twist all with scoped authorization at the Metastore level.

[] = iriscatalog.cloudfiles("bucket")

If you consume information in a pattern like I do, I've already lost your SEO impression to another site to dig deeper on Unity Catalog, so Ill boil my closing actor in the collission with some MS Paint modifications as an overlay to Unity Catalog functionality.

This one is a bit far fetched and probably where on the spot solutioning falls apart, but what if our "Managed Tables" were InterSystems Data objects, and Unmanaged was instant data format compatibility ?

Key:
⛅ Instant Cloud Interoprability
🚀 Future Forward Data Sharing
✅  Already There

This is a developer community and a sweet terminal screenshot is mandantory with a whatif scenario in context. If you want to get started quickly in the flurry of development over there I suggest you just use this container on this pull request ( https://github.com/unitycatalog/unitycatalog/pull/42/files ).

What if, either by cpf magic, or callback, namespace creation registered itself with unity catalog?

So hi I am Ron and this is my article to be tokenized and spit out as embeddings and included in a yet to be named LLM in the future.

So how about a partnership ( https://www.unitycatalog.io/#partner-ecosystem ) over there with Unity Catalog ISC?

Ill certainly help in anyway I can.

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Jun. 18, 2024 6min de leitura

Flux de tâches avec le moteur InterSystems IRIS Workflow Engine - Introduction

Cela fait un certain temps que j'ai l'intention de faire une sorte de démonstration de concept avec la fonctionnalité Workflow (flux de travail), qui, comme beaucoup d'autres fonctionnalités disponibles dans IRIS, tend à passer inaperçue aux yeux de nos clients (et je fais ici mon mea culpa). C'est pourquoi j'ai décidé il y a quelques jours de développer un exemple de configuration et d'exploitation de cette fonctionnalité en la connectant à une interface utilisateur développée en Angular.

Discussão (0)2
Entre ou crie uma conta para continuar
Pergunta
· Jun. 17, 2024

CDATA

What causes the ![CDATA[ in a string field?

<QueryParameters><![CDATA[showportalonly=1&leaveunprocessed=0&limit=5000]]></QueryParameters>

6 Comments
Discussão (6)2
Entre ou crie uma conta para continuar
Artigo
· Jun. 17, 2024 5min de leitura

LangChain – Libertando o potencial total das LLMs

image

Olá Comunidade

Nesse artigo, vou introduzir minha aplicação irisChatGPT construída no LangChain Framework.

Primeiramente, vamos ter uma breve visão geral desse framework.

O mundo inteiro está falando sobre o ChatGPT e como as Large Language Models (LLMs - Grandes modelos de linguagem) se tornaram tão poderosas e tem performado além das expectativas, oferecendo conversas quase humanas. Isso é só o começo de como isso pode ser aplicado em qualquer empresa e qualquer domínio!

A questão mais importante que permanece é como aplicar esse poder para dados específicos de domínio e comportamento de respostas específicas de cenário às necessidades da empresa.

LangChain fornece uma resposta estruturada e efetiva a esse problema nas suas mãos! O LangChain é a tecnologia que pode ajudar a descobrir o imenso potencial das LLMs para construir aplicações surpreendentes ao proporcionar uma camad de abstração ao redor das LLMs e usá-las de maneira fácil e eficaz. O LangChain é uma framework que permite desenvolvimento fácil e rápido de aplicações que usam Grandes Modelos de Linguagem, por exemplo, GPT-3.

Essa framework, no entanto, introduz possibilidades adicionais, por exemplo, a de usar facilmente fontes de dados externos, como a Wikipedia para ampliar as capacidades oferecidas pelo modelo. Eu tenho certeza que vocês todos provavelmente já tentaram usar o Chat-GPT e descobriram que ele falha em responder sobre eventos que ocorreram após uma certa data. Nesse caso, uma pesquisa na Wikipedia poderia ajudar o GPT a responder mais perguntas.


Estrutura do LangChain

Essa framework é organizada em seis módulos. Cada um permite que você gerencie um aspecto diferente da interação com LLM. Vamos ver quais são esses módulos.

  • Modelos: Permite que você instancie e use três tipos diferentes de modelos de linguagem, que são:
    • Large Language Models (LLMs): esses modelos fundacionais de machine learning que são capazes de entender lingugem natural. Eles aceitam stringes na entradas e geram strings na saída.
    • Chat Models: modelos alimentados por LLM, mas especializados para conversar com o usuário. Você pode ler mais aqui.
    • Text Embedding Models: esses modelos são usados para projetar dados textuais em um espaço geométrico. Esses modelos recebem uma entrada de texto e retornam uma lista de números, a  incorporação do texto.
  • Prompts: O prompt é como nós interagimos com o modelo para tentar obter uma saída dele. Saber como escrever  um prompt efetivo é de suma importância. Esse módulo da framework nos permite gerenciar prompts melhores. Por exemplo, podemos criar templates (modelos) que podemos reutilizar.
  • Indexes: Os melhores modelos frequentemente são aqueles que são combinados com uma parte dos seus dados textuais, para adicionar contexto ou explicar algo ao modelo. Esse módulo nos ajuda a fazer exatamente isso.
  • Chains: Muitas vezes, para resolver tarefas, uma só chamada a API para um LLM não é suficiente. Esse mídulo permite que outras ferramentas sejam integradas. Por exemplo, uma chamada pode ser uma cadeia composta com o propósito de buscar informações da Wikipedia e retornar essa informação como entrada ao modelo. Esse módulo permite que muitas ferramentas sejam concatenadas com o objetivo de resolver tarefas complexas.
  • Memory: Esse módulo permite que criemos um estado persistente dentre chamadas a um modelo. Ser capaz de usar um modelo que se recorda do que foi dito no passado com certeza vai melhorar nossa aplicação.
  • Agents: Um agente é um LLM que faz uma decisão, toma uma ação, faz uma observação sobre o que foi feito e continua nessa maneira até completar sua tarefa. Esse módulo fornece um conjunto de agentes que podem ser usados.

Agora vamos observar melhor os detalhes e ver como implementar códigos aproveitando os diferentes módulos.

Como funciona o LangChain
 

Passo 1 :
Usuário envia a questão ao LangChain

Passo 2 :
LangChain envia a questão ao Embedding Model (modelo de incorporação)


Passo 3 :
Embedding model convertse o texto em vetores, já que o texto é armazenado como vectors (vetores) na base de dados e retorna ao LangChain 

Passo 4 :
LangChain envia esses vectores à base de dados de vetores (existem várias bases de dados de vetores, estamos usando a chroma na nossa aplicação).


Passo 5 :
A base de dados de vetores retorna os vetores Top K Approximately Nearest Neighbors (KNN) (Top K vizinhos aproximadamente mais perto)


Passo 6 :
LangChain envoa a questão com os vetores KNN para o Large Language Models (LLMs) (Estamos usando OpenAI na nossa aplicação)

Passo 7 :
LLM retorna a resposta ao LangChain

Passo 8 :
Langchain retorna a resposta ao usuário


Sobre a Aplicação

A aplicação irisChatGPT nivela a funcionalidade de uma das mais usadas frameworks LangChain construídas em torno de Large Language Models (LLMs). LangChain é uma framework que permite o desenvolvimento rápido e fácil de aplicações que usam grandes modelos de linguagem. A aplicação é construída usando ObjectScript com a ajuda da funcionalidade intersystems Embedded Python. Ela também contem a aplicação web Streamlit, que é um framework de Python open-source (código aberto) feito para criar apps bonitos para aprendizado de máquina e ciências de dados.

 

Recursos

Abaixo está a lista de recursos junto com as fotos da tela relacionadas.

 

Referência Intersystems ObjectScript ChatGPT Embutida

 

Competição InterSystems Grand Prix 2023 ChatGPT Embutido

 

ChatGPT com servidor FHIR







Responder questões sobre uma base de dados Cache usando SQLDatabaseChain
 

 

Create your own chatGPT model and chat with it
 

OpenAI ChatGPT
 

Pesquisa Wikipedia 
 

Pesquisa na internet usando a ferramenta de pesquisa geral DuckDuckGo (DDG)
 

Gerar código Python usando a funcionalidade Python REPL LangChain functionality

 

 

Aplicação Web Streamlit  ONLINE DEMO     

Referência Objectscript
 
Competição Grand Prix 2023


ChatGPT Pessoal

OpenAI ChatGPT
 

 

Obrigado!

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