Taste of Tech Topics

https://acro-engineer.hatenablog.com/

Acroquest Technology株式会社のエンジニアが書く技術ブログ

フィード

記事のアイキャッチ画像
2024年アドベントカレンダー振り返り、今年は生成AIと検索が大反響
Taste of Tech Topics
皆さんこんにちは Acroquestのデータサイエンスチーム「YAMALEX」のチームリーダ、@tereka114です。 YAMALEXチームでは、コンペティションへの参加や自社製品開発、技術研究などに日々取り組んでいます。今年も、アドベントカレンダーとして、9つの記事を本ブログで投稿しました。 本記事では、今年の記事の傾向や、私個人が特に面白いと感じた記事を紹介します。 本ブログの今年のアドベントカレンダー記事投稿傾向 特に読んで欲しい記事3選 ElasticsearchでLIKE検索のような部分一致検索を高速に実現する方法 PDFドキュメントを画像のまま検索できるColQwen2でマルチモ…
10日前
記事のアイキャッチ画像
PDFドキュメントを画像のまま検索できるColQwen2でマルチモーダル検索を試す
Taste of Tech Topics
こんにちは。データサイエンスチームYAMALEXの@Ssk1029Takashiです。 完全に年末ですが、最後まで油断せずに年を越したいですね。このブログは、LLM・LLM活用 Advent Calendar 2024の25日目になります。 qiita.com今年は1年間RAGを扱う多くの事例に触れさせていただきましたが、どこでも難しいのが図や画像が使われているドキュメントですね。 ただのPDFであれば、pdfminerなどのライブラリを使用して文字を読み取り検索すればよいですが、画像が使われるとそう簡単にもいきません。 画像部分からはOCRを使って文字を取り出すなど、工夫が必要になります。今…
11日前
記事のアイキャッチ画像
vLLMを利用したLLM推論高速化テクニック
Taste of Tech Topics
皆さんこんにちは Acroquestのデータサイエンスチーム「YAMALEX」のチームリーダ、@tereka114です。 YAMALEXチームでは、コンペティションへの参加や自社製品開発、技術研究などに日々取り組んでいます。大規模言語モデル(通称:LLM)は近年、非常に注目される技術となりました。 ただ、7Bや13Bといった巨大モデルのパラメータは推論時間も長時間で計算時間の面からも運用が非常に難しいです。 しかし、vLLMを使えば、高速化できます。本記事では、推論をどこまで高速化できるのかを検討したいと思います。※本記事はLLM・LLM活用のAdvent Calendar 24日目の記事です…
12日前
記事のアイキャッチ画像
Difyの基本!ワークフローとノードのおさらい
Taste of Tech Topics
こんにちは、技術イベントに参加してきてアウトプット欲が高まっているハヤトです。 この記事は Dify Advent Calendar 2024 のシリーズ2、24日目の投稿です。最近も精力的にアップデートが重ねられているDifyですが、 その中心的な機能であるワークフローとノードについて改めて基本的な内容を確認していきたいと思います。実際に動作するワークフローを構築しながら説明するので、 Dify初心者の方も是非ご一読ください。 ※本記事はDifyバージョン0.13.1時点のものです。 Difyについて Difyの「ワークフロー」とは Difyワークフローの種類と使い分け ノードについて ナレ…
12日前
記事のアイキャッチ画像
Amazon Bedrock Knowledge Base の構造化データ取得はどこまで複雑なクエリに対応できるか
Taste of Tech Topics
こんにちは、機械学習チーム YAMALEX の駿です。 YAMALEX は Acroquest 社内で発足した、会社の未来の技術を創る、機械学習がメインテーマのデータサイエンスチームです。 (詳細はリンク先をご覧ください。) この記事は Amazon Bedrock Advent Calendar 2024 23日目の投稿です。 Amazon Bedrock Knowledge BaseのデータベースとしてRedshiftを指定して、構造化データを検索し、その結果を元に回答を生成することができるようになりました。 現在のところ、データベースとしてはRedshiftのみに対応しています。 Red…
13日前
記事のアイキャッチ画像
Amazon Bedrock の Tool Use(Function Calling)でプロンプトに応じて処理を振り分ける
Taste of Tech Topics
はじめに こんにちは一史です。 最高気温も10℃を下回る日も出てきて、外出する際には、マフラーをするようになりました。 皆様も体調にはお気を付けください。さて、OpenAIのChatGPTではFunction callingという会話の流れからAIが判断して関数(メソッド)を呼び出す機能がありますが、Amazon BedrockでもTool Useという機能により関数呼び出しをすることができます。 docs.aws.amazon.com今回はこのTool Useを使って、旅行プランの提案・予約を行う生成AIチャットを作ってみます。 AIエージェントで実現されるような内容ですが、ToolUse(…
16日前
記事のアイキャッチ画像
Elasticsearchのハイブリッド検索を用いて高精度なRAGを簡単に実現する
Taste of Tech Topics
こんにちは。 Acroquestのデータサイエンスチーム「YAMALEX」に所属する@shin0higuchiです😊 YAMALEXチームでは、コンペティションへの参加や自社製品開発、技術研究などに日々取り組んでいます。 はじめに 近年、生成AIの発展により、RAG(Retrieval-Augmented Generation)が注目を集めています。RAGは既存の知識ベースから関連情報を検索し、それを基に生成AIが回答を生成する手法です。本記事では、多くの企業ですでに利用されているElasticsearchを使って、シンプルなRAGシステムを構築する方法をご紹介します。 RAGの基本概念 RA…
19日前
記事のアイキャッチ画像
Amazon Bedrock Knowledge Baseのクエリフィルター自動生成で検索の精度を向上させる
Taste of Tech Topics
こんにちは、機械学習チーム YAMALEX の駿です。 YAMALEX は Acroquest 社内で発足した、会社の未来の技術を創る、機械学習がメインテーマのデータサイエンスチームです。 (詳細はリンク先をご覧ください。) この記事は Amazon Bedrock Advent Calendar 2024 17日目の投稿です。 re:Invent2024 ではたくさんの新機能が発表されて、あんなこともできるようになった、こんなことも……と興奮が止まらない日々です。 今回はそんなre:Inventで発表されたAmazon Bedrock Knowledge Baseの新機能の一つである、クエリ…
19日前
記事のアイキャッチ画像
Amazon Bedrock の新モデル Amazon Nova の精度を確認してみた
Taste of Tech Topics
はじめに 急に冬らしい寒さを感じるようになってきました。 データ分析エンジニアの木介です。Amazon Bedrock Advent Calendar 2024 シリーズ2の16日目のブログ記事になります。qiita.com今回は12月のAWS re:Invent 2024にて発表のあったAWSの最新LLMモデルAmazon Novaを触っていきたいと思います。www.aboutamazon.com はじめに 概要 Novaとは Novaで出来ること 使い方 他モデルとの比較 Amazon Nova の精度を確認してみる 1.特殊な日本語の理解 2.画像認識 3.画像生成 4.動画生成 まとめ…
20日前
記事のアイキャッチ画像
Elastic CloudでObservabilityを簡単に始める 2024年版
Taste of Tech Topics
Elastic Cloudを利用してAWSのリソース・メトリック監視/ログ監視/死活監視(Observability)を簡単に始める方法について手順ベースで紹介します。
23日前
記事のアイキャッチ画像
ElasticsearchでLIKE検索のような部分一致検索を高速に実現する方法
Taste of Tech Topics
この記事は Elastic Stack (Elasticsearch) - Qiita Advent Calendar 2024 - Qiitaの11日目の記事です。はじめまして。テクニカルコンサルタントの江見と申します。 普段はElasticsearchに関するコンサルティング業務に携わっております。業務の中で、RDB(MySQLやPostgreSQLなど)の検索機能に関する課題として、「LIKE検索の速度が遅い」という声を多くいただきます。 特に、大量のデータを扱うシステムでは、LIKE検索が原因でパフォーマンスが低下し、検索レスポンスの遅延が問題となることが少なくありません。その解決策と…
25日前
記事のアイキャッチ画像
生成AI×アプリ開発!bolt.newでフロントエンドが苦手な私でもWebアプリ開発
Taste of Tech Topics
こんにちは。バックエンドエンジニアの前田です。 最近はかなり冷え込んできて、冬が近づいてきたなと感じます。 社内では、肉まんを販売しています。 寒い日に熱々の肉まん、良いですよね。さて、今回はbolt.newを用いて、ゼロからアプリケーションを作成していきます。 (私は、フロントエンドの経験があまりなく、苦手分野なのですが・・・) 1. bolt.newとは 2. 今回作成するアプリについて 3. UIを作成する 3.1. 基本機能を実装する 3.2. 使いやすいUIにする 4. バックエンドも実装してみる 5. まとめ 1. bolt.newとは bolt.newは自然言語のみで、フルスタッ…
1ヶ月前
記事のアイキャッチ画像
Pineconeでハイブリッド検索/リランクは検索精度にどのように寄与するか?
Taste of Tech Topics
はじめに こんにちは、データ分析エンジニアの木介です。 秋も深まり、肌寒さを感じる季節となりましたが、皆様いかがお過ごしでしょうか。 今回はPineconeを使ったハイブリッド検索とリランクについて紹介していきます。 はじめに 概要 1. Pineconeとは 2. ベクトル検索とは 3. リランクとは 4. ハイブリッド検索とは Pineconeでのベクトル検索+リランクを用いた検索/ハイブリッド検索の検証 1. 検証環境 2. 検索用のインデックス作成 3. ベクトル検索+リランクを用いた検索の利用方法 4. ハイブリッド検索の利用方法 検証結果 まとめ 概要 今回は以下の形でPineco…
2ヶ月前
記事のアイキャッチ画像
MicrosoftのGraphRAG+Neo4jで簡単にKnowledge Graphを可視化する
Taste of Tech Topics
こんにちは。データサイエンティストチームYAMALEXのSsk1029Takashiです。LLMが広く使用されるようになってから、RAGに関する研究も増加し、RAGを拡張する手法の研究も多く出ました。 その中でもテキストをグラフデータとして扱いRAGの元データとする手法をGraphRAGと言います。 今回はその中の一つであるMicrosoftが提唱しているGraphRAGの手法を使っていきます。www.microsoft.comMicrosoftからはGraphRAGを使用できる実装もPythonライブラリとして発表されています。 ライブラリではグラフデータはあくまでRAGの元データとして使用…
2ヶ月前
記事のアイキャッチ画像
OpenAIのプロンプトジェネレーターで至高のプロンプトを生成する
Taste of Tech Topics
こんにちはイワツカです。 食欲の秋ということでサツマイモやキノコが美味しい季節ですね。 さて今回は、生成AIを使おうと思ってもプロンプトの書き方がよく分からず、生成AIから思ったような回答を得られない...なんて方におススメのOpenAIのプロンプトジェネレーター機能を紹介します。 1. プロンプトジェネレーターとは 使い方 2. ユースケースごとのプロンプトと結果比較 Pythonコードのリファクタリング プロンプトジェネレーターを使わない場合 プロンプトジェネレーターを使う場合 API設計 プロンプトジェネレーターを使わない場合 プロンプトジェネレーターを使う場合 ブログ作成 プロンプトジ…
2ヶ月前
記事のアイキャッチ画像
Amazon Bedrock Knowledge Base は OpenSearch にどのようなインデックスを作成するのか?
Taste of Tech Topics
こんにちは、機械学習チーム YAMALEX の駿です。 YAMALEX は Acroquest 社内で発足した、会社の未来の技術を創る、機械学習がメインテーマのデータサイエンスチームです。 (詳細はリンク先をご覧ください。) 寒くなってきたので、暖房をつけてしまいました。 今回は、Bedrock Knowledge Base のベクトルデータベースとして OpenSearch Serverless を使ったときに、 自動で作成される OpenSearch Serverless のインデックスには何が保存されるのか確認しました。 1. Bedrock Knowledge Base とは 2. O…
2ヶ月前
記事のアイキャッチ画像
Difyを安全にバージョンアップできるようにする
Taste of Tech Topics
はじめに こんにちは。10月も半ばを過ぎ、秋らしい空気が広がっていますね。 紅葉が見頃になるのが待ち遠しいです。 AWSエンジニアの小林です。さて今回は、生成AIアプリの開発プラットフォームとして注目を集めている「 Dify」を扱っていきます。 Difyには、Dify自体が提供するSaaSとは別に、Dockerを利用してセルフホストできる Community Edition があります。 本記事では、Community EditionでDify構築を行っていきます。 docker-compose.yamlを使用してアプリケーションをデプロイする際、デフォルトでデータベースもコンテナとして構築し…
3ヶ月前
記事のアイキャッチ画像
Amazon Bedrock をTeamsとノーコードで連携する
Taste of Tech Topics
はじめに 10月に入り、やっと秋らしい感じになってきました。 データ分析エンジニアの木介です。 先日、AWS Chatbotの新機能を利用して、BedrockがTeamsやSlackと簡単に連携できるようになったと発表がありました。 今回は、その内容を確認して、BedrockとTeamsを連携する方法について、説明していきます。aws.amazon.com はじめに 概要 Amazon Bedrockとは? 今回のゴール TeamsへのBedrockを使ったアプリの導入 構築環境 1. Agents for Amazon BedrockでAIエージェントを作成する 2. AWS Chatbot…
3ヶ月前
記事のアイキャッチ画像
AWS Lambda(Python)でAmazon Bedrockの出力をレスポンスストリーミング対応してみた
Taste of Tech Topics
こんにちはイワツカです。 今年の夏は、特に猛暑日が続いていたので、例年にも増して素麺を食べてました。 さて今回は、AWS Lambda(Python)でLambda Web Adapterを用いてレスポンスストリーミングする方法を試してみたので紹介します。 1. 概要 1.1 レスポンスストリーミングとは? 1.2 Lambda Web Adapterとは? 2. アプリ作成 2.1 実行環境 2.2 ディレクトリ構成 2.3 FastAPIの実装 2.4 Streamlitの実装 3. アプリを動かして見る 3.1 チャットアプリをデプロイ 3.2 Streamlitを起動する 3.3 チャ…
3ヶ月前
記事のアイキャッチ画像
データマイニングの国際学会KDD2024@スペインでは、やはりLLM関連の話題が豊富
Taste of Tech Topics
皆さんこんにちは 機械学習チームYAMALEXの@tereka114です。 YAMALEXは Acroquest 社内で発足した、会社の未来の技術を創る、機械学習がメインテーマのデータサイエンスチームです。 (詳細はリンク先をご覧ください。)KDD主催のコンペティションKDDCupで入賞したことより、昨年に引き続き、KDDに参加しましたのでそのレポートを記載させていただきます。 今年はスペイン・バルセロナでの開催だったため、ヨーロッパへ初渡航でした。楽しかったです! 会場写真※昨年のレポートはこちら acro-engineer.hatenablog.com KDD2024 KDDは正式名称、3…
3ヶ月前
記事のアイキャッチ画像
RAGの処理で、リランクとベクトル検索でできることの違いを検証/解説してみる
Taste of Tech Topics
こんにちは。テニスしすぎて日焼けがすごいSsk1029Takashiです。私は普段、生成AIを活用したRAGソリューションの開発をしているのですが、RAGでは特に検索部分の調整が重要になります。 今回はその検索の中で出てくるリランクに焦点を当てて、ベクトル検索と比較してどのような特徴があるのかというところを、検証を交えて解説していきます。 概要 RAGの検索部分では、よくベクトル検索が利用されます。 理由としては、入力が基本的に質問形式になりキーワードで入力されることが多い通常の検索よりも適している、などいくつか考えられます。ただし、実際にRAGを試してみるとわかりますが、RAGシステムではベ…
4ヶ月前
記事のアイキャッチ画像
Difyで作成した生成AIチャットをWebアプリに組み込む
Taste of Tech Topics
はじめに 9月に入って、少し涼しくなったと思ったら、また、35℃などになる暑い日が続きますね。 データ分析エンジニアとして毎日充実した時間を過ごしている木介です。 今回はGUIで簡単に生成AIアプリを作成できるDifyで作成したAIアプリを簡単にWebアプリに組込む方法について紹介しますdocs.dify.ai はじめに Difyとは? 概要 今回作成するアプリ Difyを埋め込んだWebアプリの構築方法 利用するツール 構築方法 1. DifyによるAIアプリの構築 2. StreamlitによるDifyを埋め込んだWebアプリの作成 作成したアプリの実行 まとめ Difyとは? 概要 Di…
4ヶ月前
記事のアイキャッチ画像
Dify v0.8.0でパラレル処理(並列処理)を活用したワークフローを作成する
Taste of Tech Topics
こんにちは、バックエンドエンジニアの前田です。 先日、以前自分が書いたコードのコメントが何を伝えたいのかがわからず、いかにわかりやすいコメントを書くことが大事かを身に染みて痛感しました。さて、今回はDifyのアップデートで新規追加された機能「パラレル処理(並列処理)」を触っていきます。 1. 概要 1.1. Difyとは 1.2. Dify v0.8.0の新機能について 2. アプリ作成 2.1. この記事で実現すること 2.2. パラレル処理(並列処理)を用いてLLMを呼び出す 2.3. 各LLMからの回答を比較する 3. 実際にアプリを動かしてみる 4. まとめ 1. 概要 1.1. Di…
4ヶ月前
記事のアイキャッチ画像
PythonでPDFからテキスト/表情報の抽出精度を比較してみた
Taste of Tech Topics
はじめに こんにちは。ついにジム通いを始めて四六時中筋肉痛を感じながら過ごしているイワツカです。 最近はLLM(大規模言語モデル)とRAG(検索拡張生成)を用いて企業内ドキュメントを活用する取り組みが多く見受けられます。 ドキュメントは基本PDFで保存されているため、PDFからテキストを抽出して、検索対象にすることが必要です。 そこで今回は、PythonでPDFからテキストを抽出するためのライブラリを比較して、どれが良いのか検証しました。 はじめに 概要 実装 PyMuPDF pdfplumber unstructured 比較結果 テキスト抽出 サンプル1のテキスト抽出結果 サンプル2のテキ…
4ヶ月前
記事のアイキャッチ画像
AWS App Studioで生成AIを活用した簡単ノーコードアプリ開発
Taste of Tech Topics
はじめに こんにちは。9月に入りようやく涼しさを感じられるようは日が増えてきましたね。 AWSエンジニアの小林です。2024年7月にAmazon Web Services (AWS) からプレビュー版として「AWS App Studio」がリリースされました。 このツールは、生成AIを利用したノーコード・ローコードのアプリケーション開発サービスとして注目を集めています。この記事では、「AWS App Studio」を使用して実際にアプリケーションをノーコードで作成していきます。 aws.amazon.com はじめに AWS App Studioの概要 AWS App Studioの始め方 事…
4ヶ月前
記事のアイキャッチ画像
AWS Location ServiceをCDKで構築して地図をカスタマイズしてみた
Taste of Tech Topics
こんにちは、igaです。 8月ももう終わりですが、まだまだ暑い日が続きますね。私は数年前から日傘を使うようになりましたが、晴れた日に外を歩く際、日傘があると少しだけ体感温度がましになるので、夏は日傘が手放せなくなりました。今回は、AWS Location ServiceをCDKで構築して、地図のスタイルをカスタマイズしてみました。 AWS Location Service AWS Location Serviceとは AWS Location Service(以降、Location Serviceと表記します)はAWSが提供する、地図や位置情報、移動経路などが利用できるサービスです。 aws.…
4ヶ月前
記事のアイキャッチ画像
Amazon DataZone でデータカタログを実現する
Taste of Tech Topics
はじめに こんにちは一史です。最近自動給水器を買い、ベランダで育てているバジルの水やりを自動化しました。テクノロジーは素晴らしいですね。さて、AWSにはAmazon DataZoneという組織が蓄積した膨大なデータに対して、データの発見、アクセス制御、管理を簡素化するデータ管理サービスがあります。 データドリブンが重要視される昨今、今回はDataZone上にデータカタログの作成を行ってみます。 はじめに 概要 データレイクとは データカタログとは なぜAmazon DataZoneが必要か(AWS Guleとの違い) Amazon DataZoneとは サービス概要 DataZoneのデータカ…
4ヶ月前
記事のアイキャッチ画像
Advanced RAGをAmazon Bedrock Prompt Flowsで作成する
Taste of Tech Topics
はじめに 夏本番のこの時期、皆様のご様子はいかがでしょうか。データ分析エンジニアの木介です。暑さにも負けず、毎日一歩一歩成長しています。 今回は先日紹介したPrompt Flows for Amazon Bedrockを使ったAdvanced RAGの実装方法についての紹介を行っていきます。 Prompt flowsを用いることでDifyと同じようにLLMとプロンプトを組み合わせたフローをGUIで作成でき、また、AWS上の各種サービスへ簡単に組み込むことが出来ます。aws.amazon.comacro-engineer.hatenablog.com はじめに 構築したアーキテクチャ 概要 Pr…
4ヶ月前
記事のアイキャッチ画像
Difyで複数のLLMを切り替えるチャットを実現する
Taste of Tech Topics
こんにちは、バックエンドエンジニアの前田です。 最近、南海トラフ地震の臨時情報や台風などもあったりして、自衛のための事前準備は欠かせないなと思いました。さて、今回はDifyを使って複数の大規模言語モデル(LLM)を切り替えるチャットボットを作ってみたいと思います。 なぜ、この内容をやってみようかと思ったかというと、Difyは、複数のLLMを利用できるのですが、 それらは、事前に設定を行って利用するもので、ユーザーが実行時に切り替えて指定ができなかったのですよね。 とはいえ、これもノーコードで実現できるのが、Difyの強みです。 1. 概要 1.1.Difyとは 1.2. この記事で実現すること…
4ヶ月前
記事のアイキャッチ画像
Amazon Bedrock の Titan Image Generator で背景差し替え
Taste of Tech Topics
はじめに こんにちは。パリ五輪はバドミントン混合ダブルスの熱いラリーに見入ってしまいました、コバタカです。ECサイトやカタログなど、商品の画像が必要になる場面は多々ありますが、スタジオで撮影しようとするとコストが嵩んでしまいます。 そんな時に活用できるのが、Amazon Bedrockで提供されているTitan Image Generatorというモデルです。 docs.aws.amazon.com 先日、このモデルの新しいバージョンであるTitan Image Generator G1 v2が発表されており、本記事でもこちらを使用していきます。 aws.amazon.comこのモデルには既存…
5ヶ月前