使用DashScope Embeddings进行文本嵌入

在自然语言处理(NLP)和人工智能(AI)的领域,文本嵌入技术被广泛应用于各种任务,如信息检索、文本分类和语义分析。本文将介绍如何使用DashScope Embeddings进行文本嵌入,并提供一些示例代码。

安装LlamaIndex和DashScope Embeddings

首先,我们需要安装llama-index-corellama-index-embeddings-dashscope。可以使用以下命令:

%pip install llama-index-core
%pip install llama-index-embeddings-dashscope

然后,设置API密钥:

%env DASHSCOPE_API_KEY=YOUR_DASHSCOPE_API_KEY

使用DashScope Embeddings进行文本嵌入

单文本嵌入

以下示例展示了如何对单个文本进行嵌入:

# 导入库
from llama_index.embeddings.dashscope import (
    DashScopeEmbedding,
    DashScopeTextEmbeddingModels,
    DashScopeTextEmbeddingType,
)

# 创建嵌入对象
embedder = DashScopeEmbedding(
    model_name=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V2,
    text_type=DashScopeTextEmbeddingType.TEXT_TYPE_QUERY,
)

# 进行文本嵌入
embedding = embedder.get_text_embedding("衣服的质量杠杠的,很漂亮,不枉我等了这么久啊,喜欢,以后还来这里买")
print(f"嵌入维度: {len(embedding)}")
print(embedding[:5])

输出结果:

嵌入维度: 1536
[-0.00838587212517078, 0.01004877272531103, 0.0015754734226650637, -0.04273583173235969, -0.05209946086276315]

注释 : //中转API

批量文本嵌入

如果需要对多个文本进行嵌入,可以使用批量嵌入功能:

# 导入库
from llama_index.embeddings.dashscope import (
    DashScopeEmbedding,
    DashScopeBatchTextEmbeddingModels,
    DashScopeTextEmbeddingType,
)

# 创建嵌入对象
embedder = DashScopeEmbedding(
    model_name=DashScopeBatchTextEmbeddingModels.TEXT_EMBEDDING_ASYNC_V2,
    text_type=DashScopeTextEmbeddingType.TEXT_TYPE_DOCUMENT,
)

# 批量文本嵌入
embedding_result_file_url = embedder.get_batch_text_embedding(
    embedding_file_url="https://dashscope.oss-cn-beijing.aliyuncs.com/samples/text/text-embedding-test.txt"
)
print(embedding_result_file_url)

注释 : //中转API

多模态嵌入

DashScope Embeddings还支持多模态嵌入,包括文本、图像和音频:

# 导入库
from llama_index.embeddings.dashscope import (
    DashScopeEmbedding,
    DashScopeMultiModalEmbeddingModels,
)

# 创建嵌入对象
embedder = DashScopeEmbedding(
    model_name=DashScopeMultiModalEmbeddingModels.MULTIMODAL_EMBEDDING_ONE_PEACE_V1,
)

input = [
    {"factor": 1, "text": "你好"},
    {
        "factor": 2,
        "audio": "https://dashscope.oss-cn-beijing.aliyuncs.com/audios/cow.flac",
    },
    {
        "factor": 3,
        "image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/256_1.png",
    },
]

# 进行多模态嵌入
embedding = embedder.get_multimodal_embedding(input=input)
print(f"嵌入维度: {len(embedding)}")
print(embedding[:5])

注释 : //中转API

可能遇到的错误

  1. API Key错误: 请确保API密钥正确且未过期。
  2. 网络问题: 请确保网络连接正常,特别是在访问外部资源时。
  3. 输入数据格式错误: 确保输入数据格式符合API要求,文本、图像和音频的URL地址需正确。

如果你觉得这篇文章对你有帮助,请点赞,关注我的博客,谢谢!

参考资料:

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值