1. interoperability-embedded-python
Esta prova de conceito busca mostrar como o framework de interoperabilidade do iris pode ser usado com o embedded python.
Python é uma linguagem de programação interpretada de alto nível para programação de uso geral. Criado por Guido van Rossum e lançado pela primeira vez em 1991, o Python tem uma filosofia de design que enfatiza a legibilidade do código, principalmente usando significativos espaços em branco
InterSystems Python BindingDocumentação.
Esta prova de conceito busca mostrar como o framework de interoperabilidade do iris pode ser usado com o embedded python.
_________ ___ ____
|__ / _ \_ _| _ \
/ /| |_) | || |_) |
/ /_| __/| || __/
/____|_| |___|_|
Desde a versão 2021.1, o InterSystems IRIS começou a enviar com um ambiente de execução do python no kernel do motor. No entanto, não havia como instalar pacotes de dentro da instância. A principal vantagem do python é seu enorme ecossistema de pacotes. Com isso em mente, apresento meu projeto pessoal zpip, um wrapper de pip que pode ser chamado a partir do terminal iris.
Neste GitHub, você pode encontrar todas as informações sobre como usar um modelo de machine learning / IA do HuggingFace no Framework IRIS usando python.
Uso de modelos de machine learning no IRIS usando Python. Para modelos text-to-text, text-to-image e image-to-image.
Modelos de exemplo:
No cenário de dados atual, as empresas enfrentam vários desafios diferentes. Um deles é fazer análises sobre uma camada de dados unificada e harmonizada disponível para todos os consumidores. Uma camada que possa oferecer as mesmas respostas às mesmas perguntas, independentemente do dialeto ou da ferramenta usada. A Plataforma de Dados InterSystems IRIS responde a isso com um complemento de Análise Adaptativa que pode fornecer essa camada semântica unificada. Há muitos artigos no DevCommunity sobre como usá-lo por ferramentas de BI. Este artigo abordará como consumi-lo com IA e também como
Fui desafiado a criar um aplicativo de bot do Azure que possa recuperar e publicar dados no IRIS for Health.
Os dados de um paciente já foram registrados no repositório FHIR do IRIS for Health.
O MRN do paciente é 1001. O nome dele é Taro Yamad. (em japonês: 山田 太郎)
Esse bot pode publicar novas leituras de oxímetro como um recurso de observação associado ao paciente.
Um cliente perguntou recentemente se o IRIS era compatível com o OpenTelemetry, pois queria medir o tempo que os serviços SOAP implementados pelo IRIS levavam para serem concluídos. O cliente já tem diversas outras tecnologias compatíveis com o OpenTelemetry para o tracing de processos. No momento, o InterSystems IRIS (IRIS) não oferece suporte nativo ao OpenTelemetry.
Temos um delicioso conjunto de dados com receitas escritas por vários usuários do Reddit, porém, a maioria das informações é texto livre, como o título ou a descrição de um post. Vamos descobrir como carregar o conjunto de dados facilmente, extrair algumas características e analisá-las usando recursos do modelo de linguagem grande da OpenAI no Embedded Python e no framework Langchain.
Primeiro de tudo, precisamos carregar o conjunto de dados ou podemos só nos conectar a ele?
Deixe-me apresentar meu novo projeto, que é o irissqlcli, um REPL (Read-Eval-Print Loop) para o InterSystems IRIS SQL
Instale com o pip
pipinstallirissqlcliOu execute com o docker
dockerrun-itcaretdev/irissqlcliirissqlcliiris://_SYSTEM:SYS@host.docker.internal:1972/USERConecte ao IRIS
$ irissqlcli iris://_SYSTEM@localhost:1972/USER -W
Password for _SYSTEM:
Server: InterSystems IRIS Version 2022.3.0.606 xDBC Protocol Version 65
Version: 0.1.0
[SQL]_SYSTEM@localhost:USER> select $ZVERSION
+---------------------------------------------------------------------------------------------------------+
| Expression_1 |
+---------------------------------------------------------------------------------------------------------+
| IRIS for UNIX (Ubuntu Server LTS for ARM64 Containers) 2022.3 (Build 606U) Mon Jan 30202309:05:12 EST |
+---------------------------------------------------------------------------------------------------------+
1 row in set
Time: 0.063s
[SQL]_SYSTEM@localhost:USER> help
+----------+-------------------+------------------------------------------------------------+
| Command | Shortcut | Description |
+----------+-------------------+------------------------------------------------------------+
| .exit | \q | Exit. |
| .mode | \T | Change the table format used to output results. |
| .once | \o [-o] filename | Append next result to an output file (overwrite using -o). |
| .schemas | \ds | List schemas. |
| .tables | \dt [schema] | List tables. |
| \e | \e | Edit command with editor (uses $EDITOR). |
| help | \? | Show this help. |
| nopager | \n | Disable pager, print to stdout. |
| notee | notee | Stop writing results to an output file. |
| pager | \P [command] | Set PAGER. Print the query results via PAGER. |
| prompt | \R | Change prompt format. |
| quit | \q | Quit. |
| tee | tee [-o] filename | Append all results to an output file (overwrite using -o). |
+----------+-------------------+------------------------------------------------------------+
Time: 0.012s
[SQL]_SYSTEM@localhost:USER>Olá, Comunidade,
Neste artigo, vou apresentar meu aplicativo iris-mlm-explainer
Esse aplicativo da Web se conecta ao InterSystems Cloud SQL para criar, treinar, validar e prever modelos de ML, fazer previsões e mostrar um painel com todos os modelos treinados e uma explicação sobre o funcionamento de um modelo de machine learning ajustado. O painel fornece plotagens interativas de desempenho do modelo, importância do recurso, contribuições do recurso para previsões individuais, plotagens de dependência parcial, valores SHAP (interação), visualização de árvores de decisões individuais etc.
Está começando a codificar na plataforma de dados IRIS® da InterSystems? Experimente esse novo programa de aprendizagem para conhecer os conceitos básicos e ver como desenvolver um aplicativo com o InterSystems ObjectScript juntamente com a linguagem de sua escolha: Java, .NET, Python ou Node.js.
Olá, comunidade
Neste artigo, vou apresentar meu aplicativo IRIS-FlaskBlog.
O IRIS-FlaskBlog é um aplicativo real que usa a funcionalidade de framework da Web Flask, o ORM SQLALchemy e o InterSystems IRIS. O aplicativo contém a inscrição e autenticação de usuários com a ajuda da biblioteca python Flask-Login, uma interface de usuário responsiva para criar e editar posts.
No meu último artigo, falei sobre devolver valores com Python. Mas a devolução é muito simples, o que pode complicá-la é o que vou falar hoje: onde é tratado o valor.
Seguindo o exemplo do último artigo, temos o método:
Class python.returnTest [ Abstract ]
{
ClassMethod returnSomething(pValue... As%String) As%Integer [ Language = python ]
{
return pValue
}
}
Assim, temos devolvido um objeto de Python, que para IRIS é a classe %SYS.Python. Então, por ejemplo, se chamo o método com dois valores, tenho:
Ao começar a desenvolver com o IRIS, temos um kit de distribuição ou, no caso do Docker, extraímos a imagem do Docker e, geralmente, precisamos inicializá-lo e configurar o ambiente de desenvolvimento. Talvez seja necessário criar bancos de dados, namespaces, ativar/desativar serviços e criar recursos. Com frequência, precisamos importar código e dados na instância do IRIS e executar código personalizado para inicializar a solução.
<img alt="Lajos Simicska declara guerra contra Viktor Orban: "É ele ou eu!" - The Budapest Beacon" src="https://budapestbeacon.com/wp-content/uploads/2015/02/there-can-be-only-one.jpg">
Há vários modelos no Open Exchange onde sugerimos como inicializar o REST, Interoperability, Analytics, Fullstack e vários outros modelos com ObjectScript. E se só quisermos usar o Python para configurar o ambiente de desenvolvimento para o projeto do Embedded Python com o IRIS?
Então, a versão recente do modelo do Embedded Python é o boilerplate de python puro que pode ser um ponto de partida para os desenvolvedores que criam projetos em python, sem precisar usar e aprender o ObjectScript. Este artigo demonstra como esse modelo pode ser usado para inicializar o IRIS. Vamos lá!
Com o cross-skilling do objectScript do IRIS para o Python, ficam claras algumas diferenças fascinantes na sintaxe.
Uma dessas áreas é como o Python retorna Tuplas de um método com desempacotamento automático.
Efetivamente, isso se apresenta como um método que retorna vários valores. Que invenção incrível :)
out1, out2 = some_function(in1, in2)
O ObjectScript tem uma abordagem diferente com o ByRef e os parâmetros de saída.
Do ##class(some_class).SomeMethod(.inAndOut1, in2, .out2)
Onde:
O InterSystems IRIS 2022.2 tem um SDK Nativo para Python (https://docs.intersystems.com/iris20222/csp/docbook/Doc.View.cls?KEY=PAGE_python_native).
Sabemos como percorrer uma estrutura de dados global usando a função $Order do ObjectScript do IRIS.
SET key=""FOR {
SET key=$ORDER(^myglobal(key))
QUIT:key=""WRITE !,^myglobal(key)
}Como fazer o mesmo no Python usando o SDK Nativo do IRIS para Python? Aqui está um exemplo de código:
Em meus artigos anteriores, descrevi minha Extensão de Linha de Comando para NativeAPI.
É claro que isso também está disponível para qualquer outro pacote NativeAPI.
Portanto, criei este exemplo em Python como uma demonstração.
Olá, Criei este artigo inicialmente para demonstrar a usabilidade do Python dentro do Iris e sua funcionalidade, no código abaixo trago um exemplo de algo muito próximo que utilizamos para a solução de um problema, nele recebemos uma Global contendo um XML com mais de 7.000.000 de caractéres, onde fazemos as tratativas de limpeza, organização, conversão para um arquivo JSON e retornamos ele como resposta uma Global.
Class AXS.BP.Exemplo Extends (Ens.BusinessProcess, %XML.Adaptor) [ ClassType = persistent
{
20 anos.
Agora em 2023 eu completo 20 anos trabalhando com tecnologia, desenvolvendo sistemas, implementando, criando novas soluções e posso afirmar que trabalhar com tecnologia InterSystems fez e faz parte da minha vida. Afinal, foram 18 anos trabalhando todos os dias com essa tecnologia.
Comecei a trabalhar com o Caché 4, lá atrás em 2003, vivenciei as mudanças para o Caché 5, Caché e Ensemble 2008, 2010, 2012, 2014, 2017, 2018 e até finalmente chegarmos no InterSystems IRIS.
Olá pessoal,
Estou fazendo alguns testes com Python + IRIS e me deparei com uma situação de retorno de erro.
ClassMethod WhileTest() [ Language = python ]
{
venda = input("Registre um produto ou vazio para sair: ")
vendas = []
while venda != "":
vendas.append(venda)
venda = input("\nRegistre um produto ou vazio para sair: ")
print("\nOs produtos cadastrados foram: {}".format(vendas))
}
Ao executar esse código, tenho o retorno de erro abaixo quando sai do while:
Seguindo um pacote do último concurso, encontrei um problema estranho.
Havia o requisito para instalar o jupyter-notebook.
Eu trabalho no Windows e havia algum Python antigo instalado.
Nenhuma grande surpresa: a instalação do jupyter-notebook falhou
Portanto, a versão mais recente do Python foi instalada rapidamente.
Grande decepção: a instalação do jupyter-notebook falhou novamente!
Porque a nova instalação do Python não atualizou a antiga.
E também a variável de ambiente PATH não foi limpa
Isso não ficou óbvio imediatamente e exigiu muito tempo e esforço.
Apache Superset é uma plataforma moderna de exploração e visualização de dados. O Superset pode substituir ou trazer ganhos para as ferramentas proprietárias de business intelligence para muitas equipes. O Superset integra-se bem com uma variedade de fontes de dados.
E agora é possível usar também com o InterSystems IRIS.
Uma demo online está disponível e usa IRIS Cloud SQL como sua fonte de dados.
Olá Comunidade,
Assista a este vídeo para ver como se conectar ao InterSystems Cloud Services a partir de seu aplicativo Python usando a interface do driver InterSystems DB-API:
Em alguns dos últimos artigos, eu falei sobre tipos entre IRIS e Python, e ficou claro que não é tão fácil acessar objetos de um lado pelo outro.
Por sorte, o trabalho já foi feito para criar o SQLAlchemy-iris (clique no link para ver na Open Exchange), o que faz tudo muito mais fácil para o Python acessar os objetos do IRIS, e eu vou mostrar como começar.
Obrigada @Dmitry Maslennikov !
Para instalar, simplesmente abra seu terminal com acesso do administrador e digite
pip install sqlalchemy-iris
Isso também vai instalar os pré-requisitos, se necessário.
Ano passado eu escrevi um artigo para iniciantes para utilizar o Python incorporado. Depois se iniciou uma pequena discussão sobre como retornar valores com Python e achei algumas observações interessantes que valem a pena fazer um artigo. Além disso, espero que possa alcançar mais pessoas assim.
Há duas coisas com as quais temos que nos preocupar ao retornar um valor com Python. A primeira é o tipo que você está tentando retornar e a segunda é onde está retornando.
Olá Comunidade,
Vamos nos encontrar virtualmente em nossa Terceira Mesa Redonda da Comunidade! Esta será uma discussão de 60 minutos sobre um determinado tópico: Desenvolvendo com Python.
Inscreva-se através >> este desafio Global Masters <<
Por que eu amo ObjectScript e por que eu acho que poderia amar Python ainda mais
Eu estava olhando o tópico de mensagens sobre o assunto "Desempenho ao construir uma string separada por vírgulas" e comecei a escrever uma resposta. No entanto, me distraí, a página foi atualizada e perdi meu texto. Não podia gastar tempo reescrevendo minha resposta, então comecei a escrever este documento em vez disso.
Olá a todos, sou um estudante francês que acabou de chegar em Praga para um intercâmbio acadêmico no meu quinto ano da faculdade de engenharia e aqui está minha participação no concurso de interoperabilidade.
Não tive muito tempo para programar desde a mudança da França para Praga e estou participando sozinho, então decidi criar um projeto que é mais um modelo do que um aplicativo.
Queria participar já que minha área (Ciência de Dados e IA) não é geralmente associada à sustentabilidade, e o concurso era uma maneira de me expressar nesse tema importante que é a sustentabilidade e o meio ambiente.
Aqui você vai encontrar um programa simples que usa Python em um ambiente de desenvolvimento IRIS e outro programa simples que sua ObjectScript em um ambiente de desenvolvimento Python. Além disso, gostaria de compartilhar alguns dos problemas que tive enquanto aprendia a implementar esses códigos.
Digamos, por exemplo, que você está desenvolvendo no IRIS e tem um problema que acha mais fácil ou mais eficiente de se resolver com Python.
O SDK Nativo para Python da InterSystems é uma interface leve de APIs do InterSystems IRIS que antes estavam disponíveis somente por ObjectScript.
Estou especialmente interessado na capacidade de chamar métodos ObjectScript ou class methods, para ser preciso. Funciona muito bem, mas, por padrão, as chamadas só são compatíveis com argumentos escalares: strings, booleanos, inteiros e floats.
No entanto, se você quiser:
Você precisará escrever glue code ou usar este projeto (instalação com pip install edpy). O pacote edpy fornece uma simples assinatura:
call(iris, class_name, method_name, args)
que permite chamar qualquer método ObjectScript e receber resultados de volta.
Olá Desenvolvedores,
Não percam esta sessão hands-on apresentada pelo @Don Woodlock, Vice Presidente Soluções para Saúde na InterSystems:
⏯ Machine Learning 201 - Redes Neurais e Reconhecimento de Imagens