andrewyng/aisuite

Simple, unified interface to multiple Generative AI providers

解决的问题

aisuite 是一个轻量级的 Python 库,旨在通过消除处理多个不同提供商 SDK 的摩擦,简化使用大语言模型 (LLM) 进行开发的过程。它为与各种 AI 模型交互提供了统一的接口,并提供了一个用于创建可以使用工具的智能体 (Agents) 的高级框架。

工作原理

该库由两个主要层组成:

  1. Chat Completions API:一个统一的 OpenAI 风格接口,允许开发人员通过简单地更改模型字符串(例如,从 openai:gpt-4o 更改为 anthropic:claude-3-5-sonnet)来切换提供商(如 OpenAI、Anthropic、Google、Mistral 和 Ollama)。它标准化了这些不同服务的请求和响应结构。
  2. Agents API:构建在聊天 API 之上的层,用于实现智能体的创建。它允许开发人员将普通的 Python 函数作为工具传递,库会自动将其转换为模式 (schema) 并执行。它通过 max_turns 参数支持多轮对话循环,并包含用于文件、git 和 shell 的预构建工具包。

此外,它还支持 Model Context Protocol (MCP),无需样板代码即可集成外部工具。

适用对象

想要避免供应商锁定,并希望在不重写集成代码的情况下轻松尝试不同 LLM 提供商的构建 AI 应用或智能体的 Python 开发人员。

亮点

  • 统一的 API:为包括 OpenAI、Anthropic、Google、Mistral、Hugging Face、AWS、Cohere、Ollama 和 OpenRouter 在内的广泛提供商提供单一接口。
  • 自动工具调用:直接将 Python 函数转换为工具并自动管理执行循环。
  • 智能体框架:包括用于结构化工作的 Runner、用于安全的工具策略(例如:审批策略)以及用于持久化对话的状态存储。
  • MCP 支持:与 Model Context Protocol 原生集成,实现轻松的工具扩展。
  • 可扩展性:可以通过简单的适配器模式添加新的提供商。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目