文章
· 二月 3 阅读大约需 2 分钟
第十四章 I - J 开头的术语

第十四章 I - J 开头的术语

InterSystems IRIS 存储 (InterSystems IRIS storage)

对象(Objects)

持久对象的默认存储类型。如果你使用 IRIS 存储,则无需指定任何存储数据的细节,并且你的类会自动投射到 SQL

InterSystems SQL

SQL

SQLIRIS 的高级关系接口。SQL 完全集成了IRIS 的对象功能,共享其类字典用于表定义,并使用作为类定义的高级数据类型。

InterSystems SQL 服务器 (InterSystems SQL server)

SQL

0 0
0 54
文章
· 一月 7 阅读大约需 3 分钟
第六十八章 打印机 - 在 UNIX® 上指定打印机

第六十八章 打印机 - 在 UNIX® 上指定打印机

要在 UNIX 设备名称为 /dev/tty06 的终端上打开 I/O 设备,请输入以下命令

   OPEN "/dev/tty06"

UNIX 系统上,打印机由 OPEN 命令上的名称标识,并在 tty 设备上作为“字符特殊”文件处理。因此,支持的 OPENUSE 命令参数与终端 I/O 相同, 而不是顺序文件 I/O 的参数。

UNIX 上,OPEN 支持大多数终端 I/O 关键字参数,如终端 I/O 中所述。

0 0
0 54
文章
· 十一月 22, 2024 阅读大约需 2 分钟
第二十九章 TCP 客户端 服务器通信 - 记录的拼接

第二十九章 TCP 客户端 服务器通信 - 记录的拼接

记录的拼接

在某些情况下,TCP会将不同的记录连接在一起形成单个记录。如果客户端或服务器进程向一个由WRITE分隔的TCP端口发出一系列WRITE命令,则可能会发生串接!或用于刷新缓冲区的WRITE#命令,而不管读命令是否在连接的另一端等待。

0 0
0 54

第十四章 WS-Policy 配置类详细信息 - 配置 XData 块的详细信息(一)

配置 XData 块的详细信息

本节介绍 Web 服务或客户端配置类的 XData 块的内容。

<configuration>, <service>, <method>, <request>, and <response>元素都必须位于以下命名空间中:

"http://www.intersystems.com/configuration"

在本主题中,前缀 cfg 指的是该命名空间。

<configuration>

<configuration> 元素是 XData 块中的根元素。此元素包括以下项目:

0 0
0 54
文章
· 八月 7, 2024 阅读大约需 3 分钟
监控数据库增长 - 第 3 部分_数据分析

数据分析

这是数据收集的续集。 如果你还没有安装,请先完成安装。

这里提供的是对先前收集的数据的分析。

你需要导入构成此仓库的 xml,与先前仓库中的操作大致相同。

最顶层有一个任务:

InvestigateInfoTask

这个任务将允许我们设置将要监控的参数, 如下所示:

image

0 0
0 54
文章
· 二月 17 阅读大约需 2 分钟
第二十七章 S 开头的术语

第二十七章 S 开头的术语

存储接口 (storage interface)

对象(Objects)

使用自定义存储或编写自己的存储类时必须实现的一组方法。

存储策略 (storage strategy)

对象(Objects)

类使用的存储策略在编译时评估为存储定义,决定数据的存储方式。

存储过程 (stored procedure)

SQL

存储过程允许你从 ODBCJDBC 执行查询或类方法。

流接口 (stream interface)

对象(Objects)

IRIS 流接口用于在 ObjectScriptSQLJava 中操作流。

流 (stream)

对象(Objects)

0 0
0 53
文章
· 十一月 19, 2024 阅读大约需 2 分钟
第二十六章 TCP 客户端 服务器通信 - $ZB 和 READ 命令

第二十六章 TCP 客户端 服务器通信 - $ZB 和 READ 命令

$ZBREAD 命令

$ZB 保存终止读取的字符。该字符可以是以下之一:
- 终止字符,例如回车
- 固定长度 READ x#y 的第 y 个字符
- READ *X 的单个字符
- 定时读取过期后的空字符串
- 转义序列
- 请注意,如果一个字符串以 CR LF 结尾,则只有 CR 会放在 $ZB 中。

TCP 设备的 WRITE 命令

在使用 OPENUSE 建立连接后,WRITE 命令将数据从客户端或服务器发送到 TCP 设备。

语法如下:

0 0
0 53
文章
· 十月 30, 2024 阅读大约需 2 分钟
第六章 主设备、当前设备、空设备

第六章 主设备、当前设备、空设备

明确使用主设备

USE 0USE $principal向进程的主体设备隐式发出OPEN命令。如果另一个进程拥有该设备,则该进程会挂在隐式OPEN上,就像它遇到任何OPEN时一样。

为该进程不拥有的任何其他设备(由于先前的OPEN命令)发出USE命令会产生错误。

仅当进程获取设备时,没有超时的OPEN命令才将控制权返回给进程。可以通过键盘中断命令(如Ctrl-C )中断打开命令。由于保护问题或无效设备名称而无法成功的OPEN将永远挂起。当在OPEN命令中指定超时时, OPEN将在超时到期时将控制权返回给进程。

使用主设备的选项

根据主要设备的性质,可以指定其他特定于设备的参数,这些参数对于管道(进程间通信) 、文件和终端 I/O是不同的。例如,可以使用 TLS 连接打开主设备:

1 0
0 53
文章
· 十月 16, 2024 阅读大约需 1 分钟
第四十九章 解决安全问题 - 可能出现的错误

第四十九章 解决安全问题 - 可能出现的错误

可能出现的错误

本节讨论 IRIS Web 服务和 Web 客户端中可能出现的与安全相关的错误:

  • 如果刚刚生成了 IRIS Web 服务或客户端,则可能尚未配置为识别 WS-Security 标头。在这种情况下,当您尝试执行 Web 方法时,会收到如下一般错误:
<ZSOAP>zInvokeClient+269^%SOAP.WebClient.1

将以下内容添加到Web服务或客户端并重新编译:

Parameter SECURITYIN="REQUIRE";

这种一般错误也可能是由于错误地调用 Web 方法(例如,在 Web 方法没有返回值时引用返回值)造成的。

如果使用 WS-Policy,则此项不适用。

1 0
0 53
文章
· 九月 18, 2024 阅读大约需 2 分钟
第二十八章 添加数字签名 - 指定摘要方法

第二十八章 添加数字签名 - 指定摘要方法

指定摘要方法

默认情况下,签名的摘要值是通过 SHA-1 算法计算的,安全标头中的 <Signature> 元素包含如下内容:

   <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
   <DigestValue>waSMFeYMruQn9XHx85HqunhMGIA=</DigestValue>

可以为签名指定不同的摘要方法。为此,调用 %XML.Security.Signature 实例的 SetDigestMethod() 方法。对于参数,请使用以下宏之一(包含在 %soap.inc 文件中):

  • $$$SOAPWSsha1 (the default)

-$$$SOAPWSsha256

0 0
0 53
文章
· 八月 7, 2024 阅读大约需 6 分钟
监控数据库增长 - 第 2 部分_图形界面

表的图形显示

在这里,我们将说明如何以图形方式显示数据收集的结果。 项目的输出将如下所示:

image

我使用的是本地计算机。 如果你在服务器上,注意使用正确的 IP 地址。

首先,导入需要的三个类(注意,我们将晚些时候编辑它们):

你可以使用 xml 并将其导入系统。

0 0
0 53
文章
· 八月 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 53

Hi 大家好

在本文中,我讲介绍我的应用 iris-AgenticAI .

代理式人工智能的兴起标志着人工智能与世界互动方式的变革性飞跃--从静态响应转变为动态、目标驱动的问题解决方式。参看 OpenAI’s Agentic SDK , OpenAI Agents SDK使您能够在一个轻量级、易用且抽象程度极低的软件包中构建代理人工智能应用程序。它是我们之前的代理实验 Swarm 的生产就绪升级版。

该应用展示了下一代自主人工智能系统,这些系统能够进行推理、协作,并以类似人类的适应能力执行复杂任务。

应用功能

  • Agent Loop 🔄 一个内置循环,可自主管理工具的执行,将结果发回 LLM,并迭代直至任务完成。
  • Python-First 🐍 利用本地 Python 语法(装饰器、生成器等)来协调和连锁代理,而无需外部 DSL。
  • Handoffs 🤝 通过在专业代理之间委派任务,无缝协调多代理工作流程。
  • Function Tools ⚒️ 用 @tool 修饰任何 Python 函数,可立即将其集成到代理的工具包中。
  • Vector Search (RAG) 🧠 原生集成向量存储(IRIS),用于 RAG 检索。
  • Tracing 🔍 内置跟踪功能,可实时可视化、调试和监控代理工作流(想想 LangSmith 的替代方案)。
  • MCP Servers 🌐 通过 stdio 和 HTTP 支持模型上下文协议(MCP),实现跨进程代理通信。
  • Chainlit UI 🖥️ 集成 Chainlit 框架,可使用最少的代码构建交互式聊天界面。
  • Stateful Memory 🧠 跨会话保存聊天历史、上下文和代理状态,以实现连续性和长期任务。

0 0
0 52
文章
· 二月 18 阅读大约需 2 分钟
第二十八章 T 开头的术语

第二十八章 T 开头的术语

以 T 开头的术语

表 (table)

InterSystems SQL

表是一种由表示特定实体的行和表示每个实体特定数据点的列组成的数据结构。

目标角色 (target role)

系统

在受保护的 IRIS 应用中,由应用程序授予给已经是其他角色(称为匹配角色)成员的用户的角色。如果用户拥有匹配角色,则在使用应用程序时,用户还可以被授予一个或多个额外的目标角色。

目标用户 (target user)

系统

0 0
0 52
文章
· 二月 9 阅读大约需 2 分钟
第十八章 O 开头的术语

第十七章 O 开头的术语

以 O 开头的术语

对象 (object)

对象(Objects)

对象是一个逻辑实体,封装了表示特定项目的所有数据以及操作这些数据的接口。

对象类 (object class)

对象(Objects)

对象类代表一个特定实体。它可以具有属性,并且可以被直接实例化。

对象代码 (object code)

系统

IRIS 编译器生成的最低级别代码。该代码实际上由解释器执行。

对象标识符 (object identifier)

对象(Objects)

对象标识符(OID)在整个数据库中唯一地标识磁盘上的一个对象。OID 在对象的生命周期内有效,如果对象被删除,OID 不能被重用。

对象模型 (object model)

对象(Objects)

0 0
0 52
文章
· 十二月 29, 2024 阅读大约需 2 分钟
第六十章 假脱机设备 - WRITE 命令

第六十章 假脱机设备 - WRITE 命令

WRITE 命令

要将一行写入 ^SPOOL 全局变量,请发出 WRITE 命令,以行终止符字符结尾。例如

   /* Writing to the ^SPOOL global */
   OPEN 2 
   USE 2 
     WRITE "First line of text",!
     WRITE "Second line of text",!
   CLOSE 2

   /* Displaying the ^SPOOL global */
   WRITE ^SPOOL(1,1),^SPOOL(1,2)

每行都以行终止符(感叹号)结尾,并存储在单独的全局节点中。

但是,在生成单个打印行时,可能需要使用多个 WRITE 命令;如果 WRITE 不包含行终止符,则下一个 WRITE 命令将附加到同一打印行。两者都写入同一个全局节点。此行保存在缓冲区中,在发出行终止字符或关闭后台处理程序设备之前,不会写入后台处理程序全局。

0 0
0 52
文章
· 十二月 15, 2024 阅读大约需 4 分钟
第五十一章 File 输入 输出 - 文件路径名工具

第五十一章 File 输入 输出 - 文件路径名工具

文件路径名工具

如果当前设备是顺序文件,则$ZIO包含该文件的完整路径名。

可以使用$ZSEARCH返回指定文件或目录的完整文件规范(路径名和文件名)。文件名可能包含通配符, $ZSEARCH使用通配符返回一系列满足通配符的完全限定路径名。

%Library.File 类包含许多提供文件系统服务的方法。这些包括:

0 0
0 52
文章
· 十二月 2, 2024 阅读大约需 4 分钟
第三十九章 终端输入 输出 - terminator

第三十九章 终端输入 输出 - terminator

terminator

第三个位置参数:最多八个字符的字符串,其中任何一个都将终止READ 。这些终止符是协议中内置终止符的补充。请参阅使用终止符结束 I/O 操作。

portstate

4 个位置参数:按位置顺序最多包含 8 个字节的字符串,用于控制 COM 端口状态。端口状态字节如下(字节从1开始按从左到右的顺序编号):

0 0
0 52
文章
· 九月 29, 2024 阅读大约需 3 分钟
第三十五章 结合加密和签名

第三十五章 结合加密和签名

可以在同一条消息中加密和签名。在大多数情况下,只需组合前面主题中给出的方法即可。本主题讨论了多种场景。

使用非对称密钥签名并加密

要签名然后加密(使用非对称密钥时),请执行以下操作:

  1. 按照添加数字签名中的步骤进行操作。
  2. 按照加密安全标头元素中的步骤进行操作。

或者按照加密 SOAP 主体中的步骤进行操作。

使用非对称密钥加密并签名

要仅加密 SOAP 主体,然后添加数字签名(使用非对称密钥时),请执行以下操作:

  1. 按照加密 SOAP 主体中的步骤进行操作。
  2. 按照添加数字签名中的步骤进行操作。

要加密任何安全标头元素,然后添加数字签名(使用非对称密钥时),必须使用顶级 <ReferenceList> 元素(在文档的其他地方不需要)。在这种情况下,请执行以下操作:

0 0
0 52
文章
· 八月 28, 2024 阅读大约需 2 分钟
第十章 创建和使用策略 - 在运行时添加证书

第十章 创建和使用策略 - 在运行时添加证书

在运行时添加证书

如果 Web 服务或客户端必须以编程方式选择并包含证书,请使用以下过程:

  1. 检索 %SYS.X509Credentials 的实例,如以编程方式检索凭据集中所述。

例如:

 set credset=##class(%SYS.X509Credentials).GetByAlias(alias,password)

0 0
0 52
文章
· 八月 22, 2024 阅读大约需 2 分钟
第六章 设置和其他常见活动 - 编辑 IRIS 凭证集

第六章 设置和其他常见活动 - 编辑 IRIS 凭证集

编辑 IRIS 凭证集

创建 IRIS 凭证集后,可以按如下方式编辑它:

  1. 在管理门户中,选择系统管理 > 安全 > X.509 凭证。
  2. 在凭证集表中,别名列的值用作标识符。对于要编辑的凭证集,请单击编辑。
  3. 根据需要进行编辑。有关这些字段的信息,请参阅上一节。
  4. 单击“保存”以保存更改。

无法更改凭证集的别名或证书;也无法添加、更改或删除关联的私钥。要进行此类更改,请创建新的凭证集。

通过编程方式检索凭证集

执行加密或签名时,必须指定要使用的证书。为此,可以选择 IRIS 凭证集。

当手动创建 WS-Security 标头时,必须以编程方式检索凭据集并使用它。

作为参考,本节讨论以下常见活动:

1 0
0 52
文章
· 二月 16 阅读大约需 2 分钟
第二十五章 S 开头的术语

第二十五章 S 开头的术语

以 S 开头的术语

模式演变 (schema evolution)

对象(Objects)

模式演变允许你在不丢失使用旧类定义存储的数据访问能力的情况下,为类添加新的类成员。

搜索用户 (search user)

系统

IRIS 连接到 LDAP 服务器的用户,其权限允许搜索 LDAP 数据库。其值在 LDAP 配置页面(系统管理 > 安全 > 系统安全 > LDAP 配置)的 LDAP 搜索用户 DN 或用于搜索的 LDAP 用户名字段中指定。(请注意,如果启用了 Kerberos,页面名称和菜单选项中会包含 Kerberos。)

次要卷 (secondary volume)

系统

0 0
0 51
文章
· 二月 11 阅读大约需 2 分钟
第二十一章 P 开头的术语

第二十一章 P 开头的术语

主持久超类 (primary persistent superclass)

对象(Objects)

一个类的主要持久超类决定了该类的持久行为。默认情况下,主要持久超类是超类列表中最左侧的持久超类。通常,与相同主要持久超类相关联的类的所有数据一起存储。

主卷 (primary volume)

系统

卷集中的第一个卷或唯一卷。

主设备 (principal device)

系统

与进程相关联的输入/输出设备,通常是终端或计算机键盘和显示器。对于后台进程,你可以在 JOB 命令中分配主设备,或者在系统配置编辑器中将其设置为父进程的主设备。如果不以这些方式设置设备,则后台进程的默认设备是空设备(null device)。

0 0
0 51
文章
· 十一月 2, 2024 阅读大约需 2 分钟
第九章 本地进程间通信(管道)

第九章 本地进程间通信(管道)

本页介绍如何通过管道与 IRIS® 数据平台外部的进程建立通信。

介绍

可以通过管道在 IRIS 进程和外部 UNIX®Windows 进程之间进行通信,就像在 UNIX®Windows 操作系统级别一样。可以将输出发送到管道或从管道接收输入。管道为单向;不能同时读取和写入同一个程序。

当打开另一个程序的管道进行输出时,可以像写入顺序文件一样对其进行写入。然后程序使用编写的内容作为其输入流。当希望 IRIS 进程与外部进程共享资源时,此功能特别有用。

打开 IRIS 实用程序的管道

可以打开通往 IRIS 实用程序以及 UNIX®Windows 进程的管道。在将管道用于实用程序 I/O 之前,系统管理员必须在 IRIS 系统上定义管道设备。

0 0
0 51
文章
· 十月 7, 2024 阅读大约需 2 分钟
第四十一章 创建安全对话 - 使用 SecurityContextToken

第四十一章 创建安全对话 - 使用

Web 服务使用 <SecurityContextToken>, 做出响应后,客户端实例和服务实例可以访问相同的对称密钥。有关此密钥的信息包含在两个实例的 SecurityContextToken 属性中。建议的程序如下:

  1. 在客户端中,将 SecurityOut 属性设置为 null,以删除请求消息中使用的安全标头。

Web 服务中不需要这样做,因为 Web 服务会在每次调用后自动清除安全标头。

1 0
0 51
文章
· 九月 2, 2024 阅读大约需 1 分钟
第十三章 WS-Policy 配置类详细信息 - 添加扩展属性

第十三章 WS-Policy 配置类详细信息 - 添加扩展属性

添加扩展属性

除了 cfg:wsdlElement 属性(前面讨论过)之外,可能还需要在策略元素中的以下元素中添加扩展属性:

  • <sp:X509Token> (在 <sp:InitiatorToken> or <sp:RecipientToken> 内)

    在此元素中,为 cfg:FindFieldcfg:FindValue 属性指定一个值,这些值指定用于此令牌的 IRIS 凭证集。

0 0
0 51
文章
· 十二月 9, 2023 阅读大约需 2 分钟
第三十章 控制到 XML 模式的映射 - Array of Classname

第三十章 控制到 XML 模式的映射 - Array of Classname

Array of Classname

本部分显示了从启用 XML 的类生成的XML 架构的一部分,此时该类包含定义为类名数组的属性。例如,考虑以下属性定义:

Property PropName As array Of %Integer(XMLITEMNAME = "MyXmlItemName", XMLKEYNAME = "MyXmlKeyName");

如果此属性位于名为 Test.DemoArray1 的启用 XML 的类中,则该类的 XML 架构包含以下内容:

0 0
0 51

社区朋友们好,

传统的基于关键词的搜索方式在处理具有细微差别的领域特定查询时往往力不从心。而向量搜索则通过语义理解能力,使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 50
文章
· 一月 27 阅读大约需 2 分钟
第九章 D - E 开头的术语

[toc]

第九章 D - E 开头的术语

显示格式 (display format)

对象(Objects)

属性的显示格式是用于显示和输入数据的格式。

分布式数据库 (distributed database)

系统

存储在网络中多台计算机上的数据库。当在分布式数据库环境中使用IRIS 时,位于一台计算机上的 ObjectScript 例程可以在网络中其他计算机的文件保护限制内访问全局。

DMNNET

系统

处理来自网络的传入全局请求的IRIS 进程。它是在系统状态(%SS)显示或系统操作实用工具中的进程面板上表示网络守护进程的名称。

点语法 (dot syntax)

对象(Objects)

点语法允许获取和设置属性值以及执行方法。它还允许从引用对象访问被引用和嵌入对象的属性和方法。

0 0
0 50