RAGを利用して国会会議録に基づいて質問に回答するLLMを作る方法
はじめに # こんにちは。デジタル戦略支援事業部の藤堂です。普段はデータ分析の業務に従事し、AI TECHチームでも活動をしています。 昨年末のChatGPTの登場以降、大規模言語モデル(LLM)の可能性が広く認識されるようになりました。これらのモデルは、インターネット上の膨大な情報を学習する能力を持っていますが、法律、医療などの専門的知識や、特定の企業や個人に関連する独自の情報には疎いのが現状です...
記事を読むOrbStack 1.0 付属の Kubernetes を試す
OrbStack 1.0 リリース # 6月の記事「OrbStack - macOS 専用の高速軽量なコンテナ & Linux VM 環境」で紹介した OrbStack ですが、1.0 がリリースされました。 OrbStack 1.0: Fast, light, easy way to run Docker containers and Linux --> Information価格も判明しました...
記事を読むSpring Expression Language(SpEL)ではできないことに抗ってみた~ラムダ式書きたい!複数ステップ書きたい!
背景 # Spring Expression Language(SpEL)とは # Spring Expression Language(以降は省略して「SpEL」と記載します)は、Spring Framework基盤を担う強力な式言語です。文字列テンプレートとしても機能します。Spring Frameworkを採用しているプロジェクトでは、何かしらかの形で触れる機会があるのではと思います...
記事を読むDeno 1.37 でリリースされた Jupyter Notebook の Deno カーネルを使う
はじめに # Deno 1.37 がリリースされました。このリリースの目玉は Jupyter Notebook の Deno カーネルでしょう。 Deno 1.37: Modern JavaScript in Jupyter Notebooks Jupyter Notebook で Deno をインタラクティブに利用することができます。 準備 # JupyterLab を事前にインストールします...
記事を読むAWSとGitHubを使ってみよう勉強会の資料公開します
筆者は日頃はとあるお客様の基幹システムを構築していますが、基幹システムは安定第一となるため、モダンな技術とは少し縁遠くなってしまいがちです。ただそれではダメだよねということで完全業務外の活動として「モダン」をテーマに毎年お客様と一緒に勉強会を行っています...
記事を読むStep CI をアプリケーション開発に適用してみた流れを紹介
はじめに # 小規模なアプリケーションを開発する機会があったので、以前、ココで紹介したStep CIを実際に適用してみたので、一例としてその流れを紹介します。 ※アプリケーションのスペックやコードはイメージを付けて頂きやすいように本書用に書き起こしたもので実際のものとは異なります。 アプリケーションスペック # 今回、適用したアプリケーションの概要は以下の通りです...
記事を読むAWS LambdaでAWS AppConfigのフィーチャーフラグを使う
アプリケーションの機能リリースでフィーチャーフラグ(またはフィーチャートグル)を使うことは結構多いかと思います。 このフィーチャーフラグの実装方法としては、単純に環境変数やパラメータで指定するものから専用のマネージドサービスを使うものまで幅広い選択肢があります。 AWSでもAWS Systems ManagerのAWS AppConfig(以下AppConfig)がこれを提供しています...
記事を読むGit BashとWSL2のプロンプトを揃えて気持ちよくする
Git BashとWSL2+Ubuntuの記事が続いたので筆者もその流れに乗ってGit BashとWSL2のTipsネタを紹介します。 たかがプロンプト、されどプロンプト # 筆者も日頃Windows TerminalのGit BashとWSL2上のUbuntuを良く使っています。WSLに入るときは使い慣れたGit Bashからwslコマンドを叩いてWSLに入るのですが、WSLに入ると当たり前ですがプロンプトはUbuntuの環境のものに替わります...
記事を読む対戦型ロボットゲームで楽しくJavaプログラミング学習「Robocode」(その1:準備編)
かなり昔、Javaのプログラミング教材として「Robocode」というオープンソースソフトウェアが公開されました。(Wikipediaによると初版は2001年に公開されているとのこと。もう20年以上も前ですね) 一時期はほとんど更新が止まっていたのですが、最近になって最新版が公開されていることを発見しました。 つい懐かしくなってダウンロードして遊んでみました。 Robocode とは # Robocode は、対戦型のロボットシミュレーションゲームです...
記事を読むWSL2上にUbuntu-22.04LTSを導入し、Dockerをインストールしようとしたら、いろいろとハマった件
仕事で Ubuntu + Docker を使うシーンが出てきて環境を構築したので、備忘録を兼ねて環境構築方法を記録しておこうと思います。 これまで何度も Ubuntu + Docker 環境を作ってきましたが、Windowsの WSL(Windows Subsystem for Linux)で Ubuntu + Docker 環境を構築するのは初だったので思った以上にハマってしまいました。 WSLのバージョン、Ubuntuのバージョンによって難易度が左右されることを思い知らされました...
記事を読むWindows Terminal で Git Bash を快適に使う
はじめに # 皆さんは Windows で Linux 系の CLI を使いたい場合、どういうツールを使っていますか? もちろん本物の Linux や macOS などを使えればいいのですが、作業用マシンが Windows 固定というケースもあり、何らかの環境が必要です。 Windows には WSL2 という Linux のための仮想環境があり、ネィティブに近い Linux の開発環境を構築できます...
記事を読むオンライン研修の設計勘所(その3:学習の見える化)
はじめに # 半年ほど空いてしまいましたが前回は学びを促進するストーリー展開に関して記載いたしました。 オンライン研修の設計勘所(その2:学びを促進するストーリー展開) 今回は「学習の見える化」について記載いたします。 オンライン研修になって、講師や受講生から以下のような声を聞いたことはないでしょうか...
記事を読むGoogle Apps ScriptのOIDCトークンを使ったAWSアクセス
庄司です。 6月28日に「Google Apps ScriptからAWSにアクセスするための署名の実装」という記事を公開しました。この記事で Google Apps Script で SigV4 による AWS へのアクセス方法を解説しました。 本記事では、Google で発行される OIDC トークンを使って一時的な認証情報を取得するコードを説明します...
記事を読むTerraformでのAmazon Aurora PostgreSQLのメジャーバージョンアップ手順
営業支援システム(Sales Support System)で実施したAmazon Aurora PostgreSQLのメジャーバージョンアップ手順について紹介します。 前提事項 # ここで紹介する手順では以下のことを前提としています...
記事を読むBlocklyによるビジュアルプログラミングの紹介
教育の現場ではプログラミング教育が必修となりましたが、プログラミング言語も日本語や英語と同じ言語ですので文法や単語を覚える必要があります。また、プログラミングが難しいと思われる原因の1つにキーボードでのキー入力があるかと思います。 ビジュアルプログラミング環境としてBlocklyが注目されています。 Blocklyはプログラムがテキストではなくブロックとして表現されています。極力キー入力せずにマウス操作でブロックを選択し、組み合わせることで直感的にプログラムロジックを構築できます...
記事を読む「スクラムの拡張による組織づくり」
こんにちは、庄司です。 7月に1回、8月にうっかりもう1回の合計2回、アマゾンで予約していた「スクラムの拡張による組織づくり」が届きました。つまり、2冊です (笑)。1冊は保管用にします。 スクラムは開発者、プロダクトオーナー、スクラムマスターが一体となって開発を進めます。コミュニケーションの複雑さを減らすために、チームは2枚のピザを分け合える程度の人数で構成することが良いとされています...
記事を読むHomebrew で導入した ZooKeeper の admin port を変更する方法
はじめに # ZooKeeper は分散システムにおいて構成情報の維持、同期処理、ネーミング、グルーピングなどのサービスを提供するソフトウェアです。 Apache ZooKeeper --> Informationネーミングの由来は Zoo (動物園)に由来しています。分散システムの調整は動物園を維持管理するように大変なタスクという意味なのでしょうか...
記事を読むAmazon Comprehend はアンケート分析に使えるのか試してみた
はじめに # こんにちは。教育グループの高です。ようやく新人研修も終わりましたので、久しぶりに記事を書いてみたいと思います。 今回は、アンケート集計に関するお話です。新人研修に限らず研修を実施した際、受講者のみなさまにはアンケートにご回答頂いています。私はざっくり以下の手順で、自由記述のアンケート集計、分析していました...
記事を読む業務システムにおけるアジャイル その1:「システム」の範囲
はじめに # 中佐藤です。アジャイルの中でもマイナー領域を攻めることにかけては割と自信があります。 そもそも私がアジャイル関連の仕事を始めた2008年頃には、アジャイルそのものがマイナーだったのです。いつの間にかすっかりメジャーになってしまいましたが。というわけで、アジャイル開発の話の中でも範囲をぐっと狭めて「業務システムにおけるアジャイル」について、連載を始めようかなと思います。 業務システムとは # 上の文章で、ん?と思われた方はいると思います...
記事を読むイベント駆動アーキテクチャ時代の非同期 API 業界標準 AsyncAPI とそのエコシステム
はじめに # イベント駆動アーキテクチャ(Event-Driven-Architectures: EDA)について耳にする機会が増えてきました。EDA ではマイクロサービス間で同期的な通信を行うのではなく、イベントをトリガーとした非同期的な通信を行います。これによりスケーラブルで応答性の高いシステムが構築できる、IoT などの多数のイベントソースからの情報をリアルタイムに処理できるなどのメリットがあります...
記事を読む