Nova postagem

Encontrar

Artigo
· Maio 13, 2024 2min de leitura

Reviews on Open Exchange - #43

If one of your packages on OEX receives a review you get notified by OEX only of YOUR own package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you made a major change and expect a changed review just let me know.

# Package Review Stars IPM Docker *
1 DNA-similarity-and-classify my personal 6* favorite 6.0      
2 companies-search excellent 5*+ example 5.5   y  
3 AutoML Churn Predict Showroom very positive experience 5.0 y    
4 iris-VectorLab an enlightening demo 5.0 y    
5 iris-medicopilot professional setup 4.7 y    
6 ImageSearchVideo nice starting package 4.5 y y  
7 iris-health-coach fine build - no clear test 4.5   y  
8 iris-image-vector-search builds - no testing 4.5 y y  
9 BG-AppealAI testing not prepared 4.0 y    
10 Hackupc24_inter package broken 1.0      
11 hackupc just Py - no trace of IRIS anywhere 0.5      
12 HackUPC24_Klìnic not clear what this is 0.5      
Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Maio 13, 2024 3min de leitura

Vector Search : Application to demonstrate Vector Search and Generative AI capabilities

Hi Community,

In this article, I will introduce my application iris-VectorLab along with step by step guide to performing vector operations.

IRIS-VectorLab is a web application that demonstrates the functionality of Vector Search with the help of embedded python. It leverages the functionality of the Python framework SentenceTransformers for state-of-the-art sentence embeddings.

Application Features

  • Text to Embeddings Translation.
  • VECTOR-typed Data Insertion.
  • View Vector Data
  • Perform Vector Search by using VECTOR_DOT_PRODUCT and VECTOR_COSINE functions.
  • Demonstrate the difference between normal and vector search
  • HuggingFace Text generation with the help of GPT2 LLM (Large Language Model) model and Hugging Face pipeline

To demonstrate the functionality of Vector Search, We will follow the below steps:

  • Step1: Generate embeddings and save Vector data to IRIS
  • Step2: View Vector data
  • Step3: Perform Vector Search

So Let us start.

Step 1: Create embeddings and save Vector data to IRIS 

The below Python function will save the vector data to IRIS:

// Save vector data
ClassMethod SaveData(desc As %String) As %String [ Language = python ]
{
	#Required to call objectscript method	
	import iris
	# Step 1: Prepare the Data 
	documents =[ desc ]
    # Step 2: Generate Document Embeddings
	from sentence_transformers import SentenceTransformer
	import pandas as pd
	#convert to dataframe for data manipulation
	df = pd.DataFrame(documents)
	#define column header
	df.columns = ['description']
	#Assign model
	model = SentenceTransformer('all-MiniLM-L6-v2')
    # Generate embeddings for each document
	document_embeddings = model.encode(documents)
	# assigning vector data to new column of dataframe
	df['description_vector'] = document_embeddings.tolist()
    # iterate through dataframe 
	for index, row in df.iterrows():
		# call SaveVector method of same class
		iris.cls(__name__).SaveVector(row['description'],str(row['description_vector']))
}
//Function to save vector data
ClassMethod SaveVector(desc As %String, descvec As %String) As %Status
{
	//Insert data to VectorLab table
  	&sql(INSERT INTO SQLUser.VectorLab  VALUES (:desc,to_vector(:descvec)))
 	if SQLCODE '= 0 {
   	 	write !, "Insert failed, SQLCODE= ", SQLCODE, ! ,%msg
    	quit
  	}
   	return $$$OK
}

 

Step2: View Vector data

The below function will return vector data


// View Vector data against ID
ClassMethod ViewData(id As %Integer, opt As %Integer) As %String
{
    // if opt = 1 then return normal description
    if opt = 1
    {
    &sql(SELECT description into :desc FROM SQLUser.VectorLab WHERE ID = :id)
    IF SQLCODE<0 {WRITE "SQLCODE error ",SQLCODE," ",%msg  QUIT}
    return desc
    }
    // return Vector data
    if opt = 2
    {
    &sql(SELECT description_vector into :desc FROM SQLUser.VectorLab WHERE ID = :id)
    IF SQLCODE<0 {WRITE "SQLCODE error ",SQLCODE," ",%msg  QUIT}
    
    //count number of vectors
    set count = $vectorop("count",desc)
    set vectorStr = ""
    //Iterate to all vectors, concatenate them and return as a string
    for i = 1:1:count 
        {
        if (i = 1)
            { set vectorStr = $vector(desc,i)}
        else
            { set vectorStr = vectorStr_", "_$vector(desc,i)}	
        }
    return vectorStr
    }
}

 

Vector data can be viewed from the management portal
Screenshot 2024-05-13 133805

 

Step 3: Perform vector search

The below function will perform vector search functionality and print the results.

ClassMethod VectorSearch(aurg As %String) As %String [ Language = python ]
{
	#init python liabraries
	from sentence_transformers import SentenceTransformer
	import pandas as pd
	
	# Assign the model
	model = SentenceTransformer('all-MiniLM-L6-v2')
	
	# Generate embedding of search parameter
	search_vector = str(model.encode(aurg, normalize_embeddings=True).tolist()) # Convert search phrase into a vector
	
	import iris
	#Prepare and execute SQL statement
	stmt = iris.sql.prepare("SELECT top 5 id,description FROM SQLUser.VectorLab ORDER BY VECTOR_DOT_PRODUCT(description_vector, TO_VECTOR(?)) DESC")
	results = stmt.execute(search_vector)
	results_df = pd.DataFrame(results) 
	print(results_df.head())
}

For more details please visit IRIS-VectorLab open exchange application page.

Thanks

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Maio 13, 2024

HealthShare Unified Care Record Fundamentals – In Person June 3-7, 2024 - Registration space available

HealthShare Unified Care Record Fundamentals – In Person * Cambridge, MA June 3-7, 2024

* Please review the important prerequisite requirements for this class prior to registering.

  • Learn the architecture, configuration, and management of HealthShare Unified Care Record.
  • This 5-day course teaches HealthShare Unified Care Record users and integrators the HealthShare Unified Care Record architecture and administration tasks.
  • The course also includes how to install HealthShare Unified Care Record.
  • This course is intended for HealthShare Unified Care Record developers, integrators, administrators and managers.

SELF REGISTER HERE

Discussão (0)1
Entre ou crie uma conta para continuar
Artigo
· Maio 13, 2024 2min de leitura

Monitorando ambientes InterSystems IRIS com Red Hat Insights

A InterSystems trabalhou de perto com o time da Red Hat Insights para implementar uma curadoria de recomendações para administradores de sistemas, a fim de assegurar a melhor experiência ao rodar InterSystems IRIS no Red Hat Enterprise Linux (RHEL). Com todas as subscrições do RHEL inclusas o serviço de Insights identifica proativamente potenciais problemas com as plataformas e aplicações monitoradas rodando no RHEL. Através da nossa colaboração conjunta, o Insights agora observa cenários comuns que reduzem a performance do IRIS na maioria dos casos e oferece uma recomendação aprovada pela InterSystems

Dez recomendações estão implementadas atualmente e podem ser encontradas no tópico "InterSystems" dentro do serviço Insights Advisor. As recomendações do Advisor ajudam em áreas incluindo:
 

  1. Orientação para Melhoria (Tuning) de Performance. Nós providênciamos as melhores práticas para configurar  HugePages, Transparent HugePages (THP), swappiness, parâmetros de kernel shmmax, e mais.
  2. Compatibilidade do Produto. O Insights realça quais versões dos produtos InterSystems são melhores para serem usadas e oferecer a melhor experiência.
  3. Sugestões de Configuração para Journaling e Alta-Disponibilidade. Como mapeamento de drive Write Image Journaling (WIJ) drive mapping, identificar um árbitro para auxiliar em falha automática, ou ativar FreezeOnError (tradução livre: congelar no erro) para melhor integridade e recuperabilidade da base de dados InterSystems IRIS.

Toda recomendação contem detalhes sobre a versão RHEL detectada, informação sobre a instância InterSystems IRIS, e instruções passo a passo específicas do sistema para solucionar o problema detectado. Também são fornecidos links para a documentação InterSystems para maior referência.

Ative o Insights com InterSystems hoje.

Registrar seus sistemas com o Red Hat Insights é um processo muito direto e geralmente requere rodar apenas um comando. Alternativamente, a aplicação de assistente de cadastro pode ser usada para completar os passos necessários baseados nas suas configurações. Análises das cargas de trabalho do InterSystems IRIS não requerem passos adicionais e são ativadas uma vez que os sistemas estejam registrados com o Insights. Recomendações específicas podem ser facilmente desligadas se não são aplicáveis ao seu ambiente.

Dirija-se ao Red Hat Insights para aprender mais sobre o serviço e começar com o assistente de cadastro.
 

Converse com especialistas Red Hat no InterSystems Global Summit 2024.

A Red Hat  estará em exibição no InterSystems Global Summit nos dias 9 a 12 de Junho, e estará disponível parra discutir o Insigths e outras capacidades do Red Hat.

Discussão (0)1
Entre ou crie uma conta para continuar
Anúncio
· Maio 13, 2024

Time to vote in the Vector Search, GenAI and ML Contest

Hi Community,

It's voting time! Cast your votes for the best applications in our Vector Search, GenAI and ML Contest:

🔥 VOTE FOR THE BEST APPS 🔥

How to vote? Details below.

Experts nomination:

InterSystems experienced jury will choose the best apps to nominate the prizes in the Experts Nomination. Please welcome our experts:

⭐️ @Alvin Ryanputra, Systems Developer
⭐️ @Guillaume Rongier, Sales Engineer
⭐️ @Sylvain Guilbaud, Sales Engineer
⭐️ @Alexander Koblov, Senior Support Specialist
⭐️ @Eduard Lebedyuk, Senior Cloud Engineer
⭐️ @Steve Pisani, Senior Solution Architect
⭐️ @Andreas Dieckow, Principal Product Manager
⭐️ @Aya Heshmat, Product Manager
⭐️ @Benjamin De Boe, Product Manager
⭐️ @Bob Kuszewski, Product Manager
⭐️ @Carmen Logue, Product Manager
⭐️ @Luca Ravazzolo, Product Manager
⭐️ @Raj Singh, Product Manager
⭐️ @Patrick Jamieson, Product Manager
⭐️ @Stefan Wittmann, Product Manager
⭐️ @Thomas Dyar, Product Manager
⭐️ @Daniel Franco, Senior Manager - Interoperability Product Management
⭐️ @Timothy Leavitt, Development Manager
⭐️ @Evgeny Shvarov, Senior Manager of Developer and Startup Programs
⭐️ @Dean Andrews, Head of Developer Relations
⭐️ @Jeff Fried, Director of Product Management

Community nomination:

For each user, a higher score is selected from two categories below:

Conditions

Place
1st 2nd 3rd
If you have an article posted on DC and an app uploaded to Open Exchange (OEX) 9 6 3
If you have at least 1 article posted on DC or 1 app uploaded to OEX 6 4 2
If you make any valid contribution to DC (posted a comment/question, etc.) 3 2 1

 

Level

Place
1st 2nd 3rd
VIP Global Masters level or ISC Product Managers 15 10 5
Ambassador GM level 12 8 4
Expert GM level or DC Moderators 9 6 3
Specialist GM level 6 4 2
Advocate GM level or ISC Employees 3 2 1

Blind vote!

The number of votes for each app will be hidden from everyone. Once a day we will publish the leaderboard in the comments to this post. 

The order of projects on the contest page will be as follows: the earlier an application was submitted to the competition, the higher it will be on the list.

P.S. Don't forget to subscribe to this post (click on the bell icon) to be notified of new comments.

To take part in the voting, you need:

  1. Sign in to Open Exchange – DC credentials will work.
  2. Make any valid contribution to the Developer Community – answer or ask questions, write an article, contribute applications on Open Exchange – and you'll be able to vote. Check this post on the options to make helpful contributions to the Developer Community.

If you change your mind, cancel the choice and give your vote to another application!

Support the application you like!


Note: contest participants are allowed to fix the bugs and make improvements to their applications during the voting week, so don't miss and subscribe to application releases!

9 Comments
Discussão (9)2
Entre ou crie uma conta para continuar