async_dashscope/operation/embeddings.rs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
use crate::Client;
use crate::error::Result;
pub use param::*;
pub use output::*;
mod param;
mod output;
pub struct Embeddings<'a> {
client: &'a Client,
}
impl<'a> Embeddings<'a> {
pub fn new(client: &'a Client) -> Self {
Self { client }
}
/// 异步调用文本嵌入服务
///
/// 该函数通过POST请求向指定的服务端点发送文本嵌入请求,并返回处理结果
/// 主要用途是将输入的文本数据转换为高维向量表示,以便于后续的自然语言处理任务使用
///
/// # 参数
///
/// * `request` - 包含文本嵌入请求所有必要信息的结构体,包括但不限于文本内容和嵌入模型的选择
///
/// # 返回值
///
/// 返回一个结果类型,包含文本嵌入操作的成功与否
/// 如果操作成功,返回一个包含嵌入向量和其他相关信息的结构体
/// 如果操作失败,返回一个错误类型,便于错误处理和调试
pub async fn call(&self, request: param::EmbeddingsParam) -> Result<output::EmbeddingsOutput> {
// 发送POST请求到指定的服务端点,并传递请求参数
// 该行代码是异步执行的,允许在等待网络操作时继续执行其他任务,提高程序效率
self.client
.post("/services/embeddings/text-embedding/text-embedding", request)
.await
}
}