InterSystems 开发者社区汇聚了 22,352 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!
文章
· 二月 16 阅读大约需 2 分钟
第二十六章 S 开头的术语

第二十六章 S 开头的术语

共享锁 (shared lock)

对象(Objects)

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

共享保留锁 (shared retained lock)

对象(Objects)

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

SOAP

通用

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

0 0
0 17

🚨 计划维护通知 🚨

InterSystems 开发者社区将于明天(2025 年 3 月 22 日)美国东部时间上午 10:30 至下午 12:30(欧洲中部时间下午 16:30 至下午 18:30)进行计划维护。

在此期间,平台可能会出现间歇性停机。我们对给您带来的不便深表歉意,感谢您的耐心等待,我们将努力改进我们的服务。

感谢您的理解!

Maintenance Windows: Keep it short or use it all?

0 0
0 16
文章
· 一月 4 阅读大约需 2 分钟
第六十五章 假脱机设备 - 列出假脱机文档

第六十五章 假脱机设备 - 列出假脱机文档

列出假脱机文档

%SPOOL 实用程序菜单 List documents 的选项 2 显示当前为运行 %SPOOL 的目录假脱机的文档列表。如果没有 Despool start-end 值,则文档尚未解散(打印)。

每个假脱机文档的描述显示在有关该文档的其余信息之后的一个或多个单独行上。

在以下示例中,用户选择了选项 2。显示屏将显示存储在后台处理程序中的两个文档。第一份记录在 830 日下午 2:23 存储,并于当天下午 2:25 打印。第二份于 34 日上午 11:39 存储,并于当天上午 11:42 打印。

0 0
0 14

社区朋友们好,

传统的基于关键词的搜索方式在处理具有细微差别的领域特定查询时往往力不从心。而向量搜索则通过语义理解能力,使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 12

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 5