TextEmbed - 嵌入推理服务器
TextEmbed 是一个高吞吐量、低延迟的 REST API,专为提供向量嵌入服务而设计。它支持广泛的 sentence-transformer 模型和框架,适用于自然语言处理中的多种应用。
特性
- 高吞吐量和低延迟: 旨在高效处理大量请求。
- 灵活的模型支持: 支持各种 sentence-transformer 模型。
- 可扩展: 可轻松集成到更大的系统中,并随需求扩展。
- 批量处理: 支持批量处理,以实现更佳且更快的推理。
- 兼容 OpenAI 的 REST API 端点: 提供与 OpenAI 兼容的 REST API 端点。
- 单行命令部署: 通过单个命令部署多个模型,实现高效部署。
- 支持的嵌入格式: 支持二进制、float16 和 float32 嵌入格式,以实现更快的检索。
Getting Started
前置条件
确保已安装 Python 3.10 或更高版本。您还需要安装所需的依赖项。
通过PyPI安装
-
安装所需的依赖项:
pip install -U textembed -
使用您所需模型启动 TextEmbed 服务器:
python -m textembed.server --models sentence-transformers/all-MiniLM-L12-v2 --workers 4 --api-key TextEmbed
有关更多信息,请阅读文档。
导入
from langchain_community.embeddings import TextEmbedEmbeddings
API 参考:文本嵌入
embeddings = TextEmbedEmbeddings(
model="sentence-transformers/all-MiniLM-L12-v2",
api_url="http://0.0.0.0:8000/v1",
api_key="TextEmbed",
)
嵌入您的文档
# Define a list of documents
documents = [
"Data science involves extracting insights from data.",
"Artificial intelligence is transforming various industries.",
"Cloud computing provides scalable computing resources over the internet.",
"Big data analytics helps in understanding large datasets.",
"India has a diverse cultural heritage.",
]
# Define a query
query = "What is the cultural heritage of India?"
# Embed all documents
document_embeddings = embeddings.embed_documents(documents)
# Embed the query
query_embedding = embeddings.embed_query(query)
# Compute Similarity
import numpy as np
scores = np.array(document_embeddings) @ np.array(query_embedding).T
dict(zip(documents, scores))
{'Data science involves extracting insights from data.': 0.05121298956322118,
'Artificial intelligence is transforming various industries.': -0.0060612142358469345,
'Cloud computing provides scalable computing resources over the internet.': -0.04877402795301714,
'Big data analytics helps in understanding large datasets.': 0.016582168576929422,
'India has a diverse cultural heritage.': 0.7408992963028144}