#InterSystems IRIS

0 关注者 · 1K 帖子

InterSystems IRIS 是一个完整的数据平台
InterSystems IRIS 为您提供了捕获、共享、理解组织最宝贵的资产(数据)并采取相应行动所需的一切。
作为一个完整的平台,InterSystems IRIS 不需要集成多种开发技术。应用程序需要更少的代码、更少的系统资源和更少的维护。

新增
文章 Kelly Huang · 八月 13 7m read

如果你在开发者社区待过一段时间,就会发现许多问题以不同形式反复出现:如何将持久化对象转换为 JSON?如何遍历一个结构未知的 JSON 有效载荷? 为什么 Required 对我的 %DynamicArray 属性 没有任何作用 ?为什么我的日期会被返回为 31390 

注意到这一点后,我们决定撰写一篇文章,总结所有那些仅凭文档无法解答的问题:实践。

让我们从基础开始

InterSystems IRIS 为无模式数据提供了两个类:%DynamicObject%DynamicArray。它们都继承自 %DynamicAbstractObject,两者的实例均被称为动态实体。 它们与 JSON 映射得非常自然:对象是一组键值对,数组是有序列表。与持久化类或注册类不同,动态对象不保留预定义的有效属性名列表——任何字符串键都是合法的,并且可以在运行时添加或移除成员。

最令人愉悦的部分是字面量语法,对于来自 JavaScript 背景的开发者来说,这看起来会很熟悉:

你也可以逐个字段构建它们。 会返回其修改后的实体,因此可以进行调用链:

Set obj = {}.%Set("a",1).%Set("b",2) // now obj is {"a":1,"b":2}

Do scores.%Push(100)          		 // now scores is [90, 85, 77, 100]

Set last = scores.%Pop()      		 // now scores is [90, 85, 77] and last is 100
0
0 6
新增
文章 Jeff Liu · 八月 11 10m read

借助 PollingBusinessService 提升开发者体验

4.0.0 版本中最引人注目的新增功能之一是 PollingBusinessService

在此版本之前,创建定时 Python 业务服务意味着需要 直接处理低级入站适配器模式。在 4.0.0 版本中,定时 Python 入口点可以直接编写为 PollingBusinessService, 框架会在后台自动使用默认的 IRIS 入站适配器。

以下是一个完整的小型示例:

from dataclasses import dataclass

from iop import BusinessOperation, Message, PollingBusinessService, Production, target


@dataclass
class HelloRequest(Message):
    text: str = "Hello World"


class HelloService(PollingBusinessService):
    Output = target()

    def on_poll(self):
        self.send_request_async(self.Output, HelloRequest())


class HelloOperation(BusinessOperation):
    def on_message(self, request: HelloRequest):
        self.log_info(request.text)
        return request


prod = Production("HelloWorld.Production", testing_enabled=True)
service = prod.service("HelloService", HelloService)
operation = prod.operation("HelloOperation", HelloOperation)
service.connect(HelloService.Output, operation)

PRODUCTIONS = [prod]
0
0 10
新增
InterSystems 官方 Claire Zheng · 八月 10

IPM 0.10.9 版本已于 2026 年 8 月 5 日发布。您可以在GitHub 页面或通过社区注册表查看该版本。

完整更新日志:

新增

  • #1178:在 repo 命令中添加 -password-env-token-env 修饰符,用于从指定环境变量中读取密码/令牌(作为 和 的安全替代方案)。

修改

  • #1186:修改 %IPM.Main:ShellScript() 使其返回状态。

已修复

  • #1207:IPM 模块现支持零字节文件
  • #1209:修复了在已(部分)安装旧版 IPM 的某些环境中,IPM 安装程序失败的问题
  • #1212:修复了预发布字符串中包含连字符时模块版本解析不正确的问题
0
0 9
新增
InterSystems 官方 Claire Zheng · 八月 10

全新的生成式AI扩展功能,简化了团队探索、分析和可视化企业数据的方式。


2026 年 8 月 10 日,中国 北京 —— 驱动全球众多关键应用的创新型数据技术提供商InterSystems近日宣布InterSystems Data Studio™ AI Assistant正式全面上市。这一全新的生成式AI驱动扩展组件,旨在帮助用户通过自然语言交互,更轻松地理解、浏览、查询及可视化数据。

随着企业从AI试验阶段迈向生产部署,许多人发现最大的挑战并非AI模型本身,而是如何让AI系统获取可信、实时且具备业务可用性的信息。 企业数据往往分散于应用程序、数据库、云服务、文件、数据仓库及部门孤岛之中,导致用户与AI系统难以生成可靠的洞察。

InterSystems数据平台高级副总裁Scott Gnau表示:“企业日益寻求在不增加复杂度的前提下,将数据转化为可执行的智能。InterSystems Data Studio AI Assistant将生成式AI直接引入可信数据基石,使用户能以更自然的方式与信息交互,同时满足企业对治理、安全及管控的要求。”

不同于那些需要企业自行拼装并维护多种工具的AI解决方案,InterSystems Data Studio AI Assistant深度嵌入更广泛的InterSystems Data Studio平台之中。

0
0 14
新增
文章 Lilian Huang · 八月 6 9m read

大家好,

数据转换语言(DTL)是那种乍看之下简单得令人误判的工具之一——拖动一个源字段,将其拖放到目标字段上,就大功告成了。然而,一旦开始处理实际的集成项目,你很快就会意识到,仅靠简单的字段映射是远远不够的。 当你需要验证字段长度、清理输入字符串、从 ID 中去除不需要的字符,或者生成下游系统要求的特定格式的时间戳时,真正的挑战才刚刚开始。

在本文中,我们将超越基础知识,探讨实际集成中经常出现的四个实用 DTL 场景。每个部分都围绕一个示例 HL7 消息展开,方便您在自己的环境中跟随操作,并亲眼查看结果。

本文将涵盖的内容:

  • 在管理门户中从零开始创建 DTL。
  • 基于字段长度($Length$Extract)的条件逻辑。
  • 使用 ReplaceStr 去除和替换文本。
  • 使用链式 从患者 ID 中去除特殊字符。
  • 将 HL7 时间戳重新格式化为自定义显示格式。

先决条件

  • 配备了支持互操作性命名空间的 InterSystems IRIS 或 HealthShare。
  • 可访问管理门户。
  • 对 HL7 v2 消息结构有基本了解。

注意:虽然所有示例均使用 HL7 v2 ADT 消息,但相同的 DTL 函数同样适用于 XML、JSON 或自定义消息类。


什么是 DTL?

0
0 25
新增
InterSystems 官方 Claire Zheng · 八月 3

我们很高兴地宣布,面向供应链协调器(SCO)的 AI 助手现已正式推出,它将带来全新的 AI 驱动体验,帮助企业用户与供应链数据进行交互、实现个性化体验,并做出更明智的决策。

该 AI 助手围绕三大核心功能设计:

通过自然语言访问供应链数据

业务用户可通过自然语言与 SCO 交互,访问运营、分析及情境化的供应链数据——无需掌握 SQL 等技术技能,也不需要了解 SCO 的底层数据模型。这使用户能够快速找到所需信息,专注于决策制定,而非在复杂的系统中摸索。

基于记忆的个性化AI

AI 助手内置记忆服务,可根据用户偏好和组织背景实现交互个性化。它能记住行业特定术语、常用缩写、默认设置(如工作地点)以及其他用户或组织特有的偏好,从而随着时间的推移提供更自然、更一致且更高效的体验。

基于 AI 的决策支持

AI 助手通过将实时业务数据与客户特定的业务规则、运营逻辑和决策标准相结合,帮助用户做出更明智的决策。建议会附带支持性数据和基础业务依据,使用户在决策过程中拥有更大的信心和透明度。

AI 助手旨在让业务用户更便捷地获取供应链信息和决策支持,同时减少对专业技术知识的需求。这是朝着提供 AI 驱动的决策智能迈出的又一步,有助于在 SCO 内实现更智能、更具情境感知能力的供应链运营。

随着我们持续扩展 Supply Chain Orchestrator 的人工智能功能,我们期待收到您的反馈。

0
0 21
文章 Lilian Huang · 七月 27 2m read

动机

为什么我们需要这个?

  1. 缺乏编译后上下文:AI 工具只能看到源代码;它们不知道最终编译后的例程是什么样子的。

  2. 宏幻觉:由于 AI 无法看到我们的 #include 文件或系统宏,它常常会凭空编造这些内容,从而在调试过程中浪费时间。

  3. 文档缺口:深度逻辑优化通常需要理解内部宏,而公开文档中并未对此进行全面说明。

  4. 手动开销:目前,解决此问题的唯一方法是手动使用 IRIS VS Code 扩展来查找例程中的“真实情况”。

解决方案:这款 MCP 服务器为我们的 AI 提供了窥探 IRIS 实例内部的“眼睛”,使其能在向您建议代码之前自动读取例程并展开宏。

快速入门

请使用 ObjectScript 项目apiPub 试用此 MCP 服务器。

获取 api.cls 的例程:
alt text

ctrl+shift+v 查看编译后的例程。在编译器术语中,这被称为可读中间代码。大型语言模型(LLMs)缺乏这种上下文——这就是为什么即使是前沿模型也会“发明”宏,因为它们不知道展开后的代码是什么样子的。

它们也不知道哪些 .inc 文件被导入了,也不知道其中 $$$xxx 宏展开后会变成什么样。

例如,一个 .inc 文件可能会显式包含系统宏:

如果您已连接到 IRIS 实例,则可以直接导航到这些宏文件:

如果不显式包含这些系统宏,就无法访问这些文件——而 LLM 对此完全无法察觉。

在 文件夹下,向 mcp.json

0
0 23
文章 Lilian Huang · 七月 23 5m read

InterSystems 编程竞赛: https://openexchange.intersystems.com/contest/46上的 FHIR 人工智能代理 。 

代码: https://github.com/eungi-hong/central-park

演示: https://triagepark.78-47-167-98.sslip.io/ 


就诊的前十分钟总是千篇一律:采集病史、调取病历、核对用药情况、判断病情紧急程度。Triage Park通过一支完全在 InterSystems IRIS for Health 内部运行的 AI 代理团队来完成这一初步筛查,并向临床医生提供一份附有依据且可解释的交接报告。 大多数“AI分诊”演示所忽略的部分,恰恰是我们最重视的:安全性。这里的所有安全机制都是确定性的且单向的。系统只能提高病例的紧急程度,绝不会降低,因此患者的安全绝不会取决于模型是否判断正确。

代理、检查与技能

该平台经过刻意划分:需要大量判断的工作以代理的形式运行(即使用工具的循环,负责决策和执行),安全关键型工作以确定性检查的形式运行(基于规则,而非大型语言模型),其余部分则专注于大型语言模型技能

0
0 16
公告 Claire Zheng · 七月 23

InterSystems IRIS® 数据平台、InterSystems IRIS®for Health 以及InterSystems Health Connect™2026.2版本现已正式发布(GA)。这是一个持续交付(CD)版本。

版本亮点:

  • SQL 和数据管理增强功能:InterSystemsSQL 现已在存储过程中支持通用表表达式(CTE)。此版本还改进了表分区功能,包括优化了 ALTER TABLE ... MOVE PARTITION 的行为,并修复了包含大写字母字段的分区键问题。
  • 商业智能增强:InterSystems IRIS BI 现可在定义分析模型时利用 SQL外键关系,从而更轻松地对通过关系型结构表达的运营数据进行建模。
  • 数据库操作改进:cvendian实用程序(用于在 big-endian 和 little-endian 平台之间迁移数据库)已得到优化,转换速度更快——某些情况下速度最高可达原来的两倍——并且在转换中断时,错误报告功能也得到了改进。
  • 互操作性用户体验改进:全新的互操作性用户界面持续完善,在生产配置、消息查看器和消息搜索、可视化跟踪、DTL 和 BPL 编辑器、模式查看器以及规则编辑器等方面均进行了优化。 这些功能对现有客户仍为可选功能,我们鼓励您尝试新体验,并将反馈发送至:InteropUXFeedback@intersystems.com
0
0 27
文章 Jeff Liu · 七月 22 4m read

这一切始于我乘火车去看望父母的途中,当时我正和隔壁包厢的一位邻居聊天。像往常一样,话题转到了科技上,她抛出了一个非常具体的问题:“ChatGPT 能用来分析人类基因组吗?”我对它能否完成如此复杂的事情持高度怀疑态度。 但这个问题始终萦绕不去,深深扎根于我的脑海。等我踏进家门时,我的怀疑已经转变为一种挑战。 虽然手头没有基因组测序数据集,但我确实想看看标准的ChatGPT能否利用PyProd包从零开始构建一个可运行的互操作性生产环境。况且,这还能让我有机会参与“从构想到应用”社区赏金计划的第一轮,实现第三个创意

0
0 33
文章 Kelly Huang · 七月 19 2m read

要成功构建和部署人工智能代理以应对医疗保健领域的各种用例,关键在于高质量的数据和API,以及有效的治理与管理。 InterSystems IRIS FHIR 服务器不仅能满足上述所有需求,还精通 Python、向量搜索和互操作性。结合强大的大型语言模型(LLM),患者、医生、护理人员和管理者将能够利用最先进的技术来改善个人健康和公共卫生。

本文利用 InterSystems IRIS FHIR 存储库、FHIR API、嵌入式 Python 以及向量搜索作为数据服务和 API,从而使部署在 Ollama 上的 LLM lhama3 能够处理以下用例:临床摘要、 通过API使用自然语言探索FHIR数据、AI生成的患者临床指标图形分析,以及利用向量搜索进行病例相似性比较等用例。

安装

1. 访问 Open Exchange 并查找应用程序 fhir assistant(https://openexchange.intersystems.com/package/fhir-assistant

2. 将代码库克隆/通过 Git 拉取到任意本地目录:

$ git clone https://github.com/yurimarx/fhir-assistant.git

3.

0
0 18
文章 Claire Zheng · 七月 16 3m read

InterSystems IRIS 社区版 HAOS 插件

在 Home Assistant 中以插件形式运行 InterSystems IRIS。在你可能以“这只是噱头”为由忽略本文之前,我希望你能退一步,看看使用这个平台启动基于 IRIS 的应用程序是多么简单。  如果你浏览 Open Exchange,会发现成百上千款值得运行的应用程序,但它们基本上被晾在一边,沦为“Gitware”(仅存于代码库中),若想运行它们,你还得在笔记本电脑上与 containerd 或 Docker 展开一番较量。  如今,只需一个简单的 Git 仓库和一份规范,你就能在 IRIS 上构建应用,并通过应用市场将其发布,而终端用户几乎无需费心。  将其与 Ollama 以及 LLM/LAM 实现并行运行,将 IRIS 中的任何内容作为传感器公开,或在你的 IRIS 应用中暴露交互端点,以便与连接到 HAOS 的任何设备进行交互。 想通过轻按物理开关或借助辅助 AI 重启 IRIS 生产环境吗?你可以使用这个插件,或者开发自己的插件,与家庭自动化极客们并肩协作。

0
0 37
文章 Nicky Zhu · 七月 15 4m read

项目链接

概述

FHIR 患者快照代理(FHIR Patient Snapshot Agent)是一款专为 InterSystems AI 代理和 FHIR 编程竞赛开发的小型开源应用程序。

该项目实现了建议的“智能患者摘要生成器”构想:它检索所选患者的结构化 FHIR 资源,并生成一份简明扼要、针对特定角色的患者摘要。

其目的并非进行诊断或推荐治疗方案。该代理仅作为摘要生成助手,所有生成的内容都必须与源FHIR数据进行核对验证。

InterSystems IRIS for Health 的应用方式

该应用程序使用 InterSystems IRIS for Health 作为 FHIR 互操作性层。

在本地部署环境中,IRIS for Health 提供了一个 FHIR R4 API。Python 应用程序通过查询该 API 来获取与患者相关的资源,包括:

  • 患者
  • 病情
  • 用药请求
  • 过敏与不耐受
  • 观察
  • 就诊
  • 护理计划

该 Python 应用程序不会直接读取本地临床文件。

0
0 31
文章 Nicky Zhu · 七月 15 5m read

在我的第一篇文章中,我介绍了 FHIR 患者快照代理的基础版本:这是一个基于 Streamlit 和 Python 的应用程序,它从 InterSystems IRIS for Health 中检索 FHIR 资源,并利用大型语言模型(LLM)生成简明扼要的患者摘要。

本文作为后续文章,将介绍我是如何通过添加两项针对 InterSystems 的功能来扩展该项目的:

  • 源上下文向量搜索
  • 用于 IRIS 兼容审查的嵌入式 Python 组件

目标是让该项目作为临床摘要原型更具实用性,同时保持设计足够精简,以便于理解和复现。

项目回顾

FHIR 患者快照代理(FHIR Patient Snapshot Agent)是一款基于人工智能的 FHIR 患者数据摘要工具。

该应用程序可检索所选患者的结构化资源:

  • 患者
  • 病情
  • 用药请求
  • 过敏与不耐受
  • 观察
  • 就诊
  • 护理计划

Python 层将这些资源整合为一个紧凑的患者背景。用户随后可以生成以下任一内容:

  • 确定性摘要,或
  • 由大型语言模型(LLM)生成的针对特定角色的摘要

该 LLM 集成通过兼容 OpenAI 的聊天补全 API 使用 Nebius Token Factory。演示中使用的模型为:

meta-llama/Llama-3.3-70B-Instruct

该项目为开源项目:

0
0 24
文章 Kelly Huang · 七月 13 1m read

大家好, 

我创建了一个简短的演示和参考代码库,展示了如何将 Auth0 配置为 InterSystems IRIS FHIR 服务器的 OAuth 提供商,以及如何从 Python Flask 应用程序调用受保护的 FHIR 资源。 

以下链接包含一段视频演示以及一个 GitHub 仓库,其中包含视频中使用的示例应用程序 

链接 

视频演示: 

GitHub 仓库https://github.com/MarshyKid/iris-fhir-oauth-demo

0
0 31
文章 Kelly Huang · 七月 12 20m read

在问诊前,人工智能助手会先阅读FHIR患者病历,根据已掌握的信息提出恰当的问题,识别关键的警示信号,并将分析结果反馈给医生——这样医生就能做好充分准备。

该项目灵感源自InterSystems编程大赛“FHIR人工智能代理”中建议的第10项任务(对话式FHIR分诊助手)


解决的医疗痛点

在患者走进诊室之前,一个关键的疏漏已经发生:没有人阅读过他们的病史。医生只有15分钟的时间。患者不得不第三次向医生重复自己的病情、用药情况和过敏史——这已经是今年第三次了。 诸如华法林治疗期间的出血、心力衰竭伴随的胸痛、抑郁症伴随的自杀意念等“危险信号”,要么直到为时已晚才被询问,要么根本未被提及。

这并非技术上的缺口。 数据是存在的。它们存储在分布于不同系统中的数据仓库中,其中包含患者的纵向病历,涵盖病情、用药情况、实验室检查结果、过敏史及就诊史。真正的缺口在于诊疗现场的智能辅助——一个能在就诊前阅读病历、根据已知信息提出恰当问题,并将分析结果反馈给医生,使医生做好充分准备的智能助手。

在技术示例应用TriageAide中,我们以具体场景为切入点,探索如何将 InterSystems IRIS FHIR 服务器、模型上下文协议(MCP)和生成式人工智能(Generative AI)结合使用。该应用是一款人工智能助手,旨在优化患者接诊流程和临床交接工作。

0
0 35
文章 Lilian Huang · 七月 10 8m read

大多数“AI 代理 + FHIR”项目最终都呈现出相同的架构:这边是一个 FHIR 服务器,那边是一个向量数据库,中间则是一个 Python 服务,其职责是调用嵌入 API、在两端之间转换浮点数数组,并保持两个数据存储库的同步。 三个活动组件、两次网络跳转,以及一个你从此永久拥有的嵌入式客户端。

Triage Park:我们 提交给InterSystems 编程大赛:FHIR AI Agent的参赛作品完全没有这些复杂结构。该代理从不计算嵌入向量,也从未导入过 OpenAI 嵌入向量客户端。 没有向量数据库。它将原始文本发送给 IRIS,剩下的工作由 IRIS 完成:它在服务器端计算嵌入向量,并通过针对与 FHIR 存储库位于同一数据库*中的表执行单条 VECTOR_COSINE SQL 语句来响应检索请求。

这就是 IRIS for Health 的“AI Hub”模式,一旦我采用该模式,我自己的代码中整整一层就消失了。以下是它的具体工作原理。

问题在于:分诊人员需要快速获得指导方针

Triage Park 是一款对话式分诊助手。患者描述症状(“我上楼梯时胸口发紧”),由大型语言模型(LLM)支持的助手会读取患者的真实 FHIR 病历,并生成分诊决策:自我护理 / 看全科医生 / 急诊护理 / 急诊科,同时附上依据说明。

“引用依据”(Cited rationale)是关键所在。

0
0 31
文章 Kelly Huang · 七月 9 5m read

在开始开发“智能出院导航器(Smart Discharge Navigator)”时,我遇到了一个常见的难题:FHIR 数据以 JSON 数据包的形式存储,但我所需的分析需要将多个资源进行关联,而这正是 SQL 所擅长的领域。

InterSystems FHIR SQL Builder 彻底解决了这一问题。我无需在应用程序代码中解析 JSON 数据包,而是能够直接在 IRIS for Health 中针对 FHIR 资源投影编写纯 SQL 语句。本文将详细介绍我如何利用该工具构建了该应用程序核心——基于人群的再入院风险评分引擎。


临床问题

30 天内的医院再入院是医疗保健领域成本最高且本可预防的问题之一,每年给美国医疗系统造成 170 亿美元的损失。挑战并不在于事后识别风险因素,而在于在恰当的时机——即患者出院前——及时发现这些风险因素。

为了评估再入院风险,我需要针对每位患者同时回答以下五个问题:

  • 该患者近期住院过几次?
  • 该患者是否患有多种活动性慢性病?
  • 该患者目前是否正在服用五种或更多种药物(多药联用)?
  • 病历中是否有任何异常实验室检查结果?
  • 是否有缺席随访的情况?

如果通过 Python 解析 FHIR 数据包来回答这五个问题,不仅速度慢,而且容易出错。而 FHIR SQL Builder 则让这一切变得简单明了。


0
0 74
文章 Claire Zheng · 七月 8 12m read

摘要

常见表表达式(CTE)为在SQL语句中定义可重用的中间结果集提供了一个结构化的框架。InterSystems IRIS通过WITH子句实现CTE,在与IRIS基于成本的优化器完全集成的情况下,能实现更清晰的查询构建,又能支持模块化的分析处理

本文探讨了 InterSystems IRIS 中 CTE 的语义,解释了其与查询优化的交互关系,讨论了合适的部署场景,并提供了可执行的示例,以说明生产环境中的实用模式。


  1. 引言

复杂的 SQL 工作负载通常需要多个逻辑处理阶段(例如过滤、聚合、数据增强和投影)。如果没有抽象机制,这些操作往往会导致查询结构深度嵌套,难以理解和维护。

常见表表达式(CTE)通过允许开发人员定义可在单个 SQL 语句中求值的命名查询组件,解决了这一问题。

在 InterSystems IRIS 中,CTE 通过 SQL 的 WITH 子句实现,并作为逻辑查询表达式运行,与周围的语句一同进行优化 [1]。


  1. InterSystems IRIS 中的常见表表达式

2.1 定义

公共表表达式(Common Table Expression)是在 SELECT 语句之前声明的命名子查询:

WITH PersonSubset AS (
  SELECT ID, Name, Age
  FROM Sample.Person
)
SELECT Name
FROM PersonSubset
0
0 42
文章 Claire Zheng · 七月 6 15m read

太长不读版(TL;DR:):本文演示了如何利用iris-vector-graph包,完全在 InterSystems IRIS 环境中实现 GraphRAG 风格的混合检索——该方法结合了向量相似度、图遍历和全文搜索。 我们通过一个欺诈检测场景,展示了图模式如何揭示仅靠向量搜索无法发现的问题。


为何欺诈检测需要图技术

每年,企业和消费者因欺诈损失数十亿美元。仅在2024年,消费者报告的损失就达125亿美元——同比增幅达25%。 现代欺诈之所以难以被发现,是因为欺诈者很少单独行动。他们通过有组织的网络运作,实施协调一致的骗局,利用我们无法察觉看似无关的交易之间存在关联这一弱点。

举个简单的例子:从账户 A 转账至账户 B 的单笔交易看起来完全正常。金额合理,时间点符合常规,且两个账户均未被标记为可疑。传统的基于规则的系统,甚至那些孤立分析交易的机器学习模型,都会毫不犹豫地批准这笔交易。

但如果我们能看到全局呢?

image

同一笔交易其实是环形模式的一部分——资金在循环流动,每一步都会被截留一小部分。这是一种典型的洗钱结构,对于任何不分析交易关联性的系统来说,都是隐形的。

这一洞见——即欺诈隐藏在关联关系中,而非单个记录中——正是图数据库成为欺诈检测不可或缺工具的原因。

0
0 50
文章 Claire Zheng · 六月 29 1m read

v2026.1 刚刚正式发布,其中我最期待使用的一项功能就是DTL 说明功能。

该功能允许您选择一个数据转换,只需点击一下按钮,即可获得该转换的人类可读描述(您还可以将其作为 DTL 描述的基础)。

对于复杂的 DTL,尤其是那些并非由您亲自编写,或者虽然由您编写但已时隔许久的 DTL,该功能将帮助您快速清晰地了解其工作原理。

对于尚未使用过“安全钱包”(Security Wallet)功能 的用户(有关此功能的更多信息,请参阅这些文档这段 4 分钟视频以及这段 36 分钟视频),请注意:您需要使用该功能来配置DTL 解释器的OpenAI 许可证 API 密钥

有关此功能的更多详细信息,请参阅此处的文档

另请参阅@Aya Heshmat的帖子,其中包含一段视频(链接直接跳转至展示 DTL Explainer 的时间点),介绍了新互操作性 UI 中的所有最新功能。

此外,还可观看@Julie Ma 提供的这段更详细的视频演示与讲解。

这是将生成式人工智能(GenAI)功能整合到 InterSystems 产品中的一个示例。

0
0 36
InterSystems 官方 Claire Zheng · 六月 22

InterSystems Reports 25.3 版本现已在 InterSystems 软件分发网站的“组件(Components )”部分发布。该软件名为 InterSystems Reports Designer 和 InterSystems Reports Server,支持 Mac OS X、Windows 和 Linux 操作系统。  

别被这个小版本号所迷惑——此版本包含大量新功能。其中包括焕然一新的用户界面——“浅色模式”下线条更简洁、配色更清新,并且您可以在“用户配置文件”中切换回“经典模式”。 此外,我们的合作伙伴 insightsoftware 还提供了额外的修复和增强功能。InterSystems Reports 25.3 基于 Logi Report 25.3 Service Pack 5 构建。如需了解更多信息,请参阅 insightsoftware 提供的发布说明

此外,InterSystems 还新增了对Page Report StudioWeb Report Studio 的访问权限,这使客户能够通过报告服务器进行更丰富的报表编辑,从而在许多报表设计任务中减少了对安装 Report Designer 的需求。请点击链接了解更多详情。

0
0 34
文章 Lilian Huang · 六月 21 4m read
0
0 102
文章 Lilian Huang · 六月 18 8m read

欢迎回到关于 AI Hub 的系列入门文章,这是目前处于早期访问计划(EAP)阶段的新产品功能!(链接:EAP 网站下载、文档

在上一篇文章中,我们介绍了如何使用新的 %AI 类直接在 ObjectScript 中创建代理和代理工具。 不过,有时您可能并不需要创建新的代理,而只是希望向现有代理添加一些自定义工具,以便让本地 claude、codex、copilot 或其他您选择的代理直接查询您的数据。这时,MCP 服务器就派上用场了。

在本指南中,我们将逐步演示如何创建自己的 MCP 服务器来访问您的数据。

免责声明:AI Hub 目前处于早期访问预览阶段,其功能在正式发布前可能会发生变更;如发现任何问题,可通过上述链接的文档 GitHub 仓库提交问题报告。EAP 预览版不适用于生产环境。

MCP 的简要介绍

我将简要介绍,因为关于 MCP 服务器(模型上下文协议)已有大量其他优质文章(建议从@Pietro Di Leo 的这篇文章或InterSystems 总裁 Don Woodlock 的这段精彩入门视频开始阅读)。

模型上下文协议(Model Context Protocol)是一种传输协议,允许将外部工具添加到代理中 存在一个发现“握手”过程:MCP 服务器会向 MCP 客户端发送工具列表。

0
0 61
文章 Lilian Huang · 六月 18 4m read

对于上周没有参加 READY 大会的朋友们来说,你们可能错过了这一激动人心的消息:AI Hub 的抢先体验计划现已正式启动。这一消息是在@Benjamin De Boe@Jeff Fried 带来的一场精彩演示中公布的,我建议大家在录像发布后务必观看这段演示!  我有幸提前体验了 AI Hub,想借此机会向社区大家介绍一下。

在深入探讨细节之前,先提供文档链接EAP 门户链接,您可通过这些链接下载 AI Hub,目前提供独立安装包或容器镜像两种形式。 

请注意,这只是预览版,在正式发布前可能会有重大变更,该版本不适用于生产环境,您可能会遇到一些问题——如果遇到问题,请在 GitHub 页面上提交问题!

代理

对我来说,最令人兴奋的功能莫过于全新的 ObjectScript 代理 SDK。现在,您可以使用直观的 SDK,直接在 ObjectScript 中创建代理和工具。

创建代理非常简单:您可以通过 XData INSTRUCTIONS 组件为其指定系统提示,然后只需设置提供程序、模型和工具即可:

Class Sample.Agent Extends %AI.Agent
{
    /// LLM Model
    Parameter MODEL = "gpt-5-nano";

    /// Toolsets that the agent can use
    Parameter TOOLSETS = "Sample.ToolSet";
    
    /// System Prompt
    XData INSTRUCTIONS [ MimeType = text/markdown ]
    {
    # Sample Assistant

    You are a helpful assistant with access to a set of tools to interact with a database of people.
    }

    Method %OnInit() As %Status
    {
        // Set provider with API key from environment variable
        Set key = $System.Util.GetEnviron("OPENAI_API_KEY")  // or whatever
        Set ..Provider = ##class(%AI.Provider).Create("openai", {"api_key": (key)})
        
        Return $$$OK
    }
}
0
0 211
问题 Gabriela Paliuco · 六月 17

我正在 QA 环境(InterSystems Caché/IRIS)中运行系统的安装/配置,在创建访问权限配置文件(perfis de acesso)的过程中遇到以下错误:

ERROR #883: Role AcessoTabelas does not exist.

安装过程在此处中断,无法完成权限配置文件的创建。

目前的排查情况:

经过排查,发现该错误的原因是:系统在创建其他角色(roles)时,尝试将一个名为 AcessoTabelas 的角色作为基础角色引用,但该角色在当前环境中并不存在。看起来这个角色应该是预先就存在的,但在 QA 环境中没有被迁移或创建。

想请教社区的问题:

  • 这个 AcessoTabelas 角色是否应该在安装的某个前置步骤中自动创建?
  • 有没有人遇到过同样的错误?在新环境中安装系统前,是否需要手动创建这个角色?

非常感谢任何帮助!

需要我调整语气(更正式或更简洁)吗?

0
0 44