instructor-embedding は何をしますか?
コンテキストに応じたテキスト埋め込みを計算し、ドメイン固有のテキストタスクに対する意味的な認識を検索エージェントに提供します。
概要
instructor-embedding スキルは、HKUNLP/instructor-embedding モデルを使用して、タスク固有の指示に基づくコンテキスト依存のテキスト埋め込みを生成します。このモデルにより、テキストの意味をより正確に捉え、特定のドメインやタスクに適した埋め込み表現を得ることができます。
特徴
- コンテキスト依存埋め込み: 与えられたテキストだけでなく、そのタスク(検索、分類、クラスタリングなど)の指示を考慮した埋め込みを生成。
- 高い汎用性: ドメイン適応なしで、様々なテキストタスクに適用可能。
- 容易な統合: Python と Hugging Face Transformers を使用してシームレスに統合できます。
使用方法
インストール
pip install InstructorEmbedding
基本的な使用例
from InstructorEmbedding import INSTRUCTOR
# モデルの読み込み
model = INSTRUCTOR('hkunlp/instructor-xl')
# 埋め込みを計算するテキスト
sentences = [
['動物の埋め込みを表現', '犬は人間の親友です'],
['動物の埋め込みを表現', '猫は優雅な動物です']
]
# 埋め込みの計算
embeddings = model.encode(sentences)
print(embeddings.shape)
検索タスクでの使用
from InstructorEmbedding import INSTRUCTOR
from sklearn.metrics.pairwise import cosine_similarity
model = INSTRUCTOR('hkunlp/instructor-xl')
# クエリとドキュメント
query = [['検索クエリの埋め込みを表現', '機械学習の基礎']]
documents = [
['検索ドキュメントの埋め込みを表現', '機械学習は人工知能の一分野です'],
['検索ドキュメントの埋め込みを表現', '深層学習はニューラルネットワークを使用します'],
['検索ドキュメントの埋め込みを表現', '統計学はデータ分析に役立ちます']
]
query_emb = model.encode(query)
doc_emb = model.encode(documents)
# 類似度スコアの計算
scores = cosine_similarity(query_emb, doc_emb)
print(scores)
パラメータ
| パラメータ | 説明 | デフォルト値 |
|---|---|---|
instruction | タスクの説明(例:「検索クエリの埋め込みを表現」) | 必須 |
model_name | 使用するモデル名 | 'hkunlp/instructor-xl' |
device | 計算デバイス('cpu'、'cuda'など) | 'cpu' |
注意事項
- このスキルは Python 3.7 以上での動作を推奨します。
- 大規模なデータセットを扱う場合は、GPU の使用を検討してください。
- モデルの読み込みには初回のみダウンロードが発生します。