--- tags: - sentence-transformers - sentence-similarity - feature-extraction pipeline_tag: sentence-similarity library_name: sentence-transformers --- # SentenceTransformer このモデルは実験的なモデルです。 詳細は[ブログ記事](https://note.com/oshizo/n/n473a0124585b)を、関連するソースコードは[リポジトリ](https://github.com/oshizo/japanese-clip-qwen2_vl/)を参照してください。 前回のバージョン[oshizo/japanese-clip-qwen2_vl-exp-0101](https://huggingface.co/oshizo/japanese-clip-qwen2_vl-exp-0101)との差分 * テキスト埋め込みモデルを[pkshatech/GLuCoSE-base-ja-v2](https://huggingface.co/pkshatech/GLuCoSE-base-ja-v2)に変更 * 学習データを公開しました * [oshizo/japanese-text-image-retrieval-train](https://huggingface.co/datasets/oshizo/japanese-text-image-retrieval-train) * OCRテキストをもとにQwen2.5-14B質問を生成し、質問-ページ画像のペアによる学習を行いました * ドキュメント画像の解像度(長いほうの辺)は588px、700px、896pxの三種類で学習を行いました(前回は588pxのみ) ## Model Details ### Model Description - **Model Type:** Sentence Transformer - **Maximum Sequence Length:** 512 tokens - **Output Dimensionality:** 768 dimensions - **Similarity Function:** Cosine Similarity ## Usage ### Direct Usage (Sentence Transformers) First install the Sentence Transformers library: ```bash pip install -U sentence-transformers fugashi SentencePiece ``` Then you can load this model and run inference. ```python from sentence_transformers import SentenceTransformer model = SentenceTransformer("oshizo/japanese-clip-qwen2_vl-exp-0126", trust_remote_code=True) import io import requests from PIL import Image sentences = [ 'モノクロの男性の肖像写真。軍服を着て石の階段に座っている。', "庭で茶色の犬がこちらを向いて座っている。" ] text_embeddings = model.encode(sentences) text_embeddings.shape # (2, 1024) image_urls = [ 'https://upload.wikimedia.org/wikipedia/commons/7/73/Shigenobu_Okuma_5.jpg', 'https://upload.wikimedia.org/wikipedia/commons/7/78/Akita_inu.jpeg' ] images = [ Image.open(io.BytesIO(requests.get(image_urls[0]).content)).resize((150, 240)), Image.open(io.BytesIO(requests.get(image_urls[1]).content)).resize((240, 150)) ] image_embeddings = model.encode(images) image_embeddings.shape # (2, 1024) similarities = model.similarity(text_embeddings, image_embeddings) similarities # tensor([[ 2.6399e-01, 8.1531e-02], # [-2.4970e-04, 3.1410e-01]]) ```