1概览
本 notebook 演示如何使用 Semantica 的嵌入模块从文本生成嵌入。你将学习使用 EmbeddingGenerator 和 TextEmbedder 来创建文本的向量表示。
学习目标
- 使用
EmbeddingGenerator生成嵌入 - 使用
TextEmbedder生成文本嵌入 - 为多个文本生成嵌入
- 理解嵌入维度
2安装
从 PyPI 安装 Semantica:
pip install semantica
# 或安装所有可选依赖:
pip install semantica[all]
3步骤 1:生成嵌入
使用 EmbeddingGenerator 生成嵌入。
# 安装 Semantica
!pip install semantica
# 使用 EmbeddingGenerator 为多个文本生成嵌入
from semantica.embeddings import EmbeddingGenerator
# 初始化嵌入生成器
generator = EmbeddingGenerator()
# 待嵌入的文本列表
texts = [
"Apple Inc. is a technology company.",
"Microsoft Corporation develops software.",
"Amazon provides cloud services."
]
# 批量生成文本嵌入
embeddings = generator.generate_embeddings(texts, data_type="text")
print(f"Generated embeddings for {len(texts)} texts")
print(f"Embeddings shape: {embeddings.shape}")
print(f"First embedding dimension: {len(embeddings[0]) if len(embeddings) > 0 else 'N/A'}")
4步骤 2:文本嵌入
使用 TextEmbedder 生成文本特定的嵌入。
# 使用 TextEmbedder 为单个文本生成嵌入
from semantica.embeddings import TextEmbedder
# 初始化文本嵌入器
text_embedder = TextEmbedder()
text = "Semantic knowledge graphs enable intelligent data processing."
# 生成文本的向量表示
embedding = text_embedder.embed_text(text)
print(f"Generated embedding for text")
print(f"First 5 values: {embedding[:5]}")
5步骤 3:模型选择与动态切换
Semantica 允许你在不同的嵌入提供方(例如 Sentence Transformers、FastEmbed)之间进行选择,并动态切换模型。
# 使用特定的提供方和模型进行初始化
embedder = TextEmbedder(method="sentence_transformers", model_name="all-MiniLM-L6-v2")
print(f"Current method: {embedder.get_method()}")
# 动态切换到 FastEmbed
try:
embedder.set_model(method="fastembed", model_name="BAAI/bge-small-en-v1.5")
print(f"Switched to: {embedder.get_method()}")
print(f"Model Info: {embedder.get_model_info()}")
except ImportError:
print("FastEmbed not installed. Install with: pip install fastembed")
6小结
你已经学会了如何生成嵌入:
- EmbeddingGenerator:为多个文本生成嵌入
- TextEmbedder:生成文本特定的嵌入
下一步:在 Vector_Store notebook 中学习如何存储和检索向量。