Oi Comunidade,
Estamos felizes em convidar vocês para a próxima competição online de programação da InterSystems, que será focada em Python!
🏆 Competição InterSystems Python 🏆
Duração: Julho 15 - Agosto 4, 2024
Premiação total: $14,000
.jpg)
Embedded Python refere-se à integração da linguagem de programação Python no InterSystems IRIS kernel, o que permite que os desenvolvedores operem com dados e que desenvolvam lógicas de negócio para aplicativos no lado do servidor usando o Python.
Oi Comunidade,
Estamos felizes em convidar vocês para a próxima competição online de programação da InterSystems, que será focada em Python!
🏆 Competição InterSystems Python 🏆
Duração: Julho 15 - Agosto 4, 2024
Premiação total: $14,000
.jpg)
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!
Olá a todos!
Trabalho há muitos anos com Excel e, ultimamente, foquei no tratamento de bases de dados.
Realmente minha experiencia com Excel foi para trabalhos financeiros, não tanto analíticos de dados em si, mas em um projeto recente pude trabalhar muito com SQL e me interessei um pouco pelo tema (não sou nenhuma uma especialista, já aviso!)
Me perguntei como poderia unir vários excels em um para, por exemplo, entregá-lo à Análise de dados utilizando a tecnologia InterSystems. Juntei toda a informação em um pequeno artigo. Espero que seja útil e, é claro, estou aberta a correções.
Vamos
Com o crescimento da Gen AI, acreditamos que agora os usuários devem ser aptos a acessar dados não estruturados de uma maneira muito mais simples. A maioria das pessoas tem muitos emails que não conseguem dar conta. Por exemplo, em investimentos/trading, os profissionais dependem de decisões rápidas que levem em consideração o máximo de informação possível. Da mesma maneira, empregados seniores em uma startup lidando com muitos times e disciplinas podem ter dificuldade em organizar todos os emails que recebem. Esses problemas comuns podem ser resolvidos usando GenAI e ajudar a f

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.
Recentemente tive a oportunidade de participar no MIT (Massachu
.png)
Há 2 anos eu venho utilizando Python embutido diariamente. Talvez seja o momento de compartilhar um feedback sobre essa jornada.
Por que escrever esse feedback? Porque eu acredito que sou como a maioria das pessoas aqui, um desenvolvedor ObjectScript, e penso que a comunidade poderia ter algum benefício desse feedback e entender melhor os prós e contras de escolher Python embutido para desenvolver em IRIS. Além de evitar algumas armadilhas.

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.
zpip é um wrapper para o pip do python que permite aos desenvolvedores adicionar paco
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?
Há diferentes maneiras de alcançar isso: por exemplo, é possível usar o CSV Record Mapper

Atualmente, há bastante conversa sobre o LLM, a IA etc. Os bancos de dados vetoriais fazem um pouco parte disso, e já há várias realizações diferentes para o suporte no mundo fora do IRIS.
Por que o vetor?
E vários outros motivos.
Então, para este concurso de python, decidi tentar implementar esse suporte. Infelizmente, não conseguir terminar a tempo, e explicarei abaixo porquê.

Olá Desenvolvedores,
Comece a assistir o novo vídeo em InterSystems Developers YouTube:
⏯ Using Embedded Python as a Jupyter Notebook Server @ Global Summit 2023
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>A documentação online contém o tópico Defining and Using Class Queries (Definir e usar consultas de classe) para referência-
A personalização direta de procedimentos armazenados com ObjectScript tem sido útil para acessar o armazenamento NoSQL e as mensagens externas pela integração, para apresentar a saída em um formato tabular.
Por exemplo: um aplicativo que já usa 90% da interação SQL de um front-end também pode estender esse acesso aos outros 10% da funcionalidade de plataforma necessária, pelo mesmo acesso SQL.
A finalidade deste artigo é explorar como alcançar o mesmo efeito
.png)
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:
Set returnValue = #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á!
Peço desculpas se isso for óbvio para programadores Python, mas, para aqueles que estão saindo do ObjectScript, esta pode ser uma dica útil.
O cenário é o desenvolvimento de alguns comandos do Embedded Python.
Testando se a funcionalidade está sendo confirmada pelo shell:
$SYSTEM.Python.Shell() Python 3.9.5 (default, Mar 14 2023, 06:58:44) [MSC v.1927 64 bit (AMD64)] on win32 Type quit() or Ctrl-D to exit this shell. >>>
Quando o Python avalia uma expressão no shell, ele imprime o resultado da expressão no terminal.
>>> 1 + 2 3
É bastante fácil avaliar e imprimir valores sem querer
>>> iris
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 ponto à esquerda (".") na frente do nome da variável pass
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.
A evolução da plataforma é algo notável e sempre trouxe mais robustez, flexibilidade e estabilidade para nós des

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:
<THROW> *%Exception.PythonException <THROW> 230 ^^0^D ##CLASS(CursoPython.Repeticao).WhileTest() <class 'EOFError'>:
Olá, comunidade,
Neste artigo, vou demonstrar o uso do InterSystems Embedded Python. Vamos abordar os tópicos abaixo:

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.
Vamos relembrar nossas primeiras lições de quando começamos a prog
.png)
Olá desenvolvedores,
Assista a este vídeo para saber como os usuários do InterSystems IRIS estão implantando o Python Nativo para acelerar o desenvolvimento de seus aplicativos:
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 <<
Olá Comunidade,
Junte-se a nós para um Encontro de Desenvolvedores InterSystems durante o TechCrunch Disrupt 2022!
Estaremos nos reunindo na quarta-feira, 19 de outubro, no Bartlett Hall, localizado na 242 O'Farrell St. (a poucos quarteirões do Moscone Center), das 18h às 20h30 PT, onde os palestrantes discutirão como os desenvolvedores pode trazer o código para os dados, não os dados para o código com Embedded Python e ML Integrado no InterSystems IRIS.
Alimentos e bebidas serão servidos acompanhados de discussões.
Agenda:
Depois deste GitHub, vamos ver como o protocolo FIX pode ser facilmente implementado usando a IRIS e o Python.
Se você não tem muito tempo, foque na seção Envie uma Cotação antes do Pedido no final, que explica em alguns minutos como enviar uma Solicitação de Cotação seguido por uma Solicitação de Pedido, além de mostrar o resultado do servidor em menos de cinco cliques.
A implementação do Protocolo FIX usando um contêiner Python da IRIS para o iniciador e um contêiner Python regular para o ativador.
O Protocolo Financial Information eXchange (FIX®) revolucionou o ambiente d
Olá Desenvolvedores!
Temos incríveis artigos novos para vocês lerem e curtirem graças aos nossos maravilhosos participantes do 3ºConcurso de Artigos Técnicos: Edição Python!
E agora chegou a hora de anunciarmos os ganhadores!
Vamos conhecer os ganhadores e seus artigos:
Estamos felizes em compartilhar informações interessantes com vocês, assim como contar a vocês porque o Python é bom, onde é utilizado.
Entre a maioria das bibliotecas utilizadas estão NumPy e Pandas. NumPy(Numerical Python) é utilizada para classificar grandes conjuntos de dados. Ela simplifica operações matemáticas e sua vetorização em matrizes. Pandas oferece duas estruturas : Series (uma lista de elementos) e DataFrames (uma tabela com múltiplas colunas). Esta biblioteca converte dados em um DataFrame, permitindo remover e adicionar novas colunas, assim como realizar diversas operações.
.png)
Este exemplo demonstra a diferença de quando você acessa globais diretamente do
Embedded Python (ePy) comparado com o ObjectScript nativo (ISOS).
Para tornar este demo operacional, eu inicio 2 jobs em background, que irão escrever
sequencialmente na global dedicada. Um método de controle comum dispara uma execução síncrona.
De forma similar, outro método stop & view irá interromper o fluxo de dados.
Os dois jobs executam em paralelo e a probabilidade de execução dos blocos sequencialmente é reduzida. Durante o desenvolvimento desta demo, eu detectei que o comando de JOB teve problemas com
Cla
Não há dúvidas que as possibilidades são ilimitadas com o que se pode fazer com o IRIS 2021.2 com Embedded Python, desde visão computacional, automações, blockchain e principalmente a inteligência artificial.
Python é umas das linguagens que mais tem crescido nos últimos anos e existe uma infinidade de bibliotecas para facilitar a vida dos desenvolvedores.
Meu objetivo é escrever de forma simples, uma introdução ao Pandas para desenvolvedores de ObjectScript.
Pandas é uma biblioteca criada para análise, manipulação e tratamento de dados.
A título de curiosidade, Pandas ve

A partir da versão 2021.2 do InterSystems IRIS é possível desenvolver serviços de backend, de integração e procedures de bancos de dados utilizando Python. A grande vantagem desta possibilidade é a redução na curva de aprendizado e a utilização de programadores especialistas na linguagem de programação que mais cresce no mundo. O propósito deste artigo é de demonstrar que os projetos criados em InterSystems IRIS podem ser desenvolvidos com Python, ou mesmo com Python e ObjectScript (linguagem de programação proprietária da InterSystems) juntos, para atender a quaisquer requisitos e necessidade