Upgrade to Pro — share decks privately, control downloads, hide ads and more …

HCL Domino 14.5 EAP2 Domino IQ について

HCL Domino 14.5 EAP2 Domino IQ について

本資料は 2025/2/13 開催の第71回「のの会」で使用したスライドです。

HCL Domino の次期バージョンである 14.5 のベータ版(Early Access Program : EAP)の Drop 2 に搭載された機能「Domino IQ」について触れています。

Haruyuki Nakano

February 20, 2025
Tweet

More Decks by Haruyuki Nakano

Other Decks in Education

Transcript

  1. HCL Domino 14.5 EAP2 Domino IQ とは 2025/02/13 第71回 のの会

    中野晴幸 Haruyuki Nakano harunakano.blogspot.com (blog) @harunakano (X twitter)
  2. EAP2 とは • HCL Notes/Domino の次期バージョンのベータ版を Early Access Program (EAP)として有効なライセンスの保持者が試

    用できる • バージョン 14.5 の EAP は Drop1 から Drop3 まで3回(4回か も?)のリリースが予定されている • EAP2 は2回目にリリースされた Drop2 を指す
  3. Domino IQ とは ※EAP2版 • Domino 14.5 に導入予定のAI推論エンジン • 新しい

    LotusScript クラスを使い Domino 環境内で安全に生成 AI クエリを Domino サーバーに送信し、サーバーから応答を取 得できる • Linux と Windows の Domino サーバーでサポートされる https://help.hcl-software.com/domino/14.5.0/admin/wn_145ea2_domino_iq.html
  4. AI クエリーをローカルで処理する Domino IQ サーバーは Database Server プロセスから推論エン ジンを起動する。AI エンジンはローカルで実行され、設定され

    たポートを Domino サーバーのコアプロセスとともにリッスン し、Domino サーバー内で AI クエリーをローカルで処理する。
  5. 入手可能な Domino IQ 情報 ※EAP2版 • Domino 14.5 EA2 ウェビナー録画

    https://youtu.be/kgtKJ6e7-U8 (28分15秒あたりから) • Domino 14.5 EA2 ウェビナースライド資料 https://support.hcl- software.com/sys_attachment.do?sys_id=233a2af93bfada98cb0155f726e45 aa7 • Domino 14.5 EA2 ウェビナーQ&A https://support.hcl- software.com/sys_attachment.do?sys_id=de5ffcfafbcb9254db10f2797befdc 81
  6. 入手可能な Domino IQ 情報 ※EAP2版 • Domino 14.5 EAP forum

    https://hclsw.co/domino-14-5-eap-forum 「タグ別」を選択したら、 タグのリストから ”Domino IQ” または “DominoIQ” をクリックしてトピックを 絞り込みます
  7. 用意するもの • 少なくとも16GBのRAMと4つのCPU ※記載場所により違いあり ➢Intel i7 または i9 12世代 or

    13世代、Drop2ではGPU非サポート ➢必要なスペックは使用する大規模言語モデルのパラメータにより変化 • 大規模言語モデル(LLM)として知られる事前に訓練されたデータモ デル ➢GGUFバイナリ形式のファイルをダウンロードしDominoデータディレクトリ に格納 • APIキー ➢Domino IQ へのアクセスに使用 • ドミノディレクトリの新しい設計 ➢ディレクトリプロフィールに Domino IQ サーバーを選択する設定あり • dominoiq.nsf ➢モデルに関する情報の共有に使用
  8. 用意するもの(1) • 少なくとも16GBのRAMと4つのCPU ※記載場所により違いあり ➢Intel i7 または i9 12世代 or

    13世代、Drop2ではGPU非サポート ➢必要なスペックは使用する大規模言語モデルのパラメータにより変化 • 大規模言語モデル(LLM)として知られる事前に訓練されたデータモ デル ➢GGUFバイナリ形式のファイルをダウンロードしDominoデータディレクトリ に格納 • APIキー ➢Domino IQ へのアクセスに使用 • ドミノディレクトリの新しい設計 ➢ディレクトリプロフィールに Domino IQ サーバーを選択する設定あり • dominoiq.nsf ➢モデルに関する情報の共有に使用
  9. 【参考】デモ環境のハードウェア • ホスト • CPU: 13世代 Intel Core i7-1360P 2.20

    GHz(論理プロセッサ数:16) • RAM: 32.0GB • OS: Windows 11 Pro 24H2 • ゲスト (Hyper-V仮想マシン内の Domino IQ) • CPU: 8個の仮想プロセッサ • RAM: 16GB • OS: Windows Server 2022 Standard Evaluation 21H2
  10. 用意するもの(2) • 少なくとも16GBのRAMと4つのCPU ※記載場所により違いあり ➢Intel i7 または i9 12世代 or

    13世代、Drop2ではGPU非サポート ➢必要なスペックは使用する大規模言語モデルのパラメータにより変化 • 大規模言語モデル(LLM)として知られる事前に訓練されたデータモ デル ➢GGUFバイナリ形式のファイルをダウンロードしDominoデータディレクトリ に格納 • APIキー ➢Domino IQ へのアクセスに使用 • ドミノディレクトリの新しい設計 ➢ディレクトリプロフィールに Domino IQ サーバーを選択する設定あり • dominoiq.nsf ➢モデルに関する情報の共有に使用 【参考】Quick start -- Domino IQ from my first installations https://registration.hclpartnerconnect.com/domino145forum.nsf/topicThread.xsp?documentId=3252
  11. LLM(モデル)のダウンロード https://huggingface.co/lmstudio-community/Llama-3.2-3B- Instruct-GGUF コマンドプロンプトから以下を実行 Huggingface(ハギングフェイス)は AI モデルやデータセットを共有・ 利用することを目的としたプラットフォーム 研究者や開発者が作成した AI

    モデルやデータセットを公開し、他の ユーザーがそれらを利用して研究や開発を進めることができます mkdir c:\domino\data\llm_models cd c:\domino\data\llm_models curl -LO https://huggingface.co/lmstudio-community/Llama-3.2-3B-Instruct-GGUF/resolve/main/Llama-3.2-3B-Instruct-Q3_K_L.gguf Dominoデータディレクトリに llm_models サブディレクトリを作成し GGUF形式のファイルをハギングフェイスからダウンロードして格納
  12. 用意するもの(3) • 少なくとも16GBのRAMと4つのCPU ※記載場所により違いあり ➢Intel i7 または i9 12世代 or

    13世代、Drop2ではGPU非サポート ➢必要なスペックは使用する大規模言語モデルのパラメータにより変化 • 大規模言語モデル(LLM)として知られる事前に訓練されたデータモ デル ➢GGUFバイナリ形式のファイルをダウンロードしDominoデータディレクトリ に格納 • APIキー ➢Domino IQ へのアクセスに使用 • ドミノディレクトリの新しい設計 ➢ディレクトリプロフィールに Domino IQ サーバーを選択する設定あり • dominoiq.nsf ➢モデルに関する情報の共有に使用 【参考】Quick start -- Domino IQ from my first installations https://registration.hclpartnerconnect.com/domino145forum.nsf/topicThread.xsp?documentId=3252
  13. APIキー • APIキーは自分で決めるものです。これは LLAMA サーバを保護するためのものです。キーは起動 時にサーバに渡され、Domino から LLAMA コンポーネントへの全てのリクエストは Bearer

    トー クンを介してキーを認証に使用します。 • キーを生成する簡単な方法は以下のようなものです: 1. この式をテキストフィールドへ入力する 式: X:=“mysecretstring”; Y:=“anothersecretstring”; @ReplaceSubstring(@password (X)+@password (Y)+@password (X+Y); “(“: ”)”; ””) 2. X と Y に代入する文字列を変更する 3. Shift + F9 を押して関数を評価する ※もちろん他の API キーを選ぶこともできます
  14. 用意するもの(4) • 少なくとも16GBのRAMと4つのCPU ※記載場所により違いあり ➢Intel i7 または i9 12世代 or

    13世代、Drop2ではGPU非サポート ➢必要なスペックは使用する大規模言語モデルのパラメータにより変化 • 大規模言語モデル(LLM)として知られる事前に訓練されたデータモ デル ➢GGUFバイナリ形式のファイルをダウンロードしDominoデータディレクトリ に格納 • APIキー ➢Domino IQ へのアクセスに使用 • ドミノディレクトリの新しい設計 ➢ディレクトリプロフィールに Domino IQ サーバーを選択する設定あり • dominoiq.nsf ➢モデルに関する情報の共有に使用 【参考】Configuring Domino IQ servers https://help.hcl-software.com/domino/14.5.0/admin/conf_config_dom_iq_server.html
  15. 用意するもの(5) • 少なくとも16GBのRAMと4つのCPU ※記載場所により違いあり ➢Intel i7 または i9 12世代 or

    13世代、Drop2ではGPU非サポート ➢必要なスペックは使用する大規模言語モデルのパラメータにより変化 • 大規模言語モデル(LLM)として知られる事前に訓練されたデータモ デル ➢GGUFバイナリ形式のファイルをダウンロードしDominoデータディレクトリ に格納 • APIキー ➢Domino IQ へのアクセスに使用 • ドミノディレクトリの新しい設計 ➢ディレクトリプロフィールに Domino IQ サーバーを選択する設定あり • dominoiq.nsf ➢モデルに関する情報の共有に使用 【参考】Configuring the Domino IQ database https://help.hcl-software.com/domino/14.5.0/admin/conf_confiig_domino_iq_db.html
  16. サンプルコード(1) Sub Initialize Dim ws As New NotesUIWorkspace Dim doc

    As NotesDocument Dim bodyText$ Set doc = ws.Currentdocument.Document bodyText = doc.Getfirstitem("Body").Text DominoIQRequest "TranslationJPtoEN", bodyText End Sub 開いている文書の Body フィールドにあるテキスト抽出して Domino IQ に日本語への翻訳を指示するコマンドへテキストを渡す
  17. サンプルコード(2) Sub DominoIQRequest(szCommand As String, szQuery As String) Dim session

    As New NotesSession Dim db As NotesDatabase Dim llmreq As NotesLLMRequest Dim llmres As NotesLLMResponse Set db = session.CurrentDatabase Set llmreq = session.CreateLLMRequest() Set llmres = llmreq.Completion (db.server, szCommand, szQuery) If (llmres Is Nothing) Then MessageBox "Error: No NotesLLMResponse“ Else If (llmres.FinishReason = LLM_FINISH_REASON_STOP) Then MessageBox "Content(" + llmres.Role + "): " + llmres.Content End If End If End Sub 【NotesLLMRequest クラスの Completion メソッド】 Domino IQ サーバーで稼働する大規模言語モデル(LLM) にチャット完了要求を送信する 【NotesLLMResponse クラスの Content プロパティ】 LLM によって生成された応答メッセージ 【NotesLLMResponse クラスの Role プロパティ】 リクエストを送信するロール (system、user、またはassistant) メッセージに関連 付けられたロール。通常、NotesLLMRequest.completion メソッドによって生成 された場合は「assistant」になります。値は、使用されている LLM に基づいて異 なる場合があります。
  18. EAP2版 Domino IQ まとめ • Domino IQ への呼び出しはNRPCを経由 ➢開発者はHTTP URLや認証情報を意識しない

    • Dominoiq.nsfに登録したコマンドを使用 実装の簡素化を目指している?
  19. 今後に期待しましょう! • Domino はトレーニング済みの LLM を稼働させるのみ ➢現状 LLM のトレーニングは考慮されていない ➢LLM

    は Domino 専用のトレーニングを行っていない。そのため、必要 に応じて自動で AdminP へ要求させたりDominoコンソールへコマン ド投入させて、サマリーした結果を返す、といった事は現状困難 • LLM への要求はテキスト、レスポンスもテキストで得る ➢データベースやビュー、文書のオブジェクトを要求に渡せない。