はじめに スケルツォ見てスッキリ。nikkieです。 OpenAIから2024年1月のアップデートが来ましたね。 その中の目玉と思われるembedding新モデルのAPIで少しだけ手を動かしました 目次 はじめに 目次 OpenAI embedding新モデルのAPI APIでembeddingを得て、テキストの類似度計算 英語の例(text-embedding-3-small) 日本語の例(text-embedding-3-small) text-embedding-3-large(日本語) text-embedding-3-large(日本語)でdimensionsを指定する 積ん読資料た…
はじめに プラチナランカー!!🙌 nikkieです🟧🟧🟧🟧🟧 transformers・PyTorchの組合せで、文のembeddingsを得るコードで理解したいことがありました。 理解を深める目的でこの記事でアウトプットします。 目次 はじめに 目次 E5 参考文献 average_pool関数、何をやってるんだ...? average_pool関数の呼び出し 脱線:Attention mask ~attention_mask[..., None].bool()って何? トークンのembeddingsから平均算出 embeddingsの正規化 勾配を除く 現時点の理解を反映したコード(Usa…
はじめに むん!(シャニアニ1幕見ました) nikkieです 以前sentence-transformersを使ってテキストをembeddingsに変換しました。 再度触ってみたところ、「わずか数行のコードで何をやっているんだろう?」と気になり、実装を追いかけました。 目次 はじめに 目次 sentence-transformersのコードは何をやっている? SentenceTransformerの初期化 _load_sbert_modelメソッド Transformerの読み込み Poolingの読み込み Normalizeの読み込み encodeメソッド tokenizeメソッド forw…
はじめに 「でも、私は天海春香だから。」 nikkieです。 LLM・LangChain関係の素振りですが、今回は自分の趣味嗜好に振り切ります。 文脈をプロンプトに含めて、LLMさんとアニメについておしゃべりするぞ〜!💪💪💪 目次 はじめに 目次 やりたいこと「文脈をプロンプトに含めたおしゃべり」と、現在地 準備はすべて整っていたのです! 差分はRetrieval QA chainを導入するだけ 💡素振りに使ったテキスト、アニメ関連のものにすればいいのでは? 劇場版『THE IDOLM@STER MOVIE 輝きの向こう側へ!』 ムビマスを知っている風ChatGPTとおしゃべり 対話例 動作環…
はじめに 7月はナイスなstapyです。みんな来てね! nikkieです。 StudyCoさんの勉強会アーカイブを機に、LangChainを使って文脈をプロンプトに含めてLLM(ChatGPT)に問い合わせるコードを動かしました。 この理解を深めるべく、「文脈をプロンプトに含める」の要素に注目して素振りします。 目次 はじめに 目次 文脈をプロンプトに含める仕組み LangChainのData connectionの言葉では LangChainのChromaの例を動かす 動作環境 embeddingsを計算し、Chromaに保存する ディスクから読み込み、似ている文を検索する 寄り道:stat…
はじめに 色打掛は花嫁衣装、nikkieです 文埋め込み(文のベクトル)について、理解を更新したメモです 文埋め込み同士の距離は意味の類似度を表す (理解 NEW!!)文埋め込みは特徴量として使える (理解 NEW!!)文埋め込みは、単語埋め込みの平均ではない 目次 はじめに 目次 文埋め込みの嬉しい点(2点) 単語のベクトルの平均だと誤解していた 今後:どう作られるかを知りたい 文埋め込みの嬉しい点(2点) 紐解いたのは『大規模言語モデル入門』。 第8章が、ズバリ「文埋め込み」です。 文の意味を表現するベクトル(数字の並び)が文埋め込みです。 文埋め込みの嬉しい点(書籍だと目的)は、ベクトル…
はじめに ジャングルパーティー!! 異次元フェス、行ってきました、nikkieです🙌 E5はtransformersから触ってもいいのですが、sentence-transformersからだと(特定のニーズを満たすコードは)数行で書けるということを見ていきます。 目次 はじめに 目次 multilingual-e5のUsage sentence-transformersなら数行でできるよ 同じembeddingsが得られていることの検証 なぜ同じになるのか? 終わりに multilingual-e5のUsage 文の埋め込み表現(embeddings)を得る手法の1つに、E5というモデルがあり…
はじめに アヤさん、たんじょーび、おめでとう!! nikkieです。 みんなアイうた見ていて嬉しい限り♪ sentence-transformersというPythonのライブラリがあります。 こいつでembeddings(テキストの埋め込み表現)が計算できるらしく、気になったので触ってみました。 ※レベル感としては使い出しレベル、やってみた系です。 目次 はじめに 目次 動作環境 ドキュメントの例でembeddingsを計算(英語テキスト) 日本語テキストからembeddingsを計算 終わりに 動作環境 macOS 12.6.6 CPU環境です Python 3.10.9 sentence-…
これは、なにをしたくて書いたもの? テキスト埋め込みを行うにはSentence Transformersを使うのがいいのかなと思っているのですが、できれば単体で動作するサーバーとして 使いたいなと。 これをやろうとするとLocalAIを使うのが1番近い気がするのですが、準備にかなり手間がかかります。 Embeddings / Huggingface embeddings じゃあもういっそのこと簡単なAPIサーバーを自分で作ったらいいかなということで、作ることにしました。 Sentence Transformersのインストールには時間がかかるのですが、それさえできてしまえばテキスト埋め込みを動…
これは、なにをしたくて書いたもの? これまでよくOpenAI API互換のサーバーにOpenAI Python APIライブラリーからアクセスして試していたのですが、1度Javaからも アクセスしてみようかなと思いまして。 アクセス先としては、llama-cpp-pythonを使うことにします。 OpenAI API向けのJavaクライアント OpenAI APIのJavaクライアントにアクセスするためのライブラリーの話に…入る前に、ちょっと自分がここをやろうとしている理由について 少し書いておきます。 自分はよくOpenAI API互換のサーバーをローカルで動かしていますが、OpenAIに限…
これは、なにをしたくて書いたもの? 今までQdrantのチュートリアルを試してきたのですが、今度はExampleを見てみようと思います。 Examples - Qdrant ただ、Exampleで見るのは「基本的なRAG(Basic RAG)」のみにしたいと思います。それから、Qdrant自体を集中的に扱うのもここで 区切りにしようかなと。 今回のExampleの狙い このExampleでは、Qdrant+Fastembed、OpenAIを使ってRAGを構成する例を示します。 ところでExampleは「Examples」ページにリストアップされている内容から、実際のページに移るとタイトルが大幅…
これは、なにをしたくて書いたもの? MetaからLlama 3がリリースされました。 Meta、無料で商用可の新LLM「Llama 3」、ほぼすべてのクラウドでアクセス可能に - ITmedia NEWS このLlama 3をOpenAI API互換のサーバーを持つllama-cpp-pythonおよびLocalAIで動かせそうなので、試してみることにしました。 Llama 3 Llama 3はMetaの公開しているLLMです。 Meta Llama 3 Introducing Meta Llama 3: The most capable openly available LLM to dat…
エンジニアのみっつーです! 先週末に、Global Azure 2024 in Fukuokaに登壇させていただきました。 jazug.connpass.com 登壇内容紹介 私が今回お題にしたのはKernel MemoryというOSSです。 Kernel Memoryは、様々なデータソースからインデックス作成することに特化したマルチモーダルAIサービスで、例えば話題のAzure OpenAI Serviceを使ってこれまた話題のRAGアーキテクチャ実現のために様々なデータソースとの繋ぎ込みを行ってくれるようなサービスです。 github.com ざっくりポイントは下記の通りです。 Kerne…
こんにちは。Algomatic の宮脇(@catshun_)です。 本記事では文書検索において一部注目された BGE M3-Embedding について簡単に紹介します。 Chen+'24 - BGE M3-Embedding: Multi-Lingual, Multi-Functionality, Multi-Granularity Text Embeddings Through Self-Knowledge Distillation
G-gen の神谷です。本記事では、BigQuery の機能を使って、商品を意味&ランキング検索できる ChatBot を作ってみたので、そのご紹介ができればと思います。 アプリの概要 ユースケース 背景とメリット アーキテクチャ システムアーキテクチャ RAG テーブル設計 検索処理の詳細 使っている技術と実装例 BigQuery ML のテキストエンべディング関数 BigQuery リモート関数用のコネクションオブジェクト作成 Vertex AI API を BigQuery のリモート関数として登録 テキストデータからエンベディングベクトルの抽出 BigQuery ML の類似ベクトル検…
2011年6月10日、Evernoteを使用開始。 2014年9月19日、有料プランに加入。 2024年3月23日、クソみたいなメールが届く。
前回Chat Vectorについて簡単に予習したので、とりあえず「LightChatAssistant 2x7B」の作成手順を再現してみたいと思います。 作者さんがモデルカードで丁寧に説明してくださっているので、基本的にそれをなぞるだけです。まずはまったく同じモデルを作ってみます。 huggingface.co Chat Vectorによる処理 Google ColabのCPU(ハイメモリ)で試します。3つ分のモデルファイルを扱えるだけのRAM容量さえあればよく、GPU無しで完結するようです。 まずは、Chat Vector処理を行うための依存関係をインストールします。ColabだとTrans…
google cloud のセマンティック検索を使ってみたい 詳しい内容は google cloud の 動画から www.youtube.com テキスト検索ではなく、ベクトル検索になるので、いい感じで検索結果をかえしてくれるらしい また、マルチモーダルのため画像、音声なども扱える。 今回は 画像を google cloud storage に置き、セマンティック検索を試してみたい。 まずは、画像データの準備から 機械学習の無料のサンプルデータセットを利用した。 ここには 30枚の部屋の写真がのっている。 それぞれ、雰囲気や映しているものも異なる。 ローカルに一度保存。 cloud stor…
Homologous protein searchは、タンパク質のアノテーションや解析に最もよく使われる手法の一つである。構造検索と比較して、配列のみから遠い進化関係を検出することは依然として困難である。ここでは、配列のみを入力とするHomologous protein searchメソッドPLMSearch(Protein Language Model)を提案する。PLMSearchは、事前に学習させたタンパク質言語モデルのdeep representationsを利用し、多数の実際の構造類似性を用いて類似性予測モデルを学習させる。これにより、PLMSearchは配列の背後に隠された遠隔の相…
こんにちは、CCCMKホールディングス TECH LABの三浦です。 最近とあるゲームの自宅専用のサーバーを立てる、ということにチャレンジしてみました。作業は想像よりも複雑ではなくて調べながら進めて上手く稼働させることが出来ました。難しそうだな、と思っていたこともいざやってみるとそんなに難しくなかった、ということは結構あります。今年度は色々なことにチャレンジしてみたいな、と思いました。 前回LangChainのLangGraphというライブラリを使って簡単なLLM Agentアプリケーションを構築してみた話をご紹介しました。 techblog.cccmkhd.co.jp 前回はAgentに2つ…
いつの間にか月が変わってしましましたが、2024年3月に言語処理学会第30回年次大会 に参加したので、論文紹介をします。 言語資源・評価手法関連が多いです。 サイトの上から順に選び、聴講の際も時系列に沿ってメモしていたので、それに従った順番に紹介します。 カテゴリは口頭発表に基づいてつけていますが、ポスター発表は自分の想像でつけています。 簡単な紹介しかしていないので、詳細を知りたい場合はリンク先の論文を読んでください。 間違いがないよう、なるべく論文の表現を引用しています。 P1-7 「昭和・平成書き言葉コーパス」の語彙統計情報の公開 P1-10 日本語意味変化検出の評価セットの拡張と検出手…
初めまして、株式会社ecbeing 製品開発本部 マイクロサービス開発統括部に2023年新卒で入社した高橋祐之介(のすけ)です。配属から今までクラウドサービスのPoCやLINEミニアプリの開発に携わってきました。そして、昨年10月からは当社の検索エンジン「Lightning Search(ライトニングサーチ)」の開発にも参加しています。 Lightning Search内で使用されている技術、「Azure AI Search」に関する学習を行いましたので、今回はAzure AI Searchと言うサービスについて、学習したことや実際の実行結果を本ブログで共有します。 目次 Azure AI S…
生成AIをWord&Excel&PowerPoint&Outlookで自在に操る超実用VBAプログラミング術 生成AIをOfficeアプリ上で活用する方法を解説「生成AIをWord&Excel&PowerPoint&Outlookで自在に操る超実用VBAプログラミング術」 Word、Excel、PowerPoint、Outlookに対応「生成AIをWord&Excel&PowerPoint&Outlookで自在に操る超実用VBAプログラミング術」 「生成AIをWord&Excel&PowerPoint&Outlookで自在に操る超実用VBAプログラミング術」でできる生成AIと各Officeアプ…