类功能
功能描述
连接TEI服务,提供文本至向量的embedding功能。类继承实现了langchain_core.embeddings.Embeddings接口。
函数原型
from mx_rag.embedding.service import TEIEmbedding TEIEmbedding(url, client_param, embed_mode)
输入参数说明
参数名 |
数据类型 |
可选/必选 |
说明 |
|---|---|---|---|
url |
str |
必选 |
TEI embed服务地址,字符串长度范围[1, 128]。支持"/v1/embed"、"/v1/embeddings"、"/embed_sparse"接口。 说明:
当前基于TEI框架创建的embed服务不支持https协议,为安全起见可通过搭建一个nginx服务,让该服务与embed服务处于一个可信网络。使用时客户端以https方式访问nginx,nginx转发请求到embed服务。 |
client_param |
ClientParam |
可选 |
https客户端配置参数,默认值为“ClientParam()”,具体描述请参见ClientParam。 |
embed_mode |
str |
可选 |
与TEI服务提供的向量化类型对应,默认为"dense",值只能为"sparse"或"dense","sparse"表示稀疏向量化,"dense"表示稠密向量化,该参数当前已弃用。 |
返回值说明
TEIEmbedding对象。
调用示例
from paddle.base import libpaddle
from mx_rag.embedding.service import TEIEmbedding
from mx_rag.utils import ClientParam
# 同tei_embed = TEIEmbedding("https://ip:port/embed", client_param=ClientParam(xxx))
tei_embed = TEIEmbedding.create(url="https://ip:port/embed",
client_param=ClientParam(ca_file="/path/to/ca.crt"))
print(tei_embed.embed_documents(['abc', 'bcd']))
print(tei_embed.embed_query('abc'))
父主题: TEIEmbedding