探索Eden AI与LangChain的无缝集成:解锁强大AI嵌入功能

45 阅读2分钟

探索Eden AI与LangChain的无缝集成:解锁强大AI嵌入功能

引言

随着人工智能的迅速发展,开发者面临的一个主要挑战是如何高效地利用各种AI模型。Eden AI通过统一多家顶级AI提供商,为用户提供了一个简便的多合一平台。这篇文章将介绍如何使用LangChain与Eden AI嵌入模型进行交互,从而轻松实现丰富的AI功能。

主要内容

1. 获取API密钥

要使用Eden AI的API,首先需要在Eden AI官网注册一个账户并获取API密钥。之后,将密钥设置为环境变量:

export EDENAI_API_KEY="your_api_key"

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

from langchain_community.embeddings.edenai import EdenAiEmbeddings

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

2. 调用模型

Eden AI的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)

4. 计算余弦相似度

使用NumPy计算文档和查询之间的余弦相似度:

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}')

代码示例

下面是完整的代码示例:

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

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

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)

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}')

常见问题和解决方案

1. 网络访问问题

某些地区可能会遇到API访问受限的问题。建议使用API代理服务来提高访问的稳定性。

2. 模型选择

如果无法获得预期的结果,尝试更改provider参数来测试不同的模型。

总结和进一步学习资源

本文介绍了如何通过LangChain与Eden AI进行交互,以实现文档和查询的嵌入。使用Eden AI平台,您可以轻松扩展AI功能并快速部署到生产环境。

进一步学习

参考资料

  1. Eden AI 官网
  2. LangChain GitHub

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

---END---