アリババ / gte-large-en-v1.5
transformer++ エンコーダのバックボーン(BERT + RoPE + GLU)をベースに構築され、関連テキストペアの大規模コーパスで学習。
Milvus Integrated
タスク: 埋め込み
モダリティ: テキスト
類似性メトリック: コサイン
ライセンス: アパッチ2.0
次元: 1024
最大入力トークン: 8192
価格: 無料
gte-large-ja-v1.5入門
gte-large-en-v1.5はアリババの知能コンピューティング研究所によって開発された英語のテキスト埋め込みモデルです。これはGTE(General Text Embeddings)モデルシリーズの一つで、transformer++`エンコーダのバックボーン(BERT + RoPE + GLU)に基づいており、関連するテキストペアの大規模なコーパスで学習される。
gte-base-en-v1.5とgte-large-en-v1.5`の比較:
| 特徴|gte-base-en-v1.5|gte-large-en-v1.5 | ------------------- | ---------------- | ----------------- | | パラメータサイズ|1億3700万|4億3400万
| 最大シーケンス長|8192|8192||である。 | MTEBスコア|64.11|65.39 | LoCoスコア|87.44|86.71|です。
gte-large-en-v1.5によるベクトル埋め込み作成方法
ベクトル埋め込みを作成するには、主に2つの方法があります:
1.PyMilvus: MilvusのPython SDKで、gte-large-en-v1.5モデルをシームレスに統合しています。
2.SentenceTransformer library: sentence-transformerのPythonライブラリ。
ベクトル埋め込みが生成されると、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.model.dense import SentenceTransformerEmbeddingFunction
from pymilvus import MilvusClient
ef = SentenceTransformerEmbeddingFunction("Alibaba-NLP/gte-large-en-v1.5", trust_remote_code=True)
docs = [
「人工知能は1956年に学問分野として創設された、
「アラン・チューリングは、人工知能の実質的な研究を行った最初の人物である、
"チューリングはロンドンのマイダベールで生まれ、イングランド南部で育った。"
]
# ドキュメントの埋め込みを生成する
docs_embeddings = ef(docs)
queries = ["人工知能はいつ創設されたか"、
「アラン・チューリングはどこで生まれたのか?]
# クエリの埋め込みを生成する
query_embeddings = ef(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、
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を参照してください。
SentenceTransformer ライブラリを使ってベクトル埋め込みを生成し、Zilliz Cloud に挿入して意味検索を行う。
from sentence_transformers import SentenceTransformer
from pymilvus import MilvusClient
model = SentenceTransformer("Alibaba-NLP/gte-large-en-v1.5", trust_remote_code=True)
docs = [
「人工知能は1956年に学問分野として創設された、
「アラン・チューリングは、人工知能の実質的な研究を行った最初の人物である、
"チューリングはロンドンのマイダベールで生まれ、イングランド南部で育った。"
]
# ドキュメントの埋め込みを生成する
docs_embeddings = model.encode(docs, normalize_embeddings=True)
queries = ["クエリ:人工知能はいつ作られたのか?
"query:アラン・チューリングはどこで生まれましたか?"]
# クエリの埋め込みを生成する
query_embeddings = model.encode(queries, normalize_embeddings=True)
# 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=1024、
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"])
詳細はSentenceTransformer documentationを参照してください。





