查找

Article
· Sept 1 6m de lecture

Build a Customer Support AI Agent with smolagents + InterSystems IRIS (SQL, RAG & Interoperability)

Customer support questions span structured data (orders, products 🗃️), unstructured knowledge (docs/FAQs 📚), and live systems (shipping updates 🚚). In this post we’ll ship a compact AI agent that handles all three—using:

  • 🧠 Python + smolagents to orchestrate the agent’s “brain”
  • 🧰 InterSystems IRIS for SQL, Vector Search (RAG), and Interoperability (a mock shipping status API)

Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Annonce
· Sept 1

Récapitulation de la communauté des développeurs, Août 2025

Bonjour et bienvenue à la récapitulation de la Communauté des développeurs d'août 2025.
Statistiques générales
✓ Nouvelles publications 22 publiées l'Août :
 12 nouveaux articles
 10 nouvelles annonces
✓ Nouveaux membres 4 ayant rejoint l'Août
✓ Publications 1,244 publiées depuis le début
✓ Membres 185 ayant rejoint depuis le début
Meilleures publications
Les meilleurs auteurs du mois
Articles
#InterSystems IRIS
Configuration d'OpenTelemetry dans IRIS
Par Sylvain Guilbaud
Comment créer votre propre table de recherche pour la messagerie HL7
Par Lorenzo Scalese
Utilisation de LIKE avec des variables et des modèles dans SQL
Par Iryna Mykhailova
Un guide pour débutants sur la création de tables SQL et leur visualisation en tant que classes
Par Iryna Mykhailova
Hébergement d'une application Flask de l'API REST sur InterSystems IRIS à l'aide de l'interface WSGI
Par Liam Evans
Pilote pour connecter IRIS à Metabase
Par Guillaume Rongier
Pourquoi devons-nous établir des règles ou des conventions de codage ?
Par Lorenzo Scalese
Traçage des applications InterSystems IRIS à l'aide de Jaeger
Par Iryna Mykhailova
Comment contrôler l'ordre des colonnes affichées lors de l'accès à partir d'un outil ODBC / JDBC
Par Sylvain Guilbaud
 
#Autre
 
#InterSystems IRIS for Health
 
#Communauté des développeurs officielle
 
Annonces
#Communauté des développeurs officielle
 
#IRIS contest
 
#InterSystems IntelliCare
 
#Global Masters
 
#InterSystems IRIS for Health
 
#InterSystems officiel
 
#HealthShare
 
Août, 2025Month at a GlanceInterSystems Developer Community
Discussion (0)1
Connectez-vous ou inscrivez-vous pour continuer
Question
· Sept 1

IRISTEMPの拡張が 276MBあたりで停止し <FILEFULL> エラーが発生する件

1. 現象

>w $zv
IRIS for Windows (x86-64) 2024.3 (Build 217U) Thu Nov 14 2024 17:59:58 EST

大きなXMLファイル(約165MB)をライブラリー%XMLでパースすると、<FILEFULL>エラーが発生する。

エラーパート

    s libraryFile = "D:\iTunes3\iTunes Library.xml" ;サイズ=165M
    w !,"libraryFile = ",libraryFile
    w !,"##class(%File).GetFileSize(libraryFile)=",##class(%File).GetFileSize(libraryFile)
    w !,"s sc=##class(%XML.TextReader).ParseFile(libraryFile,.reader) 実行"
    Set sc = ##class(%XML.TextReader).ParseFile(libraryFile,.reader)
    w !,$SYSTEM.Status.GetErrorText(sc)
    q

libraryFile = D:\iTunes3\iTunes Library.xml
##class(%File).GetFileSize(libraryFile)=165739267
s sc=##class(%XML.TextReader).ParseFile(libraryFile,.reader) 実行
エラー #6301: SAX XMLパーサエラー: <FILEFULL>startElement+3^%XML.SAX.Utils.Sequencer.1 ^||IRIS.Temp(4,13592576),c:\intersystems\iris1\mgr\iristemp\  while processing D:\iTunes3\iTunes Library.xml at line 2280394 offset 34
USER>

上の処理と同時に同じネームスペースで、##Class(%Stream.TmpCharacter) の処理をしていて、それも

エラー #5002: ObjectScript エラー:<FILEFULL>SetupTmpGbl+3^%Stream.GlobalCharacter.1 ^||%IRIS.Stream,c:\intersystems\iris1\mgr\iristemp\

で止まる。

また、起動していた、システム管理ポータルも次の遷移時に

エラー #5002: ObjectScript エラー:<FILEFULL>GetCSPClassName+18^%SYS.cspServer ^IRIS.TempCSP("ClsN","%SYS","/iris1/csp/sys/exp/%25CSP.UI.Portal.SQL.Home.zen","/iris1/csp/sys/%CSP.Broker.cls"),c:\intersystems\iris1\mgr\iristemp\

で止まる。この時、各処理をHALTしないで、IRISのSTOPをすると、止まらい場合があり、強制終了(iris force IRIS1)が必要な場合があった。

直接の原因は、IRISTEMP(c:\intersystems\iris1\mgr\iristemp\)のIRIS.DATで <FILEFULL>エラー(空きなし)が起こっている。

2. 再現検証テスト

いろいろ調べましたが、問題は、「IRISTEMP のサイズがある値(240M、276M、282M あたり)以上に拡張されない」ことにあるのでないかと思います。
以下、その簡単な検証テストです。

1) IRIS(インスタンス名=IRIS1)を停止

2)C:\InterSystems\IRIS1\mgr\iristemp\IRIS.DAT (現サイズ282.624KB) を削除

3) IRIS1 起動

4) ターミナル %SYS

%SYS>d ^DATABASE (管理ポータル > システムオペーレション > データベース > IRISTEMP の代わり)
  
 1) Create a database
 2) Edit a database
 3) List databases
 4) Delete a database
 5) Mount a database
 6) Dismount a database
 7) Compact globals in a database
 8) Show free space for a database
 9) Show details for a database
10) Recreate a database
11) Manage database encryption
12) Return unused space for a database
13) Compact free space in a database
14) Defragment a database
15) Show background database tasks
16) Manage multi-volume database properties
 
Option? 9
Database directories? C:\InterSystems\IRIS1\mgr\iristemp\

Directory:               c:\intersystems\iris1\mgr\iristemp\
MirrorDBName:
MaxSize:                 0
Size:                    1
Status:                  マウント/RW
BlockSize:               8192
ClusterMountMode:        0
ClusterMounted:          0
ExpansionSize:           0
LastExpansionTime:
Mounted:                 1
NewGlobalCollation:      IRIS standard
NewGlobalGrowthBlock:    50
NewGlobalIsKeep:         0
GlobalJournalState:      いいえ
NewGlobalPointerBlock:   16
ReadOnly:                0
ResourceName:            %DB_IRISTEMP
MountedReadOnly:         0
EncryptedDB:             0
EncryptionKeyID:
NewVolumeThreshold:      0
NewVolumeDirectory:      c:\intersystems\iris1\mgr\iristemp\
MultiVolume:             0
Configured DB Name:      IRISTEMP
Mount Required At Startup: Yes
  
 8) Show free space for a database
Option? 8
Database directory to show free space for (*=All)? C:\InterSystems\IRIS1\mgr\iristemp\
 
                              Database Free Space
                              Sep 01 2025  9:10 AM
Database                           Max Size  Size    Available %Free   Disk Free
c:\intersystems\iris1\mgr\iristemp\無制限    1MB     0.17MB    17      70.25GB
 
IRIS.DATのエクスプローラサイズ 初期値 1M

5) ターミナル USER

テンポラリーグローバル ^||...に大量書き込み

USER>s d=$j(" ",1024*1024) try {f i=1:1:300 w:i#50=0 " ",i s ^||temp(i)=d} catch {w !,"$ze=",$ze,!!,"i=",i}
 50 100 150 200 250
$ze=<FILEFULL> ^||temp(273),c:\intersystems\iris1\mgr\iristemp\
 
i=273

同様 IRISTEMPで <FILEFULL> エラー
i=300 まで行かない。IRISTEMPのサイズ拡張が止まり、空き領域なしでエラー?

6) ターミナル %SYS>d ^DATABASE

                              Database Free Space
                              Sep 01 2025  9:16 AM
Database                           Max Size  Size    Available %Free   Disk Free
c:\intersystems\iris1\mgr\iristemp\無制限    276MB   0.62MB    0    <- 69.98GB
 
%Free=0
エクスプローラ IRIS.DAT サイズ 282,624KB

7) ターミナル USER HALT

空き領域は回復

8) ターミナル %SYS>d ^DATABASE

                              Database Free Space
                              Sep 01 2025  9:18 AM
Database                           Max Size  Size    Available %Free   Disk Free
c:\intersystems\iris1\mgr\iristemp\無制限    276MB   275MB     100     69.98GB

9) %SYS で 実行

%SYS>s d=$j(" ",1024*1024) try {f i=1:1:300 w:i#50=0 " ",i s ^||temp(i)=d} catch {w !,"$ze=",$ze,!!,"i=",i}
 50 100 150 200 250
$ze=<FILEFULL> ^||temp(273),c:\intersystems\iris1\mgr\iristemp\
 
i=273

同様にエラー。%SYSでも、テンプグローバル ^||... は、IRISTEMを使っている。

                              Database Free Space
                              Sep 01 2025  9:21 AM
Database                           Max Size  Size    Available %Free   Disk Free
c:\intersystems\iris1\mgr\iristemp\無制限    276MB   0.57MB    0    <- 69.98GB
 
%SYS>k ^||temp
 
%SYS>d ^DATABASE 
                              Database Free Space
                              Sep 01 2025  9:22 AM
Database                           Max Size  Size    Available %Free   Disk Free
c:\intersystems\iris1\mgr\iristemp\無制限    276MB   275MB     100     69.98GB
 
エクスプローラ IRIS.DAT サイズ 282,624KB 変わらず。

%SYSも含め、すべてのネームスペースのTemp Storageは、同じ IRISTEMP にマップされている。

3. その他テスト

3.1 管理ポータル/ローカルデータベースでサイズ拡大処理

管理ポータル > システム管理 > 構成 > システム構成 > ローカルデータベース

名前    IRISTEMP
ディレクトリ    c:\intersystems\iris1\mgr\iristemp\
ブロックサイズ    8192 バイト
サイズ (MB)    現在    240 (>=240)
拡張                0        デフォルトは0
最大                0        0で無制限になります
リソース名            %DB_IRISTEMP

で、現在の値を、500等、より大きな値を入れるが、270 -> 276 になるが、これ以上大きくならない。拡張に10,100等を指定するが効果なし。
ちなみに、IRIS.DATサイズの初期値が 1M の時は、現値に、500 入れると、一覧表示のステータスが 拡大中となる。しかし、276M で拡張が止まる。

3.2 新データベース MYTEMP を作成、Temp Storage にマップするが、マップされていない

通常のIRIS.DATの様に拡張可能性を期待してMYTEMPという別のデータベースを新規に作り、管理ポータル > ネームスペースで 
既存別ネームスペース(USER2) のTemp Storageを IRISTEMP から MYTEMP に設定、テストしました。

管理ポータル > システム管理 > 構成 > システム構成 > ネームスペース

       Namespace     Globals     Routines     Temp Storage                         
     %SYS    IRISSYS    IRISSYS    IRISTEMP    グローバルマッピング    ルーチンマッピング    パッケージマッピング    - (変更削除不可)
     USER    USER    USER    IRISTEMP    グローバルマッピング    ルーチンマッピング    パッケージマッピング    削除
     USER2    USER2    USER2    MYTEMP        グローバルマッピング    ルーチンマッピング    パッケージマッピング    削除
 
%SYS>d ^DATABASE   
                              Database Free Space
                              Sep 01 2025  9:30 AM
Database                           Max Size  Size    Available %Free   Disk Free
d:\intersystems\iris1\mytemp\      無制限    240MB   239MB     100     155.09GB
 
エクスプローラ IRIS.DAT サイズ 282,624KB

(管理ポータル > ローカルデータベースで 現在の値を、500に入れても、240Mのまま、無駄な?拡張は避けている模様?)

USER2 >s d=$j(" ",1024*1024) try {f i=1:1:300 w:i#50=0 " ",i s ^||temp(i)=d} catch {w !,"$ze=",$ze,!!,"i=",i}
 50 100 150 200 250
$ze=<FILEFULL> ^||temp(273),c:\intersystems\iris1\mgr\iristemp\
 
i=273

エラーから、Temp Strage が D:\InterSystems\IRIS1\MYTEMP\ でなく c:\intersystems\iris1\mgr\iristemp\
Temp Storageが指定通りにマップされていない模様? 

3.3 IRIS修理再インストール

c:\intersystems\iris1\mgr\iristemp\IRIS.DAT を削除後
IRIS_Community-2024.3.0.217.0-win_x64.exe
を修理再インストールするが、システム変更されていませんとなり、¥iristemp¥ には、何も作られない状態でした。

起動後

message.logに
09/01/25-13:55:51:991 (6084) 0 [Utility.Event] Creating missing IRISTEMP database in C:\InterSystems\IRIS1\mgr\iristemp
09/01/25-13:55:52:017 (6084) 0 [Database.MountedRW] Mounted database c:\intersystems\iris1\mgr\iristemp\ (SFN 3) read-write.
09/01/25-13:55:52:021 (6084) 0 [Utility.Event] C:\InterSystems\IRIS1\mgr\iristemp\ initialized as IRISTEMP
のログあり

管理ポータル > システムオペーレション > データベース > IRISTEMP

    ディレクトリ:    c:\intersystems\iris1\mgr\iristemp\
    リソース名:    %DB_IRISTEMP
    マウント:    はい
    読込専用:    いいえ
    読み取り専用の理由:     
    暗号化:    いいえ
    暗号化キーID:     
        
データベースサイズ
    ブロックサイズ:    8192
    ブロック:    1408
    最大サイズ:    無制限
    サイズ:    11MB
    拡張サイズ:    システムデフォルト
    利用可能空き容量:    9.9MB
    % 空き容量:    90%
    ディスク空き容量:    69.63GB
    最終拡張時刻:    09/01/2025 13:56:24
    フル:    いいえ
    新しいボリュームしきい値サイズ(MB):    0

でした。

%SYS>d ^DATABASE
                              Database Free Space
                              Sep 01 2025  1:57 PM
Database                           Max Size  Size    Available %Free   Disk Free
c:\intersystems\iris1\mgr\iristemp\無制限    11MB    9.9MB     90      69.63GB
         
USER>s d=$j(" ",1024*1024) try {f i=1:1:300 w:i#50=0 " ",i s ^||temp(i)=d} catch {w !,"$ze=",$ze,!!,"i=",i}
 50 100 150 200 250
$ze=<FILEFULL> ^||temp(273),c:\intersystems\iris1\mgr\iristemp\
 
i=273

4. 問題

問題1:IRISTEMP のサイズが拡張されない

管理画面や ^DATABASE で「無制限」と表示されていても、IRISTEMP の実際の物理ファイル(IRIS.DAT)は 276MB までで拡張が止まる。
拡張サイズ設定(10MB、100MB)を変更しても意味がなかった。0 指定は、あるデフォルトの拡張サイズがある?
このため、大容量処理(例:165MB の XML パース)で TEMP が不足し <FILEFULL> が発生する。

問題2:Temp Storage に MYTEMP を設定しても無視される

管理画面で名前空間の Temp Storage を MYTEMP に設定しても、実際には IRISTEMP にマップされている。
IRISTEMPは、%SYS他のすべてのネームスペースで、Temp Storageとし共有されているため、特別な保護処置や制約等があるのでは?

確認してほしい事

a) IRISTEMP が物理的に 276MB 以上拡張されない理由
 (設定は無制限、拡張サイズも十分、ディスク空きもあるにもかかわらず)

b) Temp Storage に別データベース(MYTEMP)を指定しても、IRISTEMP が使用される理由

c) TEMP 領域が大量に必要となる処理(例:XML パース)への対応策

d) IRISTEMP の安全な拡張手順または再作成方法

よろしくお願いします。

2 Comments
Discussion (2)1
Connectez-vous ou inscrivez-vous pour continuer
Résumé
· Sept 1

InterSystems 开发者社区摘要,八月 2025

您好,欢迎阅读 八月 2025 开发人员社区通讯。
统计信息
✓ 八月发布了 3 篇新帖子:
 2篇新文章
 1 new announcement
✓ 八月有 20 位新成员加入
✓ 所有时间发布了 2,400 篇帖子
✓ 所有时间有 2,275 位成员加入
最高职位
八月, 2025Month at a GlanceInterSystems Developer Community
Résumé
· Sept 1

InterSystems開発者コミュニティのダイジェスト、8月 2025

8月 2025開発者コミュニティ ニュースレターへようこそ。
全体統計
8 件の新しい投稿が公開 (8月 月):
 6件の新着記事
 2の新しい発表
6 人の新メンバーが参加 (8月 月)
1,552 件の投稿が公開 (全期間)
335 人のメンバーが参加 (全期間)
トップ記事
今月のトップ作家
記事
お知らせ
8月, 2025Month at a GlanceInterSystems Developer Community