社員ブログ

Bedrockを使用してRAGを行う

ズィスト2024年4月15日 - 17:11 に投稿

RAGはRetrieval-Augmented Generationの略で外部の知識ベース(ドキュメント等)を検索してそのドキュメントを元にLLMで回答を生成するというものである。

今回はOpenSearchの構築、Amazon Bedrockの知識ベースの構築、文書をOpenSearchに取り込む方法を紹介する。 ドキュメントをOpensearchやS3などの知識ベースに取り込むデータパイプラインを構築し、質問を受けたときに検索できるようにする。

BedrockでQAタスクを実行する

ズィスト2024年4月11日 - 17:11 に投稿

タグ

QAを実行する方法を紹介する。 今回は特定の車種のタイヤの交換方法を答えるQAを作成する。

モデルは知識ベースのデータに対してクエリを実行して正確な情報を含む応答を生成する。 生成AIモデルは確率分布を使用して質問に対する応答を生成する。モデルは膨大なテキストデータでトレーニングされているため、シーケンスや単語の次に何が続くかを予測できる。 ただし、モデルには確実性がないためすべての質問に対して正確な答えを返すことはできない。

プロンプトに知識ベースを追加することで正確な答えを返すことができるようになる。 この方法は短い知識ベースでで機能するが、知識ベースが長い場合は使用できない可能性がある。

シナリオ

以下の順番でモデルに対して質問を行う。

Drupal の翻訳システムをJavaScript にも適用してみた

トビウオ2024年3月29日 - 13:38 に投稿

概要

Drupal は多言語対応 CMS の一つです。つまり、URL・ユーザーアカウント・ドメインなど、様々な条件をトリガーに、Web ページ単位もしくはフィールド単位で翻訳することができます。公式サイトでも説明されているように、必要なモジュールをインストールし (有効にし)、言語設定から対応させたい言語を有効にすれば、その言語向けのコンテンツを作成できるようになります。


しかしそれだけだと、PHP などで動的に生成されたページに対応できません。そのため、動的生成に関連した一部の言語向けに、Drupalの翻訳システムを利用するための関数が提供されています。

AWS CDKを用いてDrupalサイトを自動でデプロイしてみた

トビウオ2024年3月28日 - 14:58 に投稿

紹介記事のタイトル:AWS CDKを用いてDrupalサイトを自動でデプロイしてみた

概要

ご存じの方も多いと思いますが、AWS (Amazon Web Services) は世界的なクラウドサービスの一つです。提供するサービスの内容をザックリ言うと「インフラ」…… 仮想マシン、仮想ネットワーク、データベース、ストレージなど。IT 環境構築に必要なリソース (クラウドリソース) を、オンライン経由でスピーディーに調達することができます。

ここで興味深いのは、この「調達」操作について、主に2種類の手段が存在することです。

AWS SAM CLIを用いてREST APIを作成してみた

トビウオ2024年3月4日 - 12:11 に投稿

概要

AWS SAM (AWS Serverless Application Model) とは、サーバーを意識せずに構築する Web API ……いわゆる「サーバーレスアプリケーション」を簡単に作成するためのツールキットです。

公式ドキュメントにおけるサンプルでは、 Amazon API Gateway を介して AWS Lambda function をキックし、 AWS Lambda function は Amazon DynamoDB と連携……といった構成も簡単に書けることが示されています。

カバレッジの上げ方

MAXIMUM2024年2月15日 - 18:44 に投稿

タグ

JUnitテストケースを作成したけれど、カバレッジを上げたい!となった時のひとつの例を上げる

例えば、以下のような正常系のテストケースがあったとする

// 正常系のテスト
@Test
public void testAddition() {
    Calculator calculator = new Calculator();
    int result = calculator.add(2, 3);
    assertEquals(5, result);
}

Keycloakでキャッシュをリモートストアを設定する方法

おじさん2024年2月7日 - 18:13 に投稿

概要:

このページは、Keycloakのキャッシュを外部のInfinispanに保持させる設定が動いたので、それをまとめたものです。
DockerでKeycloakとInfinispanサーバを立てて、Keycloakのsessionsキャッシュをリモートストアに設定し、
Infinispanサーバにキャッシュが生成されるところまでを確認する方法を紹介します。
前提として、Docker Desktopがインストール済みである必要があります。

Prometheusの導入方法

おじさん2024年2月6日 - 15:56 に投稿

概要:

この記事は、Prometheusを導入する手順をまとめたものです。
JMX Exporterを使用して、JavaのプログラムとKeycloakが使用しているJVM関連のメトリクスを取得して表示する方法を紹介します。
前提として、KeycloakとJavaがインストール済みである必要があります。