AISuite 是一个新的开源 Python 库,提供统一的跨 LLM API

aisuite简介

aisuite是由Andrew Ng最近宣布的项目,旨在为当前最流行的大型语言模型(LLMs)提供一个类似OpenAI的API。其主要目标是使开发者能够轻松尝试和比较不同LLM的结果,或在不需要更改代码的情况下从一个LLM切换到另一个LLM。

主要功能

  • 简化多LLM提供者的使用:在同一个应用中使用多个LLM提供者可能会很麻烦,而aisuite通过更改一个字符串来选择所需的LLM提供者,从而简化了这一过程。例如,使用OpenAI GPT-4o时,只需将model参数设置为"openai:gpt-4o"
  • 代码示例

    import aisuite as ai
    client = ai.Client()
    
    messages = [
        {"role": "system", "content": "Respond in Pirate English."},
        {"role": "user", "content": "Tell me a joke."},
    ]
    
    response = client.chat.completions.create(
        model="openai:gpt-4o",
        messages=messages,
        temperature=0.75
    )
    print(response.choices[0].message.content)
    
    response = client.chat.completions.create(
        model="anthropic:claude-3-5-sonnet-20240620",
        messages=messages,
        temperature=0.75
    )
    print(response.choices[0].message.content)

安装与支持

  • 安装:通过pip install aisuite安装。aisuite还提供了安装LLM提供者库的快捷方式,例如pip install 'aisuite[anthropic]'可以安装基础库和Anthropic支持。

用户反馈

  • 正面评价:许多用户认为aisuite确实解决了部署LLM时的痛点,并将其与数据库抽象层进行比较,认为它能够像数据库抽象层一样在不同环境中切换LLM。
  • 局限性:一些用户指出aisuite目前还不支持流式传输、速率限制、令牌使用监控等功能,并且对于自定义云部署的LLM支持情况尚不明确。然而,aisuite仍处于早期开发阶段,未来可能会增加这些功能。

其他解决方案

  • LiteLLM:一个更成熟、功能更全面的解决方案,支持使用相同的OpenAI-like API调用多个LLM,包括按项目设置的速率和预算限制。
  • OpenRouter:提供了基于Web的UI,支持多种LLM。

当前支持的LLM提供者

aisuite目前支持OpenAI、Anthropic、Azure、Google、AWS、Groq、Mistral、HuggingFace和Ollama。开发者需要使用每个LLM提供者的API密钥,并且aisuite主要使用每个提供者发布的API或SDK以确保稳定性。目前,aisuite主要集中在聊天完成功能,但未来将涵盖更多用例。

阅读 18
0 条评论