全部时间
文章
· 二月 19 阅读大约需 2 分钟
第二十九章 U - V 开头的术语

第二十九章 U - V 开头的术语

以 U 开头的术语

用户识别码 (UIC)

系统

用户识别码(User Identification Code,UIC)决定了谁可以访问该数据库中的全局。在 UNIX® 系统上,UICgroupid、逗号(,)和 userid 组成;系统管理员在 UNIX® 级别为用户分配 UIC,并使用 IRIS MSU 工具为每个数据库分配 UIC

未认证访问 (unauthenticated access)

系统

IRIS 的访问不基于任何用户身份验证。

Unicode

系统

0 0
0 34
InterSystems 开发者社区汇聚了 23,005 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 一月 12 阅读大约需 2 分钟
第七十一章 管理设备和助记词空间 - 设备 ID

第七十一章 管理设备和助记词空间 - 设备 ID

可以通过数字或操作系统名称来识别设备。可以在 OPEN 命令中使用此标识符。

设备别名

可以为定义的每个 IRIS 设备定义一个或多个别名值。当用户在 OPEN 命令中指定别名时,IRIS 会将其转换为设备 ID

IRIS 提供的默认设备 ID 适用于大多数用户。但是,某些用户可能希望覆盖这些默认值。可以通过在 Management Portal 中提供别名作为设备配置设置的一部分来实现此目的。

默认设备 ID 和助记词

当安装 IRIS 时,这些是每种设备类型的默认设备编号和助记符。

默认设备编号和助记词

0 0
0 34
文章
· 一月 4 阅读大约需 3 分钟
第六十四章 假脱机设备 - 使用 %SPOOL 打印

第六十四章 假脱机设备 - 使用 %SPOOL 打印

使用 %SPOOL 打印

%SPOOL 实用程序菜单的选项 1 Print(打印)允许您在任何设备上打印 ^SPOOL 全局中的一个或多个文档,继续打印中断的文档,以及将单张纸张手动送入信纸质量打印机。通过将输出发送到后台处理程序,可以在输出设备打印文档时释放终端用于其他用途。

可以在完全创建后台打印文档之前或之后开始打印。如果打印机赶上新输出,则打印过程将暂停 5 秒钟,然后打印在此期间累积的所有输出。打印过程知道您何时关闭了后台打印文档,并在文档完成时完成。

%SPOOL 打印文档时,它会跟踪已打印的页面。它还会创建页面索引,以便可以按页码对文档进行排序,并从您选择的任何页面的顶部开始打印。

如果停止打印(例如,在终端输出期间按 Ctrl-c,或者打印机损坏),则可以稍后在最后一个部分打印的页面的顶部或文档中任何其他页面的顶部继续打印。请注意,IRIS 不会将文档开头的换页数计为页数中的页数。

0 0
0 34
文章
· 十二月 25, 2024 阅读大约需 2 分钟
在IRIS 2024.2 中使用 WebTerminal

IRIS 2024.2 版本包含一项变更(DP-432503),该变更要求Web Gateway最初连接到 IRIS 时所使用的用户(通常是 CSPSystem)必须对承载 REST web applicatioon 的dispatch类的数据库具备 READ 权限。

在不满足该条件的情况下,就会引发一个错误,这会向调用者返回一个 HTTP 404 状态码,而非预期的 HTTP 401 状态码。

显然,这个问题将在 2024.3 版本中修复,参考编号为 DP-432898 / ALI048:REST 登录端点将返回 401 HTTP 错误码而非 404,但作为持续交付(CD)版本,2024.2 不会获得维护版本修正。

解决方法是让 CSPSystem 用户对安装WebTerminal所在命名空间的数据库具备读权限。

下面是所需的步骤:

1. 创建一个新的资源 “%DB_WEBTERMINAL”,并设置 “WEBTERMINAL” 数据库使用该资源,而非 “%DB_% DEFAULT”。

2. 创建一个名为 “% DB_WEBTERMINAL” 的角色,该角色能让角色持有者对 “% DB_WEBTERMINAL” 资源具有读写(RW)访问权限。

0 0
0 34
文章
· 十一月 12, 2024 阅读大约需 3 分钟
第十九章 TCP 客户端 服务器通信 - 数据包模式

第十九章 TCP 客户端 服务器通信 - 数据包模式

数据包模式

如果未指定模式,则默认为数据包模式。如果流模式被禁用,则该模式默认为分组模式。

在分组模式中,只要有一些数据要返回,读取命令就会完成。数据包模式允许在输出缓冲区中构建整个TCP数据段,然后通过发出WRITE*-3WRITE!命令。

如果在没有要发送的字符的情况下发出WRITE*-1来启动一个TCP发送操作,则会收到一个<WRITE>错误。如果发出WRITE OF空字符串,则会收到<COMMAND>错误。

在分组模式下可以发送的字符串的最大长度为1024个字符。如果在未刷新缓冲区的情况下超过此限制,则会收到<WRITE>错误。

0 0
0 34
公告
· 十一月 1, 2024
开发者社区回顾, 十月 2024
您好,欢迎阅读 十月 2024 开发人员社区通讯。
统计信息
✓ 十月发布了 43 篇新帖子:
37篇新文章
5个新公告
1个新问题
✓ 十月有 408 位新成员加入
✓ 所有时间发布了 2,251 篇帖子
✓ 所有时间有 2,431 位成员加入
1 0
0 34
文章
· 十月 28, 2024 阅读大约需 2 分钟
第四章 I O 输入输出简介 - Read 命令

第四章 I O 输入输出简介 - Read 命令

Read 命令

该命令从当前设备读取数据。对于某些设备,以星号开头的参数返回 ASCII 数字信息;对于其他人来说,它们表示控制功能。

语法

READ variable:timeout

WRITE 命令

该命令将数据写入当前设备。对于某些设备,以星号开头的参数允许使用其 ASCII 数值写入 ASCII 字符;对于其他人来说,它们表示控制功能。对于某些设备,以 # 字符开头的参数指示写入该字符的次数。

0 0
0 34
文章
· 十月 4, 2024 阅读大约需 3 分钟
第三十九章 创建安全对话

第三十九章 创建安全对话

IRIS 支持安全对话,遵循 WS-SecureConversation 1.3 规范。本页介绍如何手动创建安全对话。

概述

在安全对话中,Web 客户端向 Web 服务发出初始请求并接收包含 <SecurityContextToken> 的消息。此元素包含双方都可以使用的对称密钥的信息。此信息指的是只有双方知道的共享密钥。然后双方可以在后续交换中使用对称密钥,直到令牌过期或客户端取消令牌。

双方不应该直接使用 <SecurityContextToken> 执行这些任务(不推荐),而应该从中生成一个 <SecurityContextToken>,然后使用它进行加密、签名、解密和签名验证。

共享密钥可以通过以下任一方式指定:

1 0
0 34
您好,欢迎阅读 九月 2024 开发人员社区通讯。
统计信息
✓ 九月发布了 45 篇新帖子:
39篇新文章
4个新公告
2个新问题
✓ 九月有 47 位新成员加入
✓ 所有时间发布了 2,208 篇帖子
✓ 所有时间有 2,024 位成员加入
0 0
0 34
您好,欢迎阅读 八月 2024 开发人员社区通讯。
统计信息
✓ 八月发布了 39 篇新帖子:
34篇新文章
4个新公告
1个新问题
✓ 八月有 51 位新成员加入
✓ 所有时间发布了 2,163 篇帖子
✓ 所有时间有 1,975 位成员加入
0 0
0 34

社区朋友们好,

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

第十六章 L - M 开头的术语

锁表 (lock table)

系统

IRIS 内部的表,存储所有由进程发出的 LOCK 命令。你可以使用系统查看器查看此表。

日志文件 (log files)

系统

系统管理员目录中的文件,包含关于系统操作、错误和指标的消息。这些包括消息日志(messages.log)、系统监视器日志(SystemMonitor.log)、警报日志(alerts.log)、初始化日志(iboot.log)和日志历史记录日志(journal.log)。有关这些日志文件的信息,请参见“监控日志文件”。

逻辑格式 (logical format)

对象(Objects)

对象属性的逻辑格式是在内存中使用的格式。所有的比较和计算都是基于这种格式进行的。

0 0
0 33
文章
· 一月 18 阅读大约需 2 分钟
第七十七章 使用 ^%IS - 示例

第七十六章 使用 ^%IS - 示例

示例

调用 CURRENT^%IS 后,将 $X$Y 设置为 DXDY 以定位光标。

  DO CURRENT^%IS
  WRITE *27,*61,*DY+32,*DX+32 
  SET $X=DX,$Y=DY

IN^%IS 入场点

IN^%IS 中的一个内部入口点,可以由仅计划从设备进行 input 的例程调用。此入口点可用于确保您不选择仅输出设备,例如打印机。

0 0
0 33
文章
· 一月 5 阅读大约需 2 分钟
第六十六章 打印机

第六十六章 打印机

打印机

本页讨论了如何在 IRIS 数据平台中配置和使用打印设备。打印机是仅物理输出设备。打印机可以是字符打印机,也可以是非字符设备,例如传真或绘图仪。

在大多数情况下,输出不会直接发送到打印机。通常,要打印的输出首先发送到逻辑假脱机设备(^SPOOL 全局)。然后,可以将 ^SPOOL 全局的内容发送到物理打印机。有关假脱机的更多详细信息,请参阅 假脱机设备。

0 0
0 33
文章
· 十二月 25, 2024 阅读大约需 2 分钟
第五十八章 File 输入 输出 - WRITE 命令

第五十八章 File 输入 输出 - WRITE 命令

WRITE 命令

在定位的 READWRITE 之后,后续的 READWRITE 操作将按顺序进行,直到下一个带有 position 参数的 USE 命令。

WRITE 命令将数据(一次一条记录)写入作为当前设备的顺序文件。

语法

WRITE x
  • x 变量 x 中的数据将作为一条记录写入顺序文件中。

CLOSE 命令

CLOSE 命令放弃对顺序文件的所有权。

如果指定的文件未打开或不存在,则 IRIS 将忽略 CLOSE 并返回而不发出错误。

0 0
0 33
文章
· 十一月 8, 2024 阅读大约需 4 分钟
第十五章 IRIS 进程之间的通信

第十五章 IRIS 进程之间的通信

本页介绍如何在两个或多个 IRIS 数据平台进程之间建立通信。

介绍

作业间通信 (IJC) 设备是一组特殊设备编号,可让在两个或多个 IRIS 进程之间传输信息。这些流程可以是作业流程或交互式流程。

IJC 设备成对工作。最多可以有 256IJC 设备对。使用称为接收器的偶数设备来读取数据。使用称为发送器的奇数设备来写入数据。尝试从发送器读取或写入接收器会导致 <NODEV> 错误。

可以向 IJC 设备发出 I/O 命令,就像向任何其他设备一样。向设备发出OPEN和USE命令后,进程可以发出:

  • 向接收器设备读取命令
  • 将命令写入发送器设备

一次只能有一个进程可以打开设备。

对基于 IRIS 设备表中映射的相对顺序,可以使用管理门户的配置选项查看和编辑该表。

0 0
0 33
文章
· 十月 10, 2024 阅读大约需 3 分钟
第四十四章 创建和添加 SAML 令牌

第四十四章 创建和添加 SAML 令牌

本主题描述如何将SAML 令牌添加到 WS-Security 标头元素。

另请参阅 %SAML.Assertion 的类参考和相关类。

未实现完整的 SAML 支持。 IRIS 中的 SAML 支持仅指 IRIS 中的 WS-Security 支持中列出的详细信息。

概述

借助 IRIS SOAP 支持,可以将 SAML 令牌添加到 WS-Security 标头元素。

0 0
0 33
文章
· 二月 12 阅读大约需 2 分钟
第二十二章 P - R 开头的术语

第二十二章 P - R 开头的术语

程序员模式 (programmer mode)

系统

所有程序开发活动进行的模式。在程序员模式下,你从 IRIS 提示符启动程序,并且每个运行的程序结束后提示符会重新出现。程序员模式涵盖了 IRIS 环境及其所有可调用的程序,包括 SQL 开发环境。在程序员模式下,你可以创建用户随后在应用程序模式下运行的应用程序。

项目 (project)

系统

用户定义的相关源文档(如例程或类定义)列表。Visual Studio Code 使用项目来帮助组织应用程序开发。

属性 (property)

对象(Objects)

表示与类相关联的特定特性的一个数据元素。该类的每个对象包含属性的字面值或指向表示数据的另一个对象的引用。一个类的所有属性共同表示其状态。

属性排序 (property collation)

对象(Objects)

0 0
0 32
文章
· 二月 7 阅读大约需 2 分钟
第十七章 M - N 开头的术语

第十七章 M - N 开头的术语

方法 (method)

对象(Objects)

可以在对象上调用的操作。

挂载,已挂载 (mount, mounted)

系统

挂载数据库是指将其显式连接到一个IRIS 实例,从而使其内容立即可用。处于此状态的数据库称为已挂载。

多维属性 (multidimensional property)

对象(Objects)

多维属性像数组节点一样工作。多维属性没有任何关联的属性方法,不能使用点语法访问,也不会被投射到 SQLJava

多路链接 (multidrop link)

通用

连接两台以上计算机的网络硬件。

多重继承 (multiple inheritance)

对象(Objects)

多重继承允许一个类拥有多个超类。一个类从其每个超类继承特性和类成员。

0 0
0 32
文章
· 一月 16 阅读大约需 3 分钟
第七十五章 使用 ^%IS - OPEN 参数

第七十五章 使用 ^%IS - OPEN 参数

OPEN 参数

默认情况下,OPEN 命令使用 ^%IS 全局中定义的设备的规范。在使用 ^%IS 时,可以通过指定其他设置来覆盖这些设置。

发出 USE 命令

运行 ^%IS 后,应用程序必须向 ^%IS 打开的设备发出 USE 命令。你可以使用变量 IO,只要你明白每次调用 ^%IS 时它的值都会发生变化。然后,后续的IRIS I/O 命令,例如 READWRITE,将引用该设备。

发出 CLOSE 命令

用户或应用程序开发人员必须关闭使用 ^%IS 实用程序打开的设备。

0 0
0 32
文章
· 十二月 19, 2024 阅读大约需 4 分钟
第五十三章 File 输入 输出 - OPEN模式参数

第五十三章 File 输入 输出 - OPEN模式参数

A /APPEND /APP

Append:WRITE 操作将数据附加到现有文件的末尾。默认设置是覆盖现有数据,而不是 append

S /STREAM

流格式,回车符、换行符或换页符作为默认终止符。S、V、F 和 U 模式是互斥的。Stream record format 是默认格式。

V /VARIABLE

请勿尝试在可变长度顺序文件末尾以外的任何位置插入记录;WRITE 将使文件中的所有数据从 WRITE 之后的点开始无法访问。S、V、F 和 U 模式是互斥的。流记录 (S) 格式是默认格式。

使用转换表写入的可变长度记录(例如使用 UTF8 转换的 Unicode 数据)可能会导致存储的记录具有与输入数据不同的字符串长度。IRIS 在读取此记录时使用原始输入字符串长度。

0 0
0 32
文章
· 十二月 3, 2024 阅读大约需 4 分钟
第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

OPENUSE 命令的关键字参数

下表描述了使用OPENUSE命令控制终端设备的关键字参数。对于每个关键字,该表列出了OPENUSE相应的字母代码协议。有关使用这些协议的其他信息可以在字母代码协议表中找到。

0 0
0 32
文章
· 九月 9, 2024 阅读大约需 2 分钟
第十七章 手动添加安全元素

第十七章 手动添加安全元素

本主题主要介绍如何手动向 IRIS Web 服务和 IRIS Web 客户端发送的消息中添加安全元素。

以下主题提供了有关特定安全任务的详细信息。

添加安全标头元素

要将安全元素添加到 WS-Security 标头元素,请在 Web 客户端或 Web 服务中使用以下常规过程:

0 0
0 32
文章
· 八月 6, 2024 阅读大约需 2 分钟
第二章 使用代理服务器

第二章 使用代理服务器

使用代理服务器

Web 客户端可以通过代理服务器与 Web 服务通信。要进行设置,请指定 Web 客户端实例的属性以指示要使用的代理服务器。这些属性如下:

HttpProxyServer

指定要使用的代理服务器的主机名。如果此属性不为空,则 HTTP 请求将定向到此计算机。

HttpProxyPort

指定代理服务器上要连接的端口。

HttpProxyHTTPS

如果使用代理服务器并且该代理服务器支持 HTTPS,则将其指定为 true

请注意,如果使用 HTTPS,则还必须将客户端的 SSLConfiguration 属性设置为 SSL/TLS 配置的名称;有关更多详细信息,请参阅配置客户端以使用 SSL

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

第二十六章 S 开头的术语

共享锁 (shared lock)

对象(Objects)

共享锁在对象从数据库加载期间保持共享锁,并在保存期间保持独占锁(如果跨多个节点或正在更新)。对于第一次在单个节点上保存的对象,不会获取锁。

共享保留锁 (shared retained lock)

对象(Objects)

共享保留锁从对象从数据库加载到关闭期间保持共享锁,并在保存期间保持独占锁(如果跨多个节点或正在更新)。对于第一次在单个节点上保存的对象,不会获取锁。

SOAP

通用

用于实现 Web 服务的协议规范。它使用 XML 作为消息格式,通常依赖其他应用层协议,例如远程过程调用(RPC)和 HTTP,用于消息协商和传输。`` 曾是“简单对象访问协议”(Simple Object Access Protocol)的缩写,但现在不再是缩写——它只是该协议的名称。

0 0
0 31
文章
· 二月 2 阅读大约需 2 分钟
第十三章 I 开头的术语

第十三章 I 开头的术语

安装目录 (install-dir)

系统

在通用引用 IRIS 安装目录时,文档使用术语 install-dir。在示例中,文档使用 C:\MyIRIS\。章节“默认安装目录”描述了 IRIS 在所有受支持操作系统上的安装位置。

实例 (instance)

对象(Objects)

表示特定实体的类的实现。术语“实例”和“对象”可以互换使用。

实例认证 (Instance Authentication)

系统

本地认证系统:用户会被提示输入密码,输入的密码的哈希值会传递到 IRIS 服务器,并与服务器中存储的现有密码的哈希值进行比较。如果两个值相同,IRIS 将授予用户对其有权限的资源的访问权限。

此机制在管理门户中列为“密码认证”。

0 0
0 31
文章
· 一月 26 阅读大约需 2 分钟
第八章 D 开头的术语

第八章 D 开头的术语

数据集 (dataset)

通用

表示IRIS中目录名称或目录和系统名称的逻辑实体。

数据源名称 (Data Source Name, DSN)

ODBC

数据源名称标识特定服务器系统上的特定数据库。

数据类型 (data type)

对象(Objects)

属性的数据类型决定其行为、验证要求以及如何投射到 SQLJava 等客户端。

数据类型类 (data type class)

对象(Objects)

数据类型是具有其 DATATYPE 类关键字设置的类,支持数据类型接口。该接口包括多个用于验证和 SQL 互操作性的操作。

DDL 导入工具 (DDL import utility)

对象(Objects)

0 0
0 31
文章
· 一月 25 阅读大约需 2 分钟
第七章 C - D 开头的术语

第七章 C - D 开头的术语

当前设备 (current device)

系统

处理 I/O 命令的设备。当你登录时,当前设备是你的主设备,通常是你登录时使用的终端或个人计算机。

当前目录 (current directory)

通用

你当前工作的目录。

基于游标的 SQL (cursor-based SQL)

SQL

一种嵌入式 SQL 查询类型,打开一个游标来处理查询。当你的应用程序需要访问多行数据时,必须使用游标。游标像一个指针——它专注于访问和处理一行数据,然后移动到序列中的下一行。

游标 (cursor)

SQL

在多行数据中向前移动的迭代器。

自定义存储 (custom storage)

对象(Objects)

0 0
0 31