使用LangChain与Eden AI集成的完整指南

100 阅读3分钟

使用LangChain与Eden AI集成的完整指南

引言

Eden AI正在改变AI的应用方式,通过将最佳AI供应商联合在一起,用户能够释放人工智能的无限潜力。其统一的平台简化了AI功能的部署,使用户能够轻松访问全面的AI能力。本篇文章将向您介绍如何通过LangChain与Eden AI模型进行交互,为您的项目增添AI智慧。

主要内容

1. Eden AI的优势

  • 多供应商支持: 通过多样化的语言模型选择,用户可以选择最适合其用例的模型。
  • 回退机制: 即使主要提供商不可用,系统也能自动切换到备用提供商,确保操作的连续性。
  • 使用跟踪: 可以按项目和API密钥跟踪资源消耗,便于监控和管理。
  • 监控与可观测性: 平台提供了全面的监控工具,用于分析模型性能和使用模式。

2. 获取API密钥

访问Eden AI的API需要一个API密钥。您可以通过注册账户并生成API密钥来获取。

3. 环境变量设置

建议将API密钥设置为环境变量:

export EDENAI_API_KEY="YOUR_API_KEY"

或者在初始化EdenAI Chat Model类时,直接传递API密钥作为参数。

4. 使用LangChain进行API调用

以下是如何使用LangChain与Eden AI进行交互的示例:

from langchain_community.chat_models.edenai import ChatEdenAI
from langchain_core.messages import HumanMessage

chat = ChatEdenAI(
    edenai_api_key="YOUR_API_KEY",  # 使用API代理服务提高访问稳定性
    provider="openai",
    temperature=0.2,
    max_tokens=250
)

messages = [HumanMessage(content="Hello!")]
chat.invoke(messages)

5. 高级功能

Eden AI支持流处理和批处理, 以及设置回退机制。例如,当OpenAI不可用时,您可以指定Google作为备用提供商:

chat = ChatEdenAI(
    edenai_api_key="YOUR_API_KEY",
    provider="openai",
    temperature=0.2,
    max_tokens=250,
    fallback_providers="google",
)

代码示例

以下是一个完整示例,展示如何使用工具和结构化输出:

from langchain_core.messages import HumanMessage, ToolMessage
from langchain_core.tools import tool
from langchain_core.pydantic_v1 import BaseModel, Field
from langchain_community.chat_models.edenai import ChatEdenAI

@tool
def add(a: int, b: int) -> int:
    """Adds a and b."""
    return a + b

llm = ChatEdenAI(
    provider="openai",
    max_tokens=1000,
    temperature=0.2,
)

llm_with_tools = llm.bind_tools([add], tool_choice="required")

query = "What is 11 + 11?"
messages = [HumanMessage(query)]
ai_msg = llm_with_tools.invoke(messages)
messages.append(ai_msg)

tool_call = ai_msg.tool_calls[0]
tool_output = add.invoke(tool_call["args"])

messages.append(ToolMessage(tool_output, tool_call_id=tool_call["id"]))

print(llm_with_tools.invoke(messages).content)
# Output: '11 + 11 = 22'

常见问题和解决方案

  • 访问不稳定: 在某些地区,访问API可能不稳定,建议使用API代理服务来提高访问稳定性。
  • 工具流调用不支持: 目前Eden AI不支持工具调用的流处理。

总结和进一步学习资源

Eden AI通过提供丰富的功能和多供应商支持,极大地简化了AI模型的使用。结合LangChain,您可以快速将AI功能集成到应用中。继续深入学习可以参考以下文档:

参考资料

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