描述
magentic 是一个 Python 库,旨在简化大型语言模型 (LLM) 在您的 Python 项目中的集成。它使开发人员能够将 LLM 交互视为标准的 Python 函数,利用 `@prompt` 和 `@chatprompt` 等装饰器来定义提示并接收结构化输出。这种方法通过无缝融合 LLM 功能与现有 Python 代码和外部工具,促进了复杂代理系统的创建。
阅读更多
magentic 的核心功能围绕其装饰器展开,这些装饰器将 Python 函数转换为由 LLM 驱动的操作。`@prompt` 装饰器允许创建接受参数的函数,将这些参数插入预定义的提示模板,然后将其发送给 LLM 进行处理。由于类型注解,LLM 的输出可以是一个简单的字符串,也可以是一个结构化对象,例如 Pydantic 模型。`@chatprompt` 装饰器通过支持聊天消息模板(包括系统消息、用户消息和助手消息)来扩展此功能,这对于少样本提示和提供上下文特别有用。
magentic 支持函数调用等高级功能,LLM 可以决定使用提供的参数调用特定的 Python 函数。`@prompt_chain` 装饰器通过允许 LLM 链接函数调用来进一步增强此功能,将一个调用的输出用作下一个调用的输入,直到达到最终答案。对于实时应用程序,magentic 为文本和结构化输出提供流式传输功能,允许开发人员在数据生成时进行处理。异步编程也得到了充分支持,能够实现并发 LLM 查询,从而显著加快生成速度。
该库拥有广泛的 LLM 提供商支持,包括 OpenAI、Anthropic 和 Ollama,并为各种与 OpenAI 兼容的 API 提供配置。这种灵活性允许开发人员选择最适合其需求和预算的 LLM。magentic 还通过更好的 IDE 集成和通过 OpenTelemetry 和 Logfire 集成实现的可见性等功能,强调开发人员体验。它专为希望在熟悉的 Python 环境中构建利用 LLM 功能的智能应用程序、AI 代理和复杂工作流的开发人员而设计。
- 类别AI 智能体构建工具
- 定价模式开源
- 部署云端
- 平台网页版
magentic的核心功能
使用装饰器将 LLM 集成到 Python 函数中。
使用 @prompt 定义提示,使用 @chatprompt 定义聊天消息。
使用 Pydantic 模型和 Python 类型生成结构化输出。
支持 LLM 辅助重试,以提高输出模式的遵从性。
通过 OpenTelemetry 和 Pydantic Logfire 集成实现可见性。
支持多种 LLM 提供商(OpenAI、Anthropic、Ollama)的配置选项。
用于复杂 LLM 工作流的函数调用和链式调用。
文本和结构化输出的流式传输,用于实时处理。
异步函数支持,用于并发 LLM 查询。
用于增强 IDE 支持和 linting 的类型注解。
支持 LLM 交互中的视觉能力。
magentic入门
克隆仓库: git clone https://github.com/jackmpcollins/magentic.git
安装依赖项: pip install magentic
配置 LLM API 密钥: 设置环境变量,如 OPENAI_API_KEY。
定义 LLM 函数: 使用 @prompt 或 @chatprompt 装饰器。
执行 LLM 函数: 调用装饰后的 Python 函数。
集成输出: 在您的应用程序中使用结构化输出或流式数据。
magentic的使用案例
- AI 代理开发
- 结构化数据提取
- 内容生成
- 自动化工作流
- 聊天机器人开发
- 工具集成
- 数据分析辅助








