Eden AI
Eden AI 正在通过联合最佳的 AI 提供商来革新 AI 领域,赋能用户解锁无限可能,挖掘人工智能的真正潜力。通过一个全面且无忧的平台,它允许用户快速将 AI 功能部署到生产环境,使用户能够通过单一 API 轻松访问全面的 AI 能力。(网站:https://edenai.co/)
本示例介绍了如何使用 LangChain 与 Eden AI 模型进行交互
EdenAI
超越了简单的模型调用。它为您提供了高级功能,包括:
-
多个提供商:访问由各种提供商提供的多样化语言模型,让您可以自由选择最适合您用例的模型。
-
后备机制:设置后备机制,以确保即使主要提供商不可用,操作也能无缝进行,您可以轻松切换到替代提供商。
-
使用跟踪:按项目和 API 密钥跟踪使用统计数据。此功能使您能够有效监控和管理资源消耗。
-
监控和可观察性:
EdenAI
在平台上 提供全面的监控和可观察性工具。监控您的语言模型的性能,分析使用模式,并获得有价值的见解以优化您的应用程序。
访问 EDENAI 的 API 需要一个 API 密钥,
您可以通过创建一个账户 https://app.edenai.run/user/register 来获取,并前往这里 https://app.edenai.run/admin/iam/api-keys
一旦我们有了密钥,我们将希望通过运行以下命令将其设置为环境变量:
export EDENAI_API_KEY="..."
您可以在API参考中找到更多详细信息: https://docs.edenai.co/reference
如果您不想设置环境变量,可以通过名为edenai_api_key的参数直接传递密钥
在初始化EdenAI聊天模型类时。
<!--IMPORTS:[{"imported": "ChatEdenAI", "source": "langchain_community.chat_models.edenai", "docs": "https://python.langchain.com/api_reference/community/chat_models/langchain_community.chat_models.edenai.ChatEdenAI.html", "title": "Eden AI"}, {"imported": "HumanMessage", "source": "langchain_core.messages", "docs": "https://python.langchain.com/api_reference/core/messages/langchain_core.messages.human.HumanMessage.html", "title": "Eden AI"}]-->
from langchain_community.chat_models.edenai import ChatEdenAI
from langchain_core.messages import HumanMessage
chat = ChatEdenAI(
edenai_api_key="...", provider="openai", temperature=0.2, max_tokens=250
)
messages = [HumanMessage(content="Hello !")]
chat.invoke(messages)
AIMessage(content='Hello! How can I assist you today?')
await chat.ainvoke(messages)
AIMessage(content='Hello! How can I assist you today?')
流式处理和批处理
ChatEdenAI
支持流式处理和批处理。以下是一个示例。
for chunk in chat.stream(messages):
print(chunk.content, end="", flush=True)
Hello! How can I assist you today?
chat.batch([messages])
[AIMessage(content='Hello! How can I assist you today?')]
回退机制
使用Eden AI,您可以设置回退机制,以确保即使主要大模型供应商不可用,也能无缝操作,您可以轻松切换到替代大模型供应商。
chat = ChatEdenAI(
edenai_api_key="...",
provider="openai",
temperature=0.2,
max_tokens=250,
fallback_providers="google",
)
在此示例中,如果OpenAI遇到任何问题,您可以使用Google作为备份大模型供应商。
有关Eden AI的更多信息和详细信息,请查看此链接: https://docs.edenai.co/docs/additional-parameters
链式调用
<!--IMPORTS:[{"imported": "ChatPromptTemplate", "source": "langchain_core.prompts", "docs": "https://python.langchain.com/api_reference/core/prompts/langchain_core.prompts.chat.ChatPromptTemplate.html", "title": "Eden AI"}]-->
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_template(
"What is a good name for a company that makes {product}?"
)
chain = prompt | chat
chain.invoke({"product": "healthy snacks"})
AIMessage(content='VitalBites')