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