首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >狂揽1.5万星!!!吴恩达亲做,一行代码切换所有大模型,太6了

狂揽1.5万星!!!吴恩达亲做,一行代码切换所有大模型,太6了

作者头像
豆芽菜小萌
发布2026-09-08 19:22:05
发布2026-09-08 19:22:05
190
举报

大家好呀,我是开源先驱~

最近有一个做 AI 开发的朋友问我:每次换个大模型就要改一堆代码,OpenAI 一套 API、Anthropic 一套 API、Google 又一套,光适配就耗掉半天,有没有省事的办法。我直接把吴恩达的开源项目甩给了他。

先甩数据:

⭐ 15,752 Stars

🍴 1,658 Forks

📝 682 Commits

👤 作者:Andrew Ng(吴恩达)

📅 创建于 2024-06-30,至今约 25 个月

🔧 支持 10+ LLM 提供商

📄 MIT 协议,Python 为主

吴恩达是谁不用多介绍——斯坦福教授、Google Brain 联合创始人、前百度首席科学家、Coursera 联合创始人。他做的开源项目,从创建到现在稳步涨到 1.5 万星:

aisuite 到底是什么?

一个轻量级 Python 库,用一套 OpenAI 风格的接口接所有大模型,切换提供商只改一个字符串。

两层架构:

1️⃣ Chat Completions API——底层,跨提供商统一聊天接口,支持 temperature、max_tokens、tools 等所有核心参数

2️⃣ Agents API——上层,在聊天 API 之上构建的代理框架,支持工具调用、工具包和 MCP

支持的提供商:OpenAI、Anthropic、Google(Gemini + Vertex)、Mistral、Hugging Face、AWS、Cohere、Ollama、OpenRouter、Requesty、Groq、通义……国内外主流的都覆盖了。模型命名格式就一个:provider:model-name,比如 openai:gpt-4oanthropic:claude-3-5-sonnet

设计特点

🔄 一行代码切换,真的就一行

把模型名从 openai:gpt-4o 改成 anthropic:claude-3-5-sonnet,完事。不用改其他任何代码,请求格式、响应结构全部标准化。对比测试两个模型?写个 for 循环遍历模型列表就行。

🛠️ 工具调用,传个 Python 函数就行

别的框架要你手写 JSON Schema,aisuite 直接把普通 Python 函数丢进去,自动从函数签名和 docstring 生成 schema、执行调用、回传结果。设个 max_turns 就自动完成"发消息→调工具→拿结果→继续"的循环。不设 max_turns 就返回标准 JSON 工具规范,手动控制。

🤖 生产级 Agent 框架,不是玩具

Agents API 自带三件套:工具策略(RequireApprovalPolicy、允许/拒绝列表、自定义 callable 控制哪些工具能跑)、状态存储(内存/文件/Postgres,跨进程恢复对话)、产物追踪(捕获 agent 产出内容和每步操作轨迹)。预构建的 toolkits 开箱即用——files、git、shell 直接接。

🔌 MCP 原生支持,不是插件

Model Context Protocol 的工具可以直接传给模型。在 tools 参数里写个 type: "mcp",指定 MCP 服务器的 command 和 args,aisuite 自动连接、发现工具、执行调用。需要可复用连接和安全过滤的话,还有显式的 MCPClient

🏠 本地模型,用 Ollama 一键切

模型名写成 ollama:llama3,本地跑,不用 API Key,不用联网。代码跟调 GPT-4o 一模一样,就改个字符串。开发和测试成本直接降到零。

技术栈一览

技术

用途

Python

核心库(2.9M 行)

TypeScript / Rust

viewer-ui / CLI 工具

Poetry

包管理

React + Vite

Agent Runs 可视化界面

MCP Protocol

工具协议原生支持

Postgres

生产级状态存储

Ollama

本地模型推理

跟同类项目比,aisuite 强在哪?

项目

设计理念

复杂度

Agent能力

MCP

aisuite

极简统一接口

轻量

生产级

原生

LangChain

全功能框架

重型

插件

LiteLLM

统一接口

轻量

快速上手

安装,按需选:

代码语言:javascript
复制
pip install aisuite                # 基础包,不含任何提供商 SDK
pip install 'aisuite[anthropic]'   # 附带特定提供商 SDK
pip install 'aisuite[all]'         # 附带所有提供商 SDK
pip install 'aisuite[mcp]'         # 附带 MCP 支持

最小示例——同一个问题问两个模型:

代码语言:javascript
复制
import aisuite as ai
client = ai.Client()
models = ["openai:gpt-4o", "anthropic:claude-3-5-sonnet-20240620"]
for model in models:
    response = client.chat.completions.create(
        model=model,
        messages=[{"role": "user", "content": "讲个笑话"}],
    )
    print(response.choices[0].message.content)
代码语言:javascript
复制

工具调用——传个函数进去就行:

代码语言:javascript
复制
def will_it_rain(location: str, time_of_day: str):
    """查某个城市今天某个时间会不会下雨"""
    return "YES"
response = client.chat.completions.create(
    model="openai:gpt-4o",
    messages=[{"role": "user", "content": "我在北京,下午2点能野餐吗?"}],
    tools=[will_it_rain],
    max_turns=2  # 自动循环:发消息→调工具→回传→继续
)
代码语言:javascript
复制

小结

LLM 多提供商适配这件事,LangChain 太重,LiteLLM 没有 Agent 能力,aisuite 卡的位置刚刚好——轻量统一接口 + 生产级 Agent 框架 + MCP 原生支持。而且吴恩达亲自下场做,代码质量和设计品味都在线。

最让我欣赏的是设计哲学:不要把简单的事情搞复杂。切换大模型本来就该是改一个字符串的事,工具调用本来就该是传一个函数的事。aisuite 把这两件事做到了。

如果你在用多个 LLM 提供商、需要做模型对比测试、或者想快速搭一个带工具调用的 Agent,aisuite 值得一试。


项目地址:https://github.com/andrewyng/aisuite

作者:Andrew Ng(吴恩达)

开源协议:MIT

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除
目录
  • aisuite 到底是什么?
  • 设计特点
  • 技术栈一览
  • 跟同类项目比,aisuite 强在哪?
  • 快速上手
  • 小结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档