記事 Toshihiko Minamoto · 2024年12月10日 9m read 詳説: RAG、ベクトル検索、および IRIS RAG アプリにおける IRIS での実装方法 コミュニティメンバーから、Python 2024 コンテストでの出品に対する非常に素晴らしいフィードバックが届きました。 ここで紹介させていただきます。 #Artificial Intelligence (AI) #ChatGPT #CSS #Generative AI (GenAI) #JavaScript #Python #Vector Search #フロントエンド #相互運用性 #InterSystems IRIS Open Exchange app 0 0 0 25
記事 Toshihiko Minamoto · 2024年12月4日 5m read d[IA]gnosis_ Embedded Python と LLM モデルを使って診断をベクトル化する 前回の記事では、ICD-10 による診断のコーディングをサポートできるように開発された d[IA]gnosis アプリケーションを紹介しました。 この記事では、InterSystems IRIS for Health が、事前トレーニングされた言語モデル、そのストレージ、およびその後の生成されたすべてのベクトルの類似性の検索を通じて ICD-10 コードのリストからベクトルを生成するために必要なツールをどのように提供するかを見ていきます。 はじめに AI モデルの開発に伴って登場した主な機能の 1 つは、RAG(検索拡張生成)という、コンテキストをモデルに組み込むことで LLM モデルの結果を向上させることができる機能です。 この例では、コンテキストは ICD-10 診断のセットによって提供されており、これらを使用するには、まずこれらをベクトル化する必要があります。 診断リストをベクトル化するにはどうすればよいでしょうか? #Angular #Artificial Intelligence (AI) #Embedded Python #Vector Search #InterSystems IRIS for Health Open Exchange app 0 0 0 24
記事 Toshihiko Minamoto · 2024年11月26日 5m read d[IA]gnosis_ IRIS for Health を使用した RAG アプリケーションの開発 ベクトルデータ型と Vector Search 機能が IRIS に導入されたことにより、アプリケーションの開発に多数の可能性が開かれました。こういったアプリケーションの例として、バレンシア保健省が AI モデルを使用した ICD-10 コーディング支援ツールを要求した公募で出品されたアプリケーションが最近私の目に留まりました。 要求されたツールのようなアプリケーションをどのように実装できるでしょうか? 必要なものを確認しましょう。 ICD-10 コードのリスト。自由テキスト内で診断を検索するための RAG アプリケーションのコンテキストとして使用します。 ICD-10 コード内で相当するものを検索するためにテキストをベクトル化するトレーニング済みモデル。 ICD-10 コードとテキストの取り込みとベクトル化を行うために必要な Python ライブラリ。 可能性のある診断を見つけるためのテキストを受け入れる使いやすいフロントエンド。 フロントエンドから受信するリクエストのオーケストレーション。 これらのニーズに対応するために、IRIS は何を提供できるでしょうか? #Angular #Artificial Intelligence (AI) #Embedded Python #Vector Search #InterSystems IRIS for Health Open Exchange app 0 0 0 24
記事 Toshihiko Minamoto · 2024年11月21日 6m read IRIS-RAG-Gen_ IRIS Vector Search による ChatGPT RAG アプリケーションのパーソナライズ コミュニティの皆さん、こんにちは。この記事では、iris-RAG-Gen という私のアプリケーションをご紹介します。 iris-RAG-Gen は、IRIS Vector Search の機能を使用して、Streamlit ウェブフレームワーク、LangChain、および OpenAI で ChatGPT をパーソナライズするジェネレーティブ AI 検索拡張生成(RAG: Retrieval-Augmented Generation)アプリケーションです。 このアプリケーションは IRIS をベクトルストアとして使用します。 アプリケーションの機能 ドキュメント(PDF または TXT)を IRIS に取り込む 選択されたドキュメントの取り込みを使ってチャットする ドキュメントの取り込みを削除する OpenAI ChatGPT #ChatGPT #Docker #Embedded Python #Generative AI (GenAI) #Large Language Model (LLM) #SQL #Vector Search #Caché #Open Exchange Open Exchange app 0 0 0 28
お知らせ Toshihiko Minamoto · 2024年11月20日 CachéQuality for VSCode がリリースされました ほとんどの方が @Daniel Tamajon の CachéQuality プロジェクトをご存知かと思います。 まだご存知でない方のために説明すると、InterSystems 製品用に記述されたコードの静的構文アナライザーです。 コード内の様々な種類の問題や潜在的なバグがお客様のプロダクション環境で見つかる前に、それらを検出して解決するのに役立てられます。 つまり、CachéQuality を使用することで、より優れた製品を提供できるようになります。 ObjectScript コードのチェックに使用されるルールの完全なリストは、こちらをご覧ください。 これは Studio ですでに提供されているものですが、 VSCode でも使用できるようになりました。 #ObjectScript #VSCode #開発環境 #Open Exchange 0 0 0 32
お知らせ Toshihiko Minamoto · 2024年11月6日 VS Code スニペットを IPM _ ZPM パッケージとして共有する VS Code には強力なスニペット機能が備わっており、Marketplace は開発者がスニペットを公開して使用できる方法を提供しています。 ただし、Marketplace での公開は面倒である上、InterSystems コーダーを対象としたスニペットは、現実的には Marketplace の訪問者のごく少数にしか興味を持たれません。 このことから、oex-vscode-snippets-template を作成する発想を得ました。InterSystems 開発者向けのコードスニペットを公開するための専用リポジトリを作成する GitHub テンプレートです。 #コンテスト #IRIS contest Open Exchange app 0 0 0 23
記事 Toshihiko Minamoto · 2024年11月5日 1m read 独自のスニペットを VS Code に追加する Studio で最も便利な機能の 1 つにコードスニペットがあります。 以下は、スニペットを VSCode に追加する方法です。 以下は、一般的な手順です。 1. ファイル - 設定 - ユーザースニペットに移動し、objectscript を選択します。 2. スニペットを追加します。以下に例を示します。 #Code Snippet #VSCode #InterSystems IRIS 1 0 0 52
記事 Toshihiko Minamoto · 2024年10月24日 8m read GitLab を使用した InterSystems ソリューションの継続的デリバリー - パート XII: 動的な非活動タイムアウト CI/CD シリーズの新しい章へようこそ。ここでは、InterSystems テクノロジーと GitLab を使用したソフトウェア開発の様々な可能なアプローチを取り上げています。 今回も相互運用性について説明を続けますが、特に相互運用性デプロイの監視に焦点を当てます。 まだアラートをすべての相互運用性プロダクションにセットアップしていない場合は、それをセットアップしてエラーとプロダクションの状態についての一般的なアラートを取得できるようにしてください。 非活動タイムアウトは、すべての相互運用性ビジネスホストに共通する設定です。 ビジネスホストは、「Inactivity Timeout(非活動タイムアウト)」フィールドに指定された秒数以内にメッセージを受信しない場合に非アクティブステータスになります。 プロダクションの監視サービスはプロダクション内のビジネスサービスとビジネスオペレーションのステータスを定期的に確認し、非活動タイムアウト期間内にアクティビティがない場合にその項目を「非アクティブ」にマークします。 デフォルト値は 0(ゼロ)です。 この設定が 0 である場合、ビジネスホストはアイドル状態がどれほど続いても Inactive にマークされることはありません。 これはアラートを生成し、構成されたアラートと合わせてプロダクションの問題に関するリアルタイム通知を可能にするため、非常に便利な設定です。 ビジネスホストがアイドル状態である場合、プロダクション、統合、またはネットワーク接続に調べる価値のある問題がある可能性があります。 ただし、ビジネスホストには一定時間の非活動タイムアウトを 1 つしか設定できないため、夜間、週末、休日などのトラフィックの少ない既知の期間中に不要なアラートを生成する可能性があります。 この記事では、動的な非活動タイムアウトを実装するためのいくつかのアプローチを説明します。 機能する例(現在ある顧客サイトの本番環境で実行しているもの)を紹介していはいますが、この記事は独自の動的な非活動タイムアウトの実装を構築するためのガイドラインを紹介することを目的としているため、ここに提案するソリューションを唯一の代替手法と見なさないようにしてください。 #監視 #相互運用性 #継続的インテグレーション #継続的デリバリー #InterSystems IRIS Open Exchange app 0 0 0 28
記事 Toshihiko Minamoto · 2024年10月14日 16m read GitLab を使用した InterSystems ソリューションの継続的デリバリー - パート XI: 相互運用性 CI/CD シリーズの新しい章へようこそ。ここでは、InterSystems テクノロジーと GitLab を使用したソフトウェア開発の様々な可能なアプローチを取り上げています。 今回は、相互運用性についてご紹介しましょう。 問題 アクティブな相互運用性プロダクションがある場合、2 つの個別のプロセスフローが存在します。メッセージを処理する稼動中のプロダクションと、コード、プロダクションの構成、およびシステムデフォルト設定を更新する CI/CD プロセスフローです。 明らかに、CI/CD プロセスは相互運用性に影響しますが、 本題は次にあります。 更新中には実際に何が起きているのか? 更新中の本番停止を最小限に抑えるか失くしてしまうには、どうすればよいのか? #Git #ビジネスプロセス(BPL) #相互運用性 #継続的インテグレーション #継続的デリバリー #InterSystems IRIS 1 0 0 32
記事 Toshihiko Minamoto · 2024年10月8日 9m read GitLab を使用した InterSystems ソリューションの継続的デリバリー - パート X: コード以外の話 約 4 年のギャップを経て、私の CI/CD シリーズが帰ってきました! 長年にわたり、InterSystems の数社のお客様と連携し、様々なユースケースに対応する CI/CD パイプラインを開発してきました。 この記事で紹介する情報が誰かのお役に立てられれば幸いです。 この連載記事では、InterSystems テクノロジーと GitLab を使用したソフトウェア開発の様々な可能なアプローチを取り上げています。 取り上げたいトピックは広範にありますが、今回は、コードを超えた内容についてお話ししましょう。構成とデータについてです。 #継続的デリバリー #InterSystems IRIS 1 0 0 48
お知らせ Toshihiko Minamoto · 2024年9月12日 共有開発環境でGITを使用する Git を使用してIRIS でソリューションを構築することは、素晴らしいことです! 単にローカルの git リポジトリにVSCodeを使用し、サーバーに変更をプッシュする... それは非常に簡単です。 でも、次の場合はどうでしょうか。 #Git #GitHub #InterSystems Package Manager (IPM) #ObjectScript #VSCode #オープンソース #ベストプラクティス #相互運用性 #InterSystems IRIS #InterSystems IRIS for Health Open Exchange app 1 0 0 89
記事 Toshihiko Minamoto · 2024年8月16日 12m read VSCode を使った ObjectScript コードのデバッグ Visual Studio Code(VSCode)は、市場で最も一般的なコードエディターです。 Microsoft によって制作され、無料 IDE として配布されています。 VSCode は ObjectScript などの多数のプログラミング言語をサポートしており、2018 年までは Atelier(Eclipse ベース)もサポートしていました。 InterSystems 製品開発の主なオプションの 1 つとして考えられていましたが、 2018 年、InterSystems 開発者コミュニティが VSCode のサポートを発表した際に、関連する InterSystems のプロユーザーらが実際にこのエディターを使用し始め、以来、特に新しいテクノロジー(Docker、Kubernetes、NodeJS、Angular、React、DevOps、GitLab など)を使用する開発者の間でその使用が続いています。 VSCode の一番の機能の中にはデバッグ機能が挙げられます。 そこで、この記事では、クラスコードや %CSP.REST コードなどの ObjectScript コードをデバッグする方法を詳しく紹介します。 #VSCode #デバッグ #ベストプラクティス #InterSystems IRIS 2 0 1 144
お知らせ Toshihiko Minamoto · 2024年8月13日 InterSystems Testing Manager - %UnitTest フレームワーク用の新しい VS Code 拡張機能 %UnitTest framework を使用してユニットテストを構築したことがある場合、またはこれから構築しようとお考えの場合は、InterSystems Testing Manager をご覧ください。 VS Code を離れることなく、ユニットテストの閲覧、実行またはデバッグ、過去の実行結果の表示が可能になりました。 #VSCode #ツール #テスト #Caché #InterSystems IRIS #InterSystems アイデアポータル Open Exchange app 0 0 0 39
記事 Toshihiko Minamoto · 2024年8月6日 7m read Auth0 と InterSystems IRIS FHIR サーバーを使った SMART On FHIR アプリケーションの開発 - 構成編 前回の記事でSMART On FHIRプロジェクトのアーキテクチャを紹介したので、いよいよ本題に入り、必要となる全ての要素の設定を始めましょう。 まずはAuth0から始めます。 Auth0の設定 登録が完了したら、左側のメニューから最初のアプリケーションを作成します この例では、Angular 16で開発されたアプリケーションなので、Single Page Web Applicationタイプとなります。このオプションを選択し、Createをクリックします。 #Angular #FHIR #OAuth2 #InterSystems IRIS for Health Open Exchange app 0 0 0 30
ディスカッション Toshihiko Minamoto · 2024年7月26日 Developer Community AI がどのように役に立ったかをシェアして賞品をゲットしよう! コミュニティの皆さんこんにちは! ご存知かもしれませんが、Developer Community AIがリリースされて1ヶ月以上が経ちました🎉 興味を持たれた方は、ぜひ試してみてください😁 まだの方は、ぜひお試しください!いずれにせよ、まだベータ版であるため、私たちは皆さんがこのAIについてどのように考えているかを知りたいと思っています。 皆さんの時間と労力を大切にしているので、感想をシェアしてくれたメンバーに、抽選でキュートな賞品をプレゼントします。この懸賞に参加するには、以下のガイドラインに従ってください。 #Artificial Intelligence (AI) #開発者コミュニティ公式 2 3 0 79
記事 Toshihiko Minamoto · 2024年7月16日 12m read InterSystems IRIS BI の KPIとしてPandasを用いる Pandas は単に人気のあるソフトウェアライブラリだけではありません。 これは、Python データ分析環境の基礎でもあります。 その単純さとパワーで知られており、データの準備と分析の複雑さをより扱いやすい形態に変換する上で不可欠な多様なデータ構造と関数が備わっています。 これは、主要なデータ管理および分析ソリューションである InterSystems IRIS プラットフォームのフレームワーク内で、主要評価指標(KPI)やレポート作成用の ObjectScript などの特殊な環境に特に関連しています。 データの処理と分析の分野において、Pandas はいくつかの理由により際立っています。 この記事では、それらの側面を詳細に探ります。 データ分析における Pandas の主なメリット: ここでは、Pandas を使用する様々なメリットについて深く掘り下げます。 直感的な構文、大規模なデータセットの効率的な処理、および異なるデータ形式のシームレスな操作などが含まれます。 Pandas を既存のデータ分析ワークフローに統合する容易さも、生産性と効率を強化する大きな要因です。 #Embedded Python #Python #SQL #InterSystems IRIS BI (DeepSee) 1 0 0 70
記事 Toshihiko Minamoto · 2024年6月26日 8m read ベクトル化の(ほぼ)サポート 近頃、LLM や AI などに関する話題で非常ににぎわっています。 ベクトルデータベースもそれなりに関わっており、IRIS 以外では、世界中で多様なサポートがすでに実現されています。 なぜベクトルなのでしょうか? 類似検索: ベクトルでは、データベース内で最も類似する項目やドキュメントを検索するなど、効率的な類似検索が可能です。 従来のリレーショナルデータベースは完全一致検索向けに設計されているため、画像やテキストの類似検索といったタスクには向いていません。 柔軟性: ベクトル表現には汎用性があり、テキスト(Word2Vec、BERT などの埋め込み経由)や画像(ディープラーニングモデル経由)などの様々なデータタイプから導き出すことができます。 クロスモーダル検索: ベクトルでは、様々なデータモダリティでの検索が可能です。 たとえば、画像のベクトル表現を基に、マルチモーダルデータベースで類似する画像や関連するテキストを検索できます。 理由は他にも多数あります。 そこで、この Python コンテストでは、このサポートを実装してみることにしました。 残念ながら時間内に完成させることはできませんでしたが、その理由を以下で説明します。 #Embedded Python #SQL #InterSystems IRIS Open Exchange app 1 0 0 97
記事 Toshihiko Minamoto · 2024年6月14日 5m read Windows の書き込みキャッシュ (この記事は 2021 年 2 月にレビューされたものです。現在でも Caché ベースのインストールに関連性があり、同様に IRIS ベースのインストールに適用されます。) この記事では、停電やオペレーティングシステムのクラッシュが発生した場合にシステムをデータ損失または破損の危険にさらす可能性のある Windows の書き込みキャッシュ設定について説明しています。この設定は一部の Windows 構成においてデフォルトでオンになっています。 #システム管理 #DCフィードバック 0 0 0 172
記事 Toshihiko Minamoto · 2024年6月12日 4m read Auth0 と InterSystems IRIS FHIR サーバーを使った SMART On FHIR アプリケーションの開発 - 入門編 はじめに 先日、@Patrick Jamieson が開催した素晴らしいハンズオンに参加してきました。そこでは、SMART On FHIR が定義したプロトコルに従って Angular アプリケーションを IRIS FHIR サーバーとともに構成したセッションでした。非常に深い興味を得たため、独自に Andular アプリケーションを開発し、そこから学んだことを活用してコミュニティに共有することにしました。 SMART On FHIR SMART On FHIR について Google ではどのように説明しているのか見てみましょう。 SMART On FHIR は電子健康記録(EHR)システムの情報にアプリケーションがアクセスできるようにするためのデータ規格です。 アプリケーション開発者は、その規格を採用した EHR システムに接続する単一のアプリケーションを作成できます。 #Angular #FHIR #OAuth2 #InterSystems IRIS for Health Open Exchange app 0 0 0 66
記事 Toshihiko Minamoto · 2024年5月28日 6m read FHIR アダプターを使ってレガシーシステムに FHIR サービスを提供 - リソースの投稿編 前回の記事では特定の HIS のデータベースに格納されたリソースを取得する方法を確認したので、今回は、HIS に、システムで受け取る FHIR リソースを起点とする新しいレコードを追加する方法を説明します。 FHIR の CRUD 操作 FHIR の主な機能の 1 つに、Rest API による CRUD 操作のサポートがあります。つまり、FHIR と連携するすべてのシステムには、GET、POST、PUT、および DELETE タイプの HTTP 呼び出しがサポートされていなければなりません。 この記事では、FHIR アダプターをインストールした際に自動的に構成されたエンドポイントへの POST 呼び出しを処理する方法を見てみましょう。 FHIR のリソースストレージ呼び出しに関する仕様を確認すると、呼び出しに使用する URL は、以下のフォーマットを使用している必要があります。 http(s)://server_url/{endpoint}/{Resource} この記事の例では、セキュリティで保護された呼び出しは行わないため、以下のような URL になります。 #FHIR #ベストプラクティス #InterSystems IRIS for Health Open Exchange app 0 0 0 73