Hi 开发者们,

我们非常高兴地邀请大家参加新的 InterSystems 在线编程竞赛,此次编程大赛关注生成式AI(GenAI), 向量搜索(Vector Search )与机器学习(Machine Learning)!

🏆 InterSystems 编程大赛:Vector Search, GenAI 与 ML 🏆

时间:2024年4月22日 - 5月19日 (美国东部时间)

奖金池: $14,000

0 0
0 175

Hi社区成员们!

你可能已经知道了,, 我们的 Developer Community AI(开发者社区AI) 已经运行一个多月了 🎉 我们希望你能够出于好奇来尝试一下 😁 如果你还没试过,那就试试吧!无论如何,由于它仍在测试阶段,我们非常有兴趣了解你对它的看法,也很期待听到你的想法和经验。

我们重视你为此付出的时间和精力,所以将随机赠送一个可爱的奖品给愿意分享自己想法的社区成员。要参加此抽奖活动,你需要遵循以下准则:

1 0
0 83
文章
· 七月 9, 2024 阅读大约需 1 分钟
FHIR之数字健康小程序系列--Abstractive Health

Abstractive Health是一款医生人工智能助手,可帮助医生创建最佳病历。我们直接与国家 HIE 和 EHR 集成。我们的医疗摘要可用于门诊、住院和急诊护理,实现临床笔记的自动化,如 SOAP 笔记、进展笔记、护理过渡、ED Provider 笔记和出院摘要。我们使用生成式人工智能和 LLM 来压缩数百页的医疗笔记,从而节省您的时间,让您可以专注于病人护理。

公司介绍:https://www.abstractivehealth.com

软件试用

目标使用者--临床医生

类别--护理协调, 数据可视化, 人口健康

0 0
0 66
文章
· 八月 1, 2024 阅读大约需 4 分钟
d[IA]gnosis:借助 IRIS for Health 开发 RAG 应用程序

随着 IRIS 中向量数据类型和向量搜索功能的引入,应用程序的开发正在开启一个充满各种可能性的全新世界,其中一个应用程序示例是我最近在巴伦西亚卫生局的一次公开竞赛中看到的应用程序,他们要求提供一种工具,能够使用 AI 模型协助进行 ICD-10 编码。

我们如何实现与所要求的应用程序类似的应用程序? 我们来看看需要什么:

  1. ICD-10 代码列表,我们将使用它作为 RAG 应用程序的上下文,在纯文本中搜索诊断结果。
  2. 经过训练的模型,它会将文本向量化,我们将在其中查找 ICD-10 代码中的对应项。
  3. Python 库,用于对 ICD-10 代码和文本进行摄取和向量化。
  4. 一个支持文本的友好前端,我们会在其中查找可能的诊断结果。
  5. 从前端接收的请求的编排。

IRIS 为我们提供哪些功能来满足上述需求?

0 0
0 36

社区朋友们好,

传统的基于关键词的搜索方式在处理具有细微差别的领域特定查询时往往力不从心。而向量搜索则通过语义理解能力,使AI智能体能够根据上下文(而非仅凭关键词)来检索信息并生成响应。

本文将通过逐步指导,带您创建一个具备代理能力的AI RAG(检索增强生成)应用程序。

实现步骤:

  1. 添加文档摄取功能
    • 自动获取并建立文档索引(例如《InterSystems IRIS 2025.1版本说明》)
    • 实现向量搜索功能
  2. 构建向量搜索智能体
  3. 移交至主智能体(分流处理)
  4. 运行智能体

1. Create Agent Tools 添加文档摄取功能

Implement Document Ingestion: Automated ingestion and indexing of documents


1.1 - 以下是实现文档摄取工具的代码:

    def ingestDoc(self):
        #Check if document is defined, by selecting from table
        #If not defined then INGEST document, Otherwise back
        embeddings = OpenAIEmbeddings()	
        #Load the document based on the fle type
        loader = TextLoader("/irisdev/app/docs/IRIS2025-1-Release-Notes.txt", encoding='utf-8')      
        
        documents = loader.load()        
        text_splitter = RecursiveCharacterTextSplitter(chunk_size=400, chunk_overlap=0)
        
        texts = text_splitter.split_documents(documents)
                       
        #COLLECTION_NAME = "rag_document"
        db = IRISVector.from_documents(
            embedding=embeddings,
            documents=texts,
            collection_name = self.COLLECTION_NAME,
            connection_string=self.CONNECTION_STRING,
        )

        db = IRISVector.from_documents(embedding=embeddings,documents=texts, collection_name = self.COLLECTION_NAME, connection_string=self.CONNECTION_STRING,)

向量搜索智能体(Vector Search Agent)能够自动完成文档的摄取(ingest)索引构建(index), 该新功能在InterSystems IRIS 2025.1的数据资源文件夹里) 至 IRIS 向量存储, 只有当数据尚未存在时,才执行该操作。



运行以下查询以从向量存储中获取所需数据:

SELECT
id, embedding, document, metadata
FROM SQLUser.AgenticAIRAG



1.2 - 实现向量搜索功能


以下代码为智能体提供了搜索能力:

 def ragSearch(self,prompt):
        #Check if collections are defined or ingested done.
        # if not then call ingest method
        embeddings = OpenAIEmbeddings()	
        db2 = IRISVector (
            embedding_function=embeddings,    
            collection_name=self.COLLECTION_NAME,
            connection_string=self.CONNECTION_STRING,
        )
        docs_with_score = db2.similarity_search_with_score(prompt)
        relevant_docs = ["".join(str(doc.page_content)) + " " for doc, _ in docs_with_score]
        
        #Generate Template
        template = f"""
        Prompt: {prompt}
        Relevant Docuemnts: {relevant_docs}
        """
        return template


分流代理处理传入的用户查询,并将其委托给矢量搜索代理,后者执行语义搜索操作,以检索最相关的信息。

0 0
0 13