46.4kデモを予約するログイン無料で始める
BAAI

BAAI / bge-base-zh-v1.5

BAAIによって導入された一般的な埋め込み(BGE)モデルを中国語テキスト用に調整したもの。

bge-base-zh-v1.5入門

bge-base-zh-v1.5`は中国語テキストをコンパクトなベクトルに変換するBAAI一般埋め込み(BGE)モデルです。BAAIの以前のテキスト埋め込みモデルバージョンよりも、より合理的な類似度分布を提供します。

bge-base-zh-v1.5`と他の一般的なBGEモデルを比較してください:

モデル寸法最大トークン数C-MTEB avg
bge-large-zh-v1.5|1,024|512|64.53||bge-large-en|1,024|512|64.53
bge-large-en|1024|512|64.20|||bge-base-zh-v1.5
bge-base-zh-v1.576851263.13bge-base-jp76851263.13bge-base-jp
bge-base-ja76851262.96bge-small-zh1.5
bge-small-zh-v1.538451257.82bge-small-zh-v1.5
bge-small-zh|384|512|58.27||です。

bge-base-zh-v1.5での埋め込み作成方法

ベクトル埋め込みを作成するには、主に2つの方法があります:

1.1.PyMilvus:MilvusのPython SDKで、bge-base-zh-v1.5をシームレスに統合しています。 2.2. FlagEmbedding: BAAIが提供する公式のPython SDKです。

これらのメソッドにより、開発者はアプリケーションに高度なテキスト埋め込み機能を簡単に組み込むことができます。

ベクトル埋め込みが生成されると、Zilliz Cloud(Milvusが提供するフルマネージドベクトルデータベースサービス)に保存され、意味的類似性検索に使用することができます。以下は、4つの重要なステップである:

1.1.サインアップ Zilliz Cloudアカウントを無料で取得する。 2.サーバーレスクラスターのセットアップ](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster)とパブリックエンドポイントとAPIキーを取得する。 3.ベクター・コレクションを作成し、ベクター埋め込みを挿入します。 4.**セマンティック検索を実行する。

PyMilvusで埋め込みベクトルを生成し、Zilliz Cloudに挿入してセマンティック検索を行う。

from pymilvus import model, MilvusClient

ef = model.dense.SentenceTransformerEmbeddingFunction(
   model_name="BAAI/bge-base-zh-v1.5"、
   device="cpu"、
   query_instruction="为这个句子生成表示以用于索相关文章:"
   )

# ドキュメントの埋め込みを生成する
docs = [
    "人工智能作为一门学术学科成于立1958年。"
    "艾伦-图灵是第一个在人工智能领域进行实質性研究的人。"
    "图灵出生于伦敦的梅达维尔,并在英格兰南部长大。"
]

docs_embeddings = ef.encode_documents(docs)

# クエリの埋め込みを生成する
queries = ["人工智能是什么时候成立的?"、
          "艾伦-图灵出生在哪里?"] のようになります。

query_embeddings = ef.encode_queries(queries)

# パブリックエンドポイントとAPIキーでZilliz Cloudに接続する
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT、
    token=ZILLIZ_API_KEY)

COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    コレクション名=COLLECTION、
    dimension=ef.dim、
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})

results = client.search(
    collection_name=COLLECTION、
    data=query_embeddings、
    consistency_level="Strong"、
    output_fields=["text"])

詳細はPyMilvus Embedding Model documentationを参照してください。

PythonのFlagEmbeddingライブラリを使ってベクトルの埋め込みを生成し、Zilliz Cloudに挿入してセマンティック検索を行う。

from FlagEmbedding import FlagModel
from pymilvus import MilvusClient

model = FlagModel("BAAI/bge-base-zh-v1.5"、
                  query_instruction_for_retrieval="为这个句子生成表示以用于检索相关文章:"、
                  use_fp16=False)
# ドキュメントの埋め込みを生成する
docs = [
    "人工智能作为一门学术学科成于立1958年。"
    "艾伦-图灵是第一个在人工智能领域进行实質性研究的人。"
    "图灵出生于伦敦的梅达维尔,并在英格兰南部长大。"
]
docs_embeddings = model.encode(docs)

# クエリの埋め込みを生成する
queries = ["人工智能是什么时候成立的?"、
          "艾伦-图灵出生在哪里?"].
query_embeddings = model.encode_queries(queries)

# Public EndpointとAPI KeyでZilliz Cloudに接続する。
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT、
    token=ZILLIZ_API_KEY)

COLLECTION = "documents"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(collection_name=COLLECTION)
client.create_collection(
    collection_name=COLLECTION、
    dimension=768、
    auto_id=True)

for doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})

results = client.search(
    collection_name=COLLECTION、
    data=query_embeddings、
    consistency_level="Strong"、
    output_fields=["text"])

詳しくはHuggingFaceのモデルページを参照してください。