昇腾社区首页
中文
注册

类功能

功能描述

连接TEI服务,提供文本至向量的embedding功能。类继承实现了langchain_core.embeddings.Embeddings接口。

函数原型

from mx_rag.embedding.service import TEIEmbedding
TEIEmbedding(url, client_param)

输入参数说明

参数名

数据类型

可选/必选

说明

url

str

必选

TEI embed服务地址,url字符串长度不能超过128。

说明:

当前基于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'))