ミスミ DataTech ブログのフィード

https://zenn.dev/p/msmtec

株式会社ミスミグループ本社のデータサイエンティスト・内製開発を行うAI・ITエンジニア中心にデータに尖った観点で情報発信を行う Publication です。各記事の内容は個人の意見であり、企業を代表するものではございません。

フィード

記事のアイキャッチ画像
LangChain と GPT-4o で作る商品選定 AI エージェント (後編)
ミスミ DataTech ブログのフィード
はじめに大規模言語モデル (LLM) がデータや計算ツールを自律的に使って質問に答えるしくみを、Function calling 機能を使った AI エージェントとして作りました。Function calling については前編の記事で紹介しました。この記事は、簡単なデモ用に昨年行った実験の紹介で、GPT-4o の API と LangChain の Tool calling agent を使った実装方法や試行錯誤を解説します。[1]既に、インターネット検索と LLM を組み合わせる便利なツールやサービスは様々あります (e.g. browser-use, phind)。一方で...
1ヶ月前
記事のアイキャッチ画像
pgvector入門 ~アプリ編 (RAG)~
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社 Gateway推進本部の飯塚です。レコメンドや検索、DB構築などを幅広く担当しています。本記事は【pgvector 入門】と題して、PostgreSQL の環境構築からベクトルデータの格納、アプリ実装までを三部構成で連載していきます。最終回の今回は ~アプリ編~ になります。Amazon Bedrock と Streamlit を使って簡易 RAG アプリを実装していきます。 振り返り第一回では Amazon Aurora PostgreSQL Compatible 環境を構築し、Amazon SageMaker Code Edit...
1ヶ月前
記事のアイキャッチ画像
pgvector入門 ~データ編~
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社 Gateway推進本部の飯塚です。レコメンドや検索、DB構築などを幅広く担当しています。本記事は【pgvector 入門】と題して、PostgreSQL の環境構築からベクトルデータの格納、アプリ実装までを三部構成で連載していきます。今回は ~データ編~ になります。LangChain を使ってドキュメントのベクトル化とデータベースへの格納を行い、pgvector が提供している近似計算について紹介します。 振り返り前回は Amazon Aurora PostgreSQL Compatible 環境を構築し、Amazon SageM...
2ヶ月前
記事のアイキャッチ画像
LangChainとGPT-4oで作る商品選定AIエージェント(前編) ~Function Calling~
ミスミ DataTech ブログのフィード
はじめに大規模言語モデル (LLM) がデータや計算ツールを活用して答えるしくみを、Function calling という機能を使って作りました。この記事では、まず背景をご紹介し、GPT-4o の API と langChain を使った実装方法や tips を解説します。記事が長くなったので、本記事で Function Calling について扱い、後編でエージェント化の部分を解説したいと思います。 目指す世界観例えば、EC サイトで部品を探すときに、長さ700mmで100kgの装置を載せられるアルミフレームはどれ?と聞いたら以下のアルミフレームは、長さ700m...
2ヶ月前
記事のアイキャッチ画像
本番環境でやらかしたので生成AIでChrome拡張を自作して再発防止
ミスミ DataTech ブログのフィード
はじめにこの記事でご紹介するコードは、あくまで参考としてご利用ください。実際にご使用される際には、十分にご自身の責任でお願いいたします。万が一問題が発生した場合でも、当方では責任を負いかねますので、何卒ご了承ください。 プロローグそれは、ある日の夕方のことでした。私は本番環境で動いているサービスへ、軽微な修正を加えたリビジョンをデプロイしようとしていました。具体的には、Cloud Runサービスで動いているサーバーのDockerイメージを、事前にpushしておいた最新リビジョンに差し替えて再デプロイするという簡単な作業です。前回のデプロイでは比較的大規模な改修を行い、非常に...
3ヶ月前
記事のアイキャッチ画像
ベクトル検索の取り組みのご紹介
ミスミ DataTech ブログのフィード
はじめに弊社では、約3年前(2021年度)より、セマンティックなベクトル検索を導入してきました。本記事では、その導入した当時の経緯や、どのように拡大させてきたかについてご紹介いたします。自社の検索エンジン開発において、同じような課題感をお持ちの方のご参考になれば幸いです。 従来の検索エンジンが抱えていた課題弊社では、長年、いわゆる全文検索と呼ばれる文字列一致型の検索エンジンを採用してきました。まず、その全文検索が抱えていた課題についてお話します。下記が弊社の検索キーワード(以降キーワードはKWと表記)の分布となります。多くの顧客によく検索される検索頻度の高いKW(以後ビッ...
3ヶ月前
記事のアイキャッチ画像
エムシーデジタル様主催の生成AI Kaggleコンペに参加しました
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社Gateway推進本部のはたはたとjwskiです。2024年12月13日、エムシーデジタル株式会社様[1]主催のデータサイエンスコンペに参加し、私たちが参加したチームが優勝しました。どんなコンペだったのか当日の様子を含めてご紹介します。ただし、問題の内容や解法は非公開のお約束のため、本記事では触れません(公開のお許しが出ましたら改めて解法編をしたためようと思います)。ミスミの検索/AIエンジニアの戦いの一コマとして、よろしければおつきあいください。今回のコンペについて、エムシーデジタル様の開催報告はこちらでご確認できます。私たちは参...
4ヶ月前
記事のアイキャッチ画像
Cloud Runジョブの実行ステータスをモニタリングするツールを作ってみる【コード編】
ミスミ DataTech ブログのフィード
はじめに唐突ではありますが、皆さんCloud Runジョブは利用されていますか?Cloud Run ジョブは、Google Cloudのマネージドサービス「Cloud Run」の一機能で、バッチ処理や非同期タスクを実行するためのものです。Cloud Runは、コンテナ化されたアプリケーションを自動的にスケーリングして実行できるサービスですが、ジョブはその中で、指定されたコンテナを特定のタスクが完了するまで実行するための仕組みです。当社では、自動化装置・設備向けの特注部品や金型用部品、工具・消耗品を扱うECサイトを運用しており、検索のためのデータベース更新にCloud Runジョ...
6ヶ月前
記事のアイキャッチ画像
寄稿した日経クロステック記事が本に載ります
ミスミ DataTech ブログのフィード
皆さん、こんにちは!ミスミグループ本社 Gateway推進本部の技術統括を務めています中田です。今回は、公開から1カ月弱が経過してからのブログ掲載となりますが、先月10月10日と11日にかけて、特集記事を寄稿しました。2024/10/10 - 2024/10/11 特集「開発者なら知っておくべきベクトルデータベースの基本」 掲載先:日経クロステック当初、AI開発プロジェクトにアサインされたプロジェクトリーダーやプロジェクトマネージャー向けの内容にしようと考えていました。しかし、最終的には編集者(日経BP社)の手によって、全体のバランスと読みやすさが格段に向上しました。非常に読み...
6ヶ月前
記事のアイキャッチ画像
Vertex AIマルチモーダルを用いたミスミ部品の画像検索利用例紹介
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社Gateway推進本部の蘇です。今回はGoogle CloudのVertex AIの気になっている機能を簡単に試してみましたので、マルチモーダルエンベディングを使用して画像やテキストをクエリとして渡し、商品画像を検索する例を紹介します。 インストール今回はPythonでの実装になりますので、google-cloud-aiplatform のPython Packageのインストールをする必要があります。以下のコマンドでインストールを実行します。pip3 install --upgrade --user "google-clou...
6ヶ月前
記事のアイキャッチ画像
SentencePieceで作る型番トークナイザー
ミスミ DataTech ブログのフィード
はじめに今回は型番を意味のありそうな単位に分割するtokenizerを作る話をします。型番は日本語や英語といった自然言語ではない独自の文字列のため、既存のtokenizerは使えません。そのような文字列に特化したtokenizerを作ります。ミスミの型番には商品の情報が詰め込まれており、その型番から情報を取り出して分析しようと思います。そのためにまず、型番を意味のある単位で分割しようとしました。型番はごりごりのドメインの話なので、前提を少し説明します。ミスミの型番(例えば"HBLTS8-6L-SET")は、いくつかのパラメータを"-"でつなげた形になっています。直感的には"...
6ヶ月前
記事のアイキャッチ画像
次バスケット推薦アルゴリズム(MMNR)の紹介&MISUMIデータでの実装について
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社Gateway推進本部でAIエンジニアを務めているデンと申します。今回は、SIGIR 2023で発表された次バスケット推薦(Next-basket Recommendation, NBR)アルゴリズム『Multi-view Multi-aspect Neural Networks for Next-basket Recommendation(MMNR)』について、ミスミのデータを用いた実装結果を交えてご紹介いたします。 背景NBRは、ユーザーの過去のバスケット履歴に基づいて、次に購入する可能性のある商品群を推薦する手法です。従来の推薦手法...
7ヶ月前
記事のアイキャッチ画像
6月末から9月末までのメディア露出を細々と振り返る
ミスミ DataTech ブログのフィード
皆さん、こんにちは!ミスミグループ本社 Gateway推進本部の技術統括をしています中田です。2024/6に本ブログを初めて3ヵ月が経過しました。初めは本当に続けられるのだろうかと不安でしたが、軌道に乗るまではノルマ制+別メディアへの露出ネタを使うという打算自ら頑張る方式で何とか続けられています。タイトル通り、別メディアへの露出を増やしてきたのでいったんここで振り返りを行います。ブログ記事は10本公開、3本/月のペースですね。👆で記述したようにずるい数え方してます。他メディアはこの通りです。9月でついに露出が途絶えてしまいました。が、10月に日経クロステックにて2回に分けて...
7ヶ月前
記事のアイキャッチ画像
情報検索の評価指標とバイアスについて
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社Gateway推進本部のはたはたです。私たちは日々、当社ECサイトの検索システムの改良を行っています。改良の際に重要なのが、検索システムの評価指標です。既存のアルゴリズムAと新しく導入を考えているアルゴリズムB、どちらが優れているかを的確に評価することが必要不可欠になります。この記事では、一般的な評価指標のご紹介と、ECサイトの検索システムにおける評価の難しさについてをご紹介をしたいと思います。 検索システムの概要評価指標の前に、情報検索がどのようなタスクかについてご説明します。情報検索は、入力として検索ワード(この分野ではクエリと呼...
8ヶ月前
記事のアイキャッチ画像
サジェストの速度改善をしてみた
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社Gateway推進本部の高島です。当部門で使用するデータ整備を担当しております。新規プロダクトの試作モデルを開発しているなかで、DBのデータ増に伴いクエリ実行結果が格段に遅くなる事象が発生しました。データ要件や機能が固まっていないため、取り急ぎの速度改善を実施しました。本記事ではその方法をご紹介します。 改善前の構成クライアントからの入力キーワードに基づき、生産間接材の型番候補を付帯情報とともに返却します。企画段階のため、柔軟に対応でき簡易なプロトタイプとしてDocumentDBを選定し構成しています。 不具合と対応策不...
8ヶ月前
記事のアイキャッチ画像
pgvector入門 ~環境構築編~
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社 Gateway推進本部の飯塚です。レコメンドや検索、DB構築などを幅広く担当しています。本記事は【pgvector 入門】と題して、PostgreSQL の環境構築からベクトルデータの格納、アプリ実装までを三部構成で連載していきます。今回は ~環境構築編~ になります。10分もあればベクトル検索の環境構築が出来ますのでぜひ試してみてください。 pgvector とはベクトルデータの類似性検索機能を提供する PostgreSQL の拡張機能"int" や "varchar" のようにベクトルデータを "vector" として型で扱...
8ヶ月前
記事のアイキャッチ画像
Google Cloud Next Tokyo '24に登壇しました!
ミスミ DataTech ブログのフィード
皆さん、こんにちは!ミスミグループ本社 Gateway推進本部の技術統括をしています中田です。随分と時間が経ってしまいましたが、8/2にあったGoogle Cloud Next Tokyo '24にて BtoB 大企業の内製ベクトル検索エンジン: Vertex AI Vector Search 移行と高付加価値への挑戦 と題したセッション登壇をしました。聴講された方、ありがとうございました。300名満員御礼だったようです。これだけの人数を前にした外部イベントのセッション登壇は初めてでしたので緊張しました。(壇上からは奥まで見えず、だったようですという表現で失礼いたします。)当日の...
8ヶ月前
記事のアイキャッチ画像
Vertex AI Vector Searchのパラメータを調整してみた
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社Gateway推進本部のizumiです。当社ECサイトの検索システム開発を担当しています。本記事ではVertex AI Vector Searchの近似最近傍探索に用いるパラメータの調整方法を簡単にご紹介したいと思います。なお、インデックスデータの作成方法、Vector Searchへのデプロイ方法は省略しております。 Vertex AI Vector SearchとはVertex AI Vector Searchとは、Google Cloudが提供しているベクトル検索のサービスです。Google検索、YouTubeなどのGoog...
9ヶ月前
記事のアイキャッチ画像
AWSからGoogle Cloudへ移行する際にマイクロサービス化に取り組んだ話
ミスミ DataTech ブログのフィード
はじめにこんにちは。ミスミグループ本社 Gateway推進本部のshimozonoです。検索システムの開発を担当しています。先日、弊社ECサイトの検索エンジンのバックエンドの一部(以下、ベクトル検索基盤と呼びます)を、AWSからGoogle Cloudへ移行しました。この記事では、その移行において取り組んだマイクロサービス化についてご紹介します。 移行前の構成移行前のベクトル検索基盤はAWS上で構築されており、以下のような構成でした。 システム構成図(移行前)API Gatewayクライアントからのリクエストを受け付け、SageMakerへ振り分け。...
9ヶ月前
記事のアイキャッチ画像
ベクトル検索のドメイン特化における検索キーワードの有用性
ミスミ DataTech ブログのフィード
はじめに当社はECサイトを運営しており、ユーザーが求める商品を迅速に見つけられるよう検索機能の改善に努めています。特に、曖昧なキーワードでの検索にも対応するためにベクトル検索技術の導入に力を入れております。この記事では、その取り組みの中で活用している技術をご紹介します。 課題検索エンジンが直面する課題の一つとして、検索したい商品名がわからず、曖昧で不明確なキーワードで検索されることがあります。文字列一致で検索する全文検索では、曖昧で不明確な検索キーワードに対応するために辞書を活用します。検索キーワードや検索対象文書の文字を辞書で拡張させて、検索にヒットしやすくさせます。...
10ヶ月前