2025.03.25
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
※ この記事は、AWS (Amazon Web Services) の技術支援を受けて執筆しています。 はじめに この記事はコネヒトアドベントカレンダー 8日目の記事です。 コネヒト Advent Calendar 2023って? コネヒトのエンジニアやデザイナーやPdMがお送りするアドベント カレンダーです。 コネヒトは「家族像」というテーマを取りまく様々な課題の解決を 目指す会社で、 ママの一歩を支えるアプリ「ママリ」などを 運営しています。 adventar.org こんにちは!コネヒトの機械学習エンジニア y.ikenoueです。 突然ですがみなさん、Amazon Bedrockをご存知でしょうか。 aws.amazon.com Amazon Bedrock(以下、Bedrock)は、テキスト生成AIをはじめとする基盤モデル (Foundation Model)*1を提供するAWS
どんな人向けの記事? 医薬品のような難しい検索ニーズにこたえるためにベクトル検索を利用する知見を見てみたい MySQLの全文検索と、ベクトル検索の精度や速度を比較してみたい ベクトルDBとEmbeddingモデルを利用した簡単なベクトル検索の実装方法を知りたい 医薬品の検索ニーズは多様なので、ベクトル検索で解決できるか試したい 1つの医薬品を指す名称は、複数存在するため医薬品検索は意外と面倒な問題です。 例えば、日本人なら頭痛や生理痛、発熱したときに「ロキソニン」を飲んだことがあるかもしれません。この名称は商品の名称ですが、成分の名称は「ロキソプロフェンナトリウム水和物」です。 さらに、ロキソプロフェンには錠剤以外にもテープやパップといった剤形の違いがあります。 そして最後に、ロキソプロフェンを作っている会社は複数あるので、末尾に「トーワ」や「ファイザー」などの組み合わせが存在します。ロキ
SQLiteでベクトル検索を可能にするsqlite-vssそんなポータブルで便利なSQLiteですが、そのSQLiteでベクトル検索ができるとなるとより夢が広がります。 SQLite自体はファイルベースなので、あらかじめベクトルデータを設定したSQLiteデータベースファイルをアプリに組み込んで配布しても良いわけです。そうすればデータベースサーバを用意しなくて済む分コストも圧縮されますし、組み込みなのでアプリからは軽量に動作します。 ホスティングする場合でもFly.ioのようにボリュームイメージを利用できるPaaSを利用すれば、問題なく運用が可能です。 前置きが長くなりましたが、このような夢を叶えてくれる拡張がsqlite-vssです。ベクトル検索はFaissベースで実装されています。 とっても良さげではあるのですが、実際に組み込んでみた場合のコード例が見つからなかったので、手を動かして試
株式会社ナレッジセンスは、生成AIやRAGを使ったプロダクトを、エンタープライズ向けに開発提供しているスタートアップです。本記事では、RAGの性能を高めるための「HybridRAG」という手法について、ざっくり理解します。 この記事は何 この記事は、RAGシステムを専門用語に強くするための手法「HybridRAG」の論文[1]について、日本語で簡単にまとめたものです。 今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。 本題 ざっくりサマリー HybridRAGは、通常のRAG(Retrieval Augmented Generation)で用いられる「ベクトル検索」の弱みを補い、回答精度を向上するための手法です。BlackRockとNVIDIAの研究者らによって2024年8月に提案されました。 ベクトル検索の弱みはいくつかあります
はじめに この記事では、ベクトル検索で似た文書を検索するコードを解説します。具体的には、Sentence Transformersライブラリを用いてベクトル化、Faissという近似最近傍探索ライブラリを用いて高速な検索を行います。 用語説明 ベクトル検索 ... 文書の検索にベクトルを使用する方法。例えば、文書に映画に関する内容が 10 %、音楽が 2 %、俳優が30%含まれていた時、シンプルにそれを表すと [0.1, 0.02, 0.3]というベクトルを作ることができる。Googleの説明が詳しい。 Sentence Transformers ... ベクトル検索に必要なベクトル化を行うためのライブラリ Faiss ... ベクトル同士の類似度を高速に検索してくれるライブラリ。以下のHakkyさんのページが詳しい。 コード 入力:検索したい文字のリスト、検索される文字のリスト 出力:どの
こんにちは。検索基盤部の橘です。ZOZOTOWNでは、商品検索エンジンとしてElasticsearchを利用し、大規模なデータに対して高速な全文検索を実現しています。 Elasticsearchに関する取り組みは以下の記事をご覧ください。 techblog.zozo.com 検索基盤部では、ZOZOTOWNの検索結果の品質向上を目指し、新しい検索手法の導入を検討しています。本記事ではベクトル検索と呼ばれる検索手法に関して得た知見を紹介します。 ※本記事はElasticsearchバージョン8.9に関する内容となっています。 目次 目次 ベクトル検索とは ベクトル検索に期待すること Elasticsearchを使用したベクトル検索の導入 導入の簡略化 デプロイ可能な埋め込みモデル ベクトル検索のクエリ ハイブリッド検索とは Elasticsearchを用いたハイブリッド検索 RRF(Reci
運用コストを低く抑えつつ全文検索機能を実現したい: SQLite3 で全文検索を実現する fts5 、ベクトル検索を実現する sqlite-vss 2024-02-22 ドキュメント数が 1 万件に満たない状況で全文検索をしたいドキュメントは頻繁に更新はされずに日時の更新で十分オンラインでのインデキシングを考えなくてよいので、バッチで十分みたいな状態でポータビリティが高く運用コストが低い状態で全文検索を実現したいなと調べていたら SQLite3 が良さそうだったというお話。 全文検索を実現する拡張機能: https://www.sqlite.org/fts5.htmlfts5 から relevancy による order by が使えるようになったらしく、version 4 以前は、relevance をチューニングして改善するのは難しそうだなと思った。この拡張機能が作成された経緯としては
こんにちは。テニスしすぎて日焼けがすごいSsk1029Takashiです。 私は普段、生成AIを活用したRAGソリューションの開発をしているのですが、RAGでは特に検索部分の調整が重要になります。 今回はその検索の中で出てくるリランクに焦点を当てて、ベクトル検索と比較してどのような特徴があるのかというところを、検証を交えて解説していきます。 概要 RAGの検索部分では、よくベクトル検索が利用されます。 理由としては、入力が基本的に質問形式になりキーワードで入力されることが多い通常の検索よりも適している、などいくつか考えられます。 ただし、実際にRAGを試してみるとわかりますが、RAGシステムではベクトル検索だけでは検索精度の面で苦労することも多いです。 そこで解決方法の一つとして考えられているのが、ベクトル検索とリランクとの併用になります。 今回は、なぜRAGはベクトル検索だけだと苦労が多
こんにちは、メルカリのレコメンドチームで ML Engineer をしている ML_Bear です。 以前の記事 [1] では、item2vecと商品メタデータを用いた、メルカリのホーム画面のレコメンド改善のお話をさせていただきました。今回は商品詳細画面でレコメンド改善を行ったお話をさせていただきます。商品詳細画面の例は図1の通りです。ユーザーはアイテムの詳細な説明を見たいときにこの画面に来訪するため、同様の商品を推薦する自然な接点として非常に重要です。 まず、私たちが商品詳細画面で行った改善の概要を示します。各部の詳細については次節以降で詳しく触れます。 日本有数の大規模ECサービスにおいてベクトル検索ベースの商品推薦アルゴリズムを実装し、推薦精度の大幅な改善を実現しました。 協調フィルタリングとニューラルネットワーク (以下、NN) を利用した商品推薦アルゴリズムを構築し、コールドスタ
はじめに これはLivesense Advent Calendar 2022 DAY 14 の記事です。 普段は主にレコメンドシステムの開発・運用をやっています。仕事ではPythonを書くことが多いです。好きな言語はRustです。この記事では、ベクトル検索エンジンQdrantを紹介します。 ベクトル検索とは そもそもベクトル検索とは何だ、という人もいると思います。簡単に言えばベクトル検索は類似するベクトルを(正確性を犠牲にして)高速に計算する技術です。 なぜそのような技術が必要になるのか簡単に説明しましょう。 なぜベクトルの類似度を計算する必要があるのか 近年、機械学習技術によって様々なものがベクトルで表現されるようになりました。典型的には画像と文書(単語)です。 「類似する画像を求める」「ユーザーが入力したワードに関連する文書を返す」「ユーザーが閲覧したアイテムに類似するアイテムのリスト
pglite + pgvector で文章の類似度検索を実装します。 動機 とにかく手っ取り早くローカルにデータを突っ込んでおいて検索する RAG の雛形がほしかったんですが、調べても大規模ストレージを前提とした大掛かりな実装が多いです。 スクリプトを書いたらポンと実行できるセットアップ不要なものがあると、色々と実験ができます。 mastra/rag を読んでたら、簡単にできる気がしたのでやりました。ただ、chunk のドキュメント分割相当のものはまだ作ってません。そこまで難しい概念でもないので、雑に作れそうではあります。 qrdrant も検討しましたが、サーバーを建てるのが面倒でした 準備: ベクトル化用の関数 今回は @ai-sdk/openai を使ってベクトル化をします // OPENAI_API_KEY= import { openai } from "@ai-sdk/open
工具通販大手のMonotaROはEC(電子商取引)サイト「モノタロウ」にベクトル検索を導入した。ベクトル検索とは単語や文章などの「意味」「文脈」を数値に変換することによって、検索キーワードと関連性の高いデータを見つけられる仕組み。2024年12月18日に発表した。 同社のECサイトは以前から検索機能を備えているが今回、ベクトル検索の導入により検索のヒット率を高めた。これまで入力キーワードに対して検索結果が何もヒットしないケースが平日の場合10万件ほどあったが、導入後は3万件と約7割減少。検索頻度の少ないキーワードを組み合わせた「ロングテールキーワード」の検索では購入に至る割合である「コンバージョン」が約1割増加した。他にも商品のクリック数、ユーザー1人当たりの検索数もそれぞれ約2割増加したという。 MonotaROは多品種少量の「ロングテール商品」を扱っており、取り扱う商品数は2370万点
はじめに 新規事業統括部の山本です。 ChatGPTをはじめとした、大規模言語モデル(Large Language Model)を使用したサービスを利用することで社内の業務効率化をした、というニュースを聞くことが増えてきました。クラスメソッドでもOpenAI APIなど、AIを利用した社内の業務効率化に取り組んでいます。 前回の記事では、OpenAIのAPIを利用した業務効率化のためのはじめの一歩として、自社ブログ(DevelopersIO)の記事を検索するボットを作成してみました。ベーシックな文章検索+応答生成(Retrieval Augmented Generation)ではなく、クエリ自体もLLMに考えさせるChatの機能を付与し、実際の動作を確認しました。 https://dev.classmethod.jp/articles/implement-devio-articles-se
生成AIの隆盛に伴い、ベクトル検索やベクトルデータベースが注目されています。 ベクトルについてより理解するために簡単なデモサービスを作ってみました。 この記事では作ったサービスをもとにベクトルについて説明し、後半では生成AIとベクトルの関連について紹介します。 つくったもの 「しもふりサーチ」 - お笑いコンビ「霜降り明星」のYouTubeチャンネル、「しもふりチューブ」の過去動画を検索できるサービスです。 このサービスには以下の2つの機能があります。 1. 文章での動画検索 文章で動画を検索する 「粗品さんがクイズを出題する回」 や 「せいやさんがギターを弾く回」 など、自然言語で動画を検索できます。 2. 関連動画レコメンド 内容の近い動画をレコメンドする 動画を選ぶと、過去動画の中から内容の近い動画をレコメンドします。 これらの機能はベクトル検索で実現されています。詳細を説明していき
この記事は、情報検索・検索技術 Advent Calendar 2023の12月4日の記事である。 昨今のLLMの台頭により、外部情報を In-Context Learning として利用しLLMの生成結果の性能を高めることが可能な RAG(Retrieval Augmented Generation) の重要性の高まりを感じる。ただ、RAG を使ったシステムを構築してみようにも、データが少ないと面白みが少なかったりする。その為、Wikipedia 日本語の約550万文から簡単に検索可能でRAGの入力データとして使えるような embeddings と、素早い速度でベクトル検索できるような faiss 用の index を作成した。 例えば、Wikipedia から該当の文を検索する用途はこのように使える。 from datasets.download import DownloadMana
ベクトル検索(Vector Search)とは? キーワード検索との違い:AI・機械学習の用語辞典 用語「ベクトル検索」について説明。テキストなどのデータを数値ベクトル(埋め込み)として表現し、それらのベクトル間の類似度を計算することで、関連する情報を見つけ出す検索方法を指す。Azure OpenAI Serviceの独自データ追加機能で利用可能な「キーワード検索」「ベクトル検索」「ハイブリッド検索」「セマンティック検索」という検索手法の違いについても言及する。 連載目次 用語解説 AI/機械学習/自然言語処理におけるベクトル検索(Vector Search:ベクター検索)とは、テキストや画像などのデータを数値ベクトルとして表現し、それらのベクトル間の類似度(主にコサイン類似度)を計算することで、関連する情報を見つけ出す検索方法のこと、またその方法による検索のことである。なお、数値ベクトル
※この投稿は米国時間 2022 年 6 月 17 日に、Google Cloud blog に投稿されたものの抄訳です。 メルカリは、日本で 2,000 万人超、米国で 約566 万人の月間アクティブ ユーザーを持つ、近年最も成功しているマーケットプレイス サービスのひとつです。2021 年 10 月、メルカリは小規模のビジネスオーナーや個人がスマートフォンひとつでネットショップをEC ポータルを開設できる新サービス「メルカリShops」 を日本で開始しました。この新サービスの開発に際しては、「類似性」を利用した新しいマーケットプレイスの実現に Google のベクトル検索技術が導入されています。 ショップを集めただけではマーケットプレイスにはならない立ち上げ当初の「メルカリShops」は、小さな EC サイトの集まりにすぎず、ユーザーは各ショップを 1 か所ずつ開いては販売されている商品
ベクトルの準備 次にタイトル文章をベクトル化していきます。 OpenAIのアカウントを作成し、こちらからAPIキーを取得し、それを環境変数OPENAI_API_KEYに設定した後、次のコードを実行するだけで、入力文章のベクトルを取得できます。 import os import openai openai.api_key = os.environ["OPENAI_API_KEY"] client = openai.OpenAI() def get_embedding(text, model="text-embedding-ada-002"): text = text.replace("\n", " ") return client.embeddings.create(input=[text], model=model).data[0].embedding get_embedding("入力し
※この投稿は米国時間 2021 年 12 月 14 日に、Google Cloud blog に投稿されたものの抄訳です。 先日、Google Cloud のパートナー会社の グルーヴノーツ が、 MatchIt Fast のライブデモを公開しました。MatchIt Fast は、Wikimedia や the GDELT project などにある大規模公開データの中から、選択したサンプルに類似した画像やテキストを数ミリ秒で見つけ出すことができます。 このデモはどなたでも試せます。Image Similarity search に進み、クエリ候補に表示されている画像を選択するか、自分が所有する画像をアップロードしてみてください。上の動画のように、Wikimedia にある 200 万枚の画像の中から類似した上位 25 枚の画像が瞬時に表示されます。アルゴリズムが高速であるため、キャッシュ
Overview エムスリーエンジニアリンググループ AI・機械学習チームでソフトウェアエンジニアをしている中村(po3rin) です。検索とGoが好きです。 エムスリーではChatGPTの可能性にいち早く注目して活用を検討している段階ですが、本格的なデータ投入にはまだ懸念もあり、セキュリティチームと検討を進めている段階です。 そんな中で個人または組織のドキュメントのセマンティック検索と取得を可能にするChatGPTプラグイン「ChatGPT Retrieval Plugin」が登場しました。 github.com 情報検索好きとしては黙っていられず、外部公開用のエムスリーAI・機械学習チームのメンバー紹介ドキュメントを使ってローカルで試してみました。 # 用意したドキュメント 中村弘武は東京都在住で、エムスリーという企業で働いでいます。 エムスリーの検索基盤を主に担当しています。また、書
Vertex AIパイプラインを使うことで、BigQueryおよびBigQueryから参照できるデータを対象にしつつも、Google Cloud Pipeline ComponentsやVertex AIメタデータなどVertex AIの機能の恩恵もできるだけ受けることができます。 データアナリティクス事業本部 機械学習チームの鈴木です。 BigQueryでは、Vertex AIと連携して格納したデータを生成AIで処理することが可能です。 例えばテーブルに格納済みのテキストをもとに埋め込みベクトルや別のテキストを生成することができます。 特に埋め込みベクトルがあれば興味があるテキストに類似したテキストをBigQuery内で検索し、類似レコードの特徴から関心のあるテキストを分析することもできます。また、RAGに使用することもできます。 今回はBigQueryとVertex AIを使って、テー
この記事は Elastic Stack (Elasticsearch) Advent Calendar 2023 18日目の記事です。 こんにちは。 Acroquestのデータサイエンスチーム「YAMALEX」に所属する@shin0higuchiです😊 YAMALEXチームでは、コンペティションへの参加や自社製品開発、技術研究などに日々取り組んでいます。 さて、最近はLLMの発展に伴ってRAG(Retrieval-Augumented Generation)が盛んに活用されています。 その中で、キーワードベースの検索だけでなくベクトル検索を併用するケースが多く見られ、実際にElasticsearchが利用されているケースも多く目にします。そのため、Elasticsearchのベクトル検索に興味を持っている方も多いと思います。今回の記事では、Elasticsearchのベクトル検索の速度な
こんにちは。 Acroquestのデータサイエンスチーム「YAMALEX」に所属する@shin0higuchiです😊 YAMALEXチームでは、コンペティションへの参加や自社製品開発、技術研究などに日々取り組んでいます。 はじめに 近年、RAG(Retrieval-Augmented Generation)の台頭などを背景に、ベクトル検索の重要性が増しています。 ベクトル検索は、テキストや画像などの高次元データをベクトル空間に埋め込み、類似度に基づいて検索を行う技術です。 これにより、従来のキーワード検索では捉えきれなかった、意味的な類似性に基づいた検索が可能になります。 (RAGでElasticsearchのベクトル検索を利用するやり方については、こちらの記事で紹介していますので是非ご覧ください) acro-engineer.hatenablog.com 一方で、ベクトル検索を扱うため
Google Cloudは、大規模分散データベース「Cloud Spanner」の新機能としてグラフ処理、ベクトル検索、全文検索をプレビュー版として追加したと発表しました。 Cloud Spannerは超大規模分散RDB Cloud Spannerは地球規模で大規模分散処理を行うスケーラブルで高速なリレーショナルデータベースであり、マネージドサービスとして提供されています。 強い一貫性とトランザクション処理を備え、99.999%という高可用性、秒間10億以上の強力なリクエスト処理能力を実現し、クエリ言語としてANSI SQLをベースにした方言が利用可能です。 2022年には、PostgreSQL互換インターフェイスの提供も開始しました。 参考:Google Cloud SpannerのPostgreSQL互換インターフェイス、正式版に Cloud Spannerはマルチモデルデータベースへ
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。CTO直下のR&D組織であるテックラボにて、コマース領域向けの研究開発に取り組んでいる脇山です。 本記事ではベクトル検索を製品への紐付け(いわゆる名寄せ)業務に利用した事例を紹介します。 商品を製品マスタに紐付けする みなさんはYahoo!ショッピングで商品を探したことがあるでしょうか? Yahoo!ショッピングにはいろんなストアが商品を出品しているため、同じ商品を異なるストアが販売しています。そのため、「コカ・コーラ 500ml 48本」といったクエリで検索すると、検索結果に異なるストアが出品した「コカ・コーラ 500ml 48本」の商品が複数並ぶことがあります。商品を購入する際は、同じ商品でも商品価格や送料などがス
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。Yahoo!検索で機械学習エンジニアをしている由川です。 Yahoo!検索では、ユーザーが入力した検索クエリに関連する内容を掲出する関連検索ワードという機能があります(検索結果ページ上部と下部にあります)。従来の方法では、この関連検索ワードを出したくても掲出できないケースがありました。本記事では、高品質な文ベクトルを生成する手法SimCSEを用いて検索クエリと意味が類似する内容を掲出することで、関連検索ワード機能を改善させた事例を紹介します。 ※この記事で取り扱っているデータは、プライバシーポリシー の範囲内で取得したデータを個人が特定できない状態に加工しています。詳しくはYahoo! JAPAN プライバシーセンター
この記事はオープンソースのベクトル検索エンジンQdrant(クワッドラント)の使い方と類似記事検索についての前編になります。 初心者向けにコンセプトの理解を優先し、難しい用語の使用はあえて避けています。 使用するもの Qdrant オープンソースベクトル検索エンジン (Rust実装) GiNZA spaCy ドキュメントのベクトル化 livedoorニュースコーパス ライブドアのニュース記事 (株式会社ロンウィット) Python 3.10 Qdrantとは? オープンソースのRust製ベクトル検索エンジンです。クライアントはPython SDK、REST API、gRPCで接続できます。クラウドサービス版も準備中のようです。 Qdrantを使用したデモサイトもあります。 ベクトル検索エンジンとは? みなさんが思い浮かべる検索エンジンはキーワードを使用して検索するものでしょう。検索ボックス
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに ついにこの時が来ましたね。 Azure Cognitive Search にベクトル検索機能が実装され、近似最近傍探索(ANN)が可能になります。これによって、Azure OpenAI Serivce の Embeddings API で生成したベクトルの永続的なフルマネージドベクトルデータベースとして利用できるだけでなく、既存の BM25 ベースの全文検索とのハイブリッド検索が可能になります。 2023/11/15 GA どなたでもお使いいただけます。 ポイント ベクトルデータベース Azure OpenAI の Embed
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog ベクトル検索技術は、画像や音声などのオブジェクトデータを、機械学習モデルなどを利用してベクトルで表現し、ベクトル間の距離を計算することで、類似するベクトルを検索する手法です。 高次元ベクトルの類似検索では計算量が増加することから、kNN(k-Nearest Neighbor)ではなくANN(Approximately Nearest Neighbor)が広く利用されています。検索で利用できるデータ形式は、ベクトルへの変換が可能であれば、テキスト、画像、音声、動画、バイナリなどさまざまなデータを利用できます。 ベクトル検索は、類似画像検索はもちろんのこと、レコメンデーションやデータ解析にも利用できます。ヤフーでも、後述する「Yaho
はじめに 最近 langchain を使うようになってきて、OpenAIのAPIをちょこちょこ叩くのですが、いかんせん遅い いや十分に早いのだけど、ドキュメントの量があると若干気になってくる速度です そこで、 ローカルLLMとしてrinna を使ってみたりしたのですが、まだまだ遅いです すでに先行して実装例を作ってくれていた RWKVでembedding vectorを計算 の記事と SQLiteでベクトル検索ができる拡張sqlite-vssを試す の記事を大いに参考にしながら RWKV と sqlite-vss を使って高速なベクトル検索を作ってみます RWKVのモデル 今回は学習済みのRavenモデル RWKV-4-Raven-3B-v12-Eng98%-Other2% を使っていきます OpenAI の text-embedding-ada-002 モデル では 1536次元と扱いや
スタートアップの技術情報交換の場を提供することを目的として設立された「Microsoft Startup Tech Community」。「Microsoft Startup Tech Meetup #0 kick off」は、「Microsoft Build 2023」をテーマに開催されました。ここで登壇したのは、株式会社ゼンアーキテクツの三宅和之氏。Cosmos DBのアップデートについて発表しました。全2回。前半は、「ベクトル検索」について。 Microsoft MVPの三宅和之氏三宅和之氏(以下、三宅):今スライドが映っていると思いますが、Cosmos DBに特化したBuildの話をしようかなと思います。 まずは簡単に自己紹介ですね。三宅と申します。ゼンアーキテクツという、Microsoft Azureのパートナーをやっている会社の代表をやっています。個人的にはMicrosoft
はじめに 本記事では Vertex AI Matching Engine とは何かを簡単に説明して、使い始めるための手順を説明します。本記事の目的は、ベクトル検索を実現するために Matching Engine を使えるようになってもらうことです。 記事全体を理解するためにはある程度のクラウドやプログラミングの知識が必要です 必要に応じて補足したり、リンクしたりしています Matching Engine の背景にある論文等の解説はしません 使い始めるための手順の中でいくつか選択肢があるとき、今後主流になりそうな選択肢の手順のみを説明します とにかくまずは使ってみたいという方は、Vertex AI Matching Engine を使ってみるまで読み飛ばすか、次のチュートリアルを実施してください。 ベクトル検索で何ができるの? 昨今ではテキスト、画像、ユーザー行動など様々なものを機械学習モデ
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは。CTO直下のR&D組織での技術開発およびサービス現場での展開を担当している湯川と申します。 現在、私が所属しているチームでは近似近傍密ベクトル検索エンジンのValdの開発を行っています。今回の記事では、そのValdについて開発背景から特徴や導入事例について紹介していきたいと思います。ベクトルを利用した類似検索を行いたい方、ベクトル検索の活用例を知りたい方の参考になれば幸いです。 Valdの概要 ValdはKubernetes上で動作するANN(Approximate Nearest Neighbor)を利用した密ベクトル近似近傍検索エンジンであり、NGT(後述)と同様にOSSとして開発されています。 ※NGTはヤフーが
はじめに 新規事業部 山本です。 ChatGPT(OpenAI API)をはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMが学習したときのデータに含まれている内容以外に関する質問には回答ができません。そのため、例えばある社内システムに関するチャットボットを作成しようとしても、素のLLMでは質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。 この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索し、その文章をLLMへの入力(プロンプト)に付け加えて渡すことで、ユーザが欲しい情報に関して
はじめに オレオレ RAG をさくっと作る の記事を読み、簡単そうだったので MCP で話せるようにしてみました。 nananaman/DuckDB-RAG-MCP-Sample Claude Desktop から使う例 仕組み Markdown ファイルをローカルでベクトル化して DuckDB を使って Parquet ファイルで保存します。 ベクトル化には Plamo-Embedding-1B を採用しており、軽量なのでローカルの CPU で十分動作します。 生成した Parquet ファイルを MCP サーバーの起動時に読み込み、クエリに応じてベクトル検索が実行されます。 MCP 対応には MCP Python SDK を使っています。 RAG 周りの詳しい仕組みは参考にさせていただいた オレオレ RAG をさくっと作る の記事を参照してください。 リポジトリ構成 リポジトリは以下の
はじめに 新規事業統括部の山本です。 OpenAI APIをはじめとしたAIの言語モデル(Large Language Model:以下、LLM)を使用して、チャットボットを構築するケースが増えています。通常、LLMは学習したときのデータに含まれている内容以外に関する質問には回答できません。そのため、例えば社内の文章ファイルに関する質問に回答するチャットボットを作成しようとしても、質問に対してわからないという回答や異なる知識に基づいた回答が(当然ながら)得られてしまいます。 この問題を解決する方法として、Retrieval Augmented Generation(以下、RAG)という手法がよく使用されます。RAGでは、 ユーザからの質問に回答するために必要そうな内容が書かれた文章を検索する その文章をLLMへの入力(プロンプト)にプラスして渡す というフローにすることで、LLMが学習して
ベクトル検索ライブラリ「Faiss」を試したので、使い方をまとめました。 1. Faiss「Faiss」は、Facebookがリリースしたベクトル検索ライブラリです。 2. テキストを埋め込みに変換「埋め込み」は、意味的類似性を示すベクトル表現です。2つのベクトル間の距離は、その関連性を表し、小さな距離は高い関連性、大きな距離は低い関連性を示します。 一般的に次のような用途に使用されます。 ・検索 : 検索結果がクエリ文字列との関連性でランク付けされる ・クラスタリング : テキストを類似性によってグループ化 ・レコメンデーション : 関連するテキストを含む項目を推奨 ・異常検出 : 関連性の少ない外れ値を特定 ・ダイバーシティ測定 : 類似性分布を分析 ・分類 : テキストを最も類似したラベルで分類 Colabでの実行手順は、次のとおりです。 (1) メニュー「編集→ノートブックの設定」
ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ヤフーでValdの開発をしている森本です。 近年、テキストをはじめとして画像・映像・音声などのさまざまなデータの増加によって情報検索の必要性が高まっています。 これらのデータは従来の検索エンジンで効率的に検索することは容易ではありません。現在、ディープラーニングをはじめとしたAI技術は急速に発展し、テキストや画像などのデータからベクトル表現を獲得できるようになっており、これらのベクトルを用いた検索技術の需要は日に日に重要度を増しています。 本日のアドベントカレンダーでは、ベクトル検索において用いられる、近似近傍探索(ANN: Approximately Nearest Neighbor)を実現するOSSであるValdを
こんにちは、@makiart13です. 普段は筑波大学で情報検索に関する研究を行っています. この記事は情報検索・検索技術 Advent Calendar 2024 の21日目の記事になります! 当日にテーマを決めて記事を書き始めました!書き終わることを願っています!! 概要 数日前にAnswer.AIとLightOnという企業がModernBERTという新しいBERTをリリースしました. このModernBERTは,簡単にいうと 早い・上手い(高性能)・長い(コンテキスト長) モデルです! このModernBERTを利用して,ベクトル検索モデルを作ってみようという記事になります! ModernBERTとは何か? 前節でModernBERTを 早い・上手い(高性能)・長い(コンテキスト長) と説明しました.もう少し深ぼってみましょう. 🚅 早い 以下のような手法や技術を取り入れたことによ
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く