marvin

用 Python 装饰器,让任意函数秒变 AI 能力

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 415 🐛 待处理 125 👀 关注 33
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 6205
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源库,Apache-2.0 许可证,完全免费,可自行部署使用。

项目预览

marvin 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队PrefectHQ
定价模式🏷️完全免费
价格说明开源库,Apache-2.0 许可证,完全免费,可自行部署使用。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型agents,ai,ambient-ai,chatbots,gpt,llm,nli,python,structured-outputs
GitHub 星标★ 6205
上线时间2023-03-10 00:00:00
代码更新2026-11-01
仓库体积65.5 MB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-08-09
浏览次数4

项目介绍

Marvin 是一个面向 Python 的“环境智能”库,旨在将大语言模型(LLM)的能力无缝嵌入日常代码,让开发者无需复杂提示工程即可构建 AI 驱动的功能。它解决的核心问题是:传统 LLM 集成需要繁琐的 API 调用、提示管理和输出解析,而 Marvin 通过声明式 API 和类型注解,让模型自动完成文本分类、实体提取、数据生成、图像理解等任务。其核心能力包括:基于 Pydantic 的强类型输出(确保结构化结果)、内置函数装饰器(将普通函数升级为 AI 函数)、多模态支持(文本与图像)、以及异步和流式处理。Marvin 还提供简洁的 DSL(领域特定语言),降低使用门槛,适合快速原型和生产级应用。它强调“环境智能”理念,即 AI 作为背景能力,自动响应上下文,减少显式交互。项目活跃,文档完善,但依赖外部模型 API(如 OpenAI),需配置密钥。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 6205

技术标签

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 6 步

环境要求

  • Python 环境(marvin 是 Python 库)
  • uv 包管理器(README 使用 uv add 安装)
  • 一个可用的 LLM 提供方 API Key,默认使用 OpenAI
  • 可访问外网以调用模型接口

安装与启动步骤

  1. 1准备 Python 项目

    marvin 是 Python 库,README 通过 uv add 安装,需先在项目目录中初始化 Python 项目环境并确认 uv 可用。

  2. 2安装 marvin

    在项目目录执行安装命令,uv 会把 marvin 写入项目依赖并下载安装。

    uv add marvin
  3. 3配置模型密钥

    Marvin 默认使用 OpenAI,需设置 OPENAI_API_KEY 环境变量,把示例值换成你自己的真实密钥。

    export OPENAI_API_KEY=sk-xxxxxxxx
  4. 4运行第一个任务

    调用 marvin.run 让模型执行一个简单任务,能打印出结果说明安装和密钥配置成功。

    python -c "import marvin; print(marvin.run('Write a short poem about artificial intelligence'))"
  5. 5尝试结构化输出

    通过 result_type 指定返回类型,让模型直接返回 Python 原生类型,验证结构化输出能力。

    python -c "import marvin; print(marvin.run('the answer to the universe', result_type=int))"
  6. 6测试信息抽取

    使用 marvin.extract 从非结构化文本中抽取指定类型的数据,可按需附加 instructions 约束。

    python -c "import marvin; print(marvin.extract('i found $30 on the ground and bought 5 bagels for $10', int, instructions='only USD'))"

关键配置

配置项必填说明示例
OPENAI_API_KEY是OpenAI 密钥,Marvin 默认用它调用模型sk-xxxxxxxx

如何确认成功

运行 marvin.run 能正常打印出诗句,再执行 result_type=int 的例子输出 42,即表示安装与密钥配置成功。

常见问题

Q:必须使用 OpenAI 吗?

A:不是。Marvin 默认使用 OpenAI,但原生支持所有 Pydantic AI 模型,可切换到其他提供方。

Q:没有 uv 怎么安装?

A:README 只给出了 uv add marvin 这一安装方式,可先按 uv 官方文档安装 uv 再执行该命令。

Q:怎样拿到结构化结果而不是纯文本?

A:在 marvin.run 中传入 result_type 指定目标类型(如 int),或使用 cast、extract、classify 等工具。

Q:如何限制抽取范围?

A:在 extract 等调用中通过 instructions 参数传入额外约束,例如只提取美元金额。

注意事项

  • API Key 属于敏感信息,不要写进代码或提交到 Git 仓库。
  • 所有示例都需要联网调用大模型接口,无网络时会失败。
  • README 未提供 pip 安装、端口或 Docker 部署说明,本教程仅覆盖库安装与代码调用。

核心亮点

  • 声明式 API 结合类型注解,自动输出 Pydantic 结构化数据,省去解析烦恼
  • 函数装饰器一键增强,无需重构现有代码,上手极快
  • 支持多模态(文本+图像)和流式输出,覆盖常见 AI 任务

不足之处

  • 深度依赖外部 LLM API(如 OpenAI),本地模型支持有限
  • 文档/社区待观察,高级用法示例偏少

适用场景

  • 快速构建文本分类、情感分析等 NLP 流水线
  • 从非结构化文档中自动提取实体并生成结构化数据
  • 为现有 Python 应用注入 AI 功能(如智能客服、内容审核)

替代项目

LangChain、Semantic Kernel、Outlines

上一篇:Awesome-GPT-Agents

下一篇:TaskWeaver

同类项目推荐

AGenUI 开源

让 AI 在手机端原生渲染动态界面,流畅如丝滑

Native A2UI Renderer for iOS/Android/HarmonyOS. High performance streaming Generativ···

★ 1229 2026-08-09
tinyhumans 开源

在微型沙盒里,创造和互动小人物的故事

A little interactive sandbox for tiny people, tiny thoughts, and their tiny stories

★ 129 2026-08-09
claude-ops-inspector 开源

给 Claude 子代理代码做安全体检,防漏洞上线

Subagent Verification for Claude AI Code Networks 2026

★ 119 2026-08-09
OpenDAN-Personal-AI-OS 开源

把散落的AI装进一个操作系统,统一管理你的智能代理

OpenDAN is an open source Personal AI OS , which consolidates various AI modules in ···

★ 2070 2026-08-09
SciAgent-Skills 开源

让 AI 秒变生信专家,197 个技能开箱即用

197 bioinformatics & life science skills for Claude Code and AI agents — BixBench 9···

★ 386 2026-08-09
sandbase-harness 开源

让任何模型都能安全可控地运行智能体,带审计和回放。

Local-first, self-hosted AI agent runtime and MCP bridge with sandboxed sessions, me···

★ 641 2026-08-16
okou 开源

让 AI 接入你现有工具,直接替团队干活

Okou connects to the tools your team already uses and does the work — across market···

★ 1162 2026-09-25
eko 开源

用大白话写工作流,自动生成可上线的 AI 智能体

Eko (Eko Keeps Operating) - Build Production-ready Agentic Workflow with Natural Lan···

★ 4964 2026-08-09
octo-cli 开源

给 AI 智能体一个结构化命令行,告别交互式提示

Metadata-driven CLI for AI Agent Bots — 48 operations across 7 domains, structured ···

★ 922 2026-08-09