项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 6205
使用教程
环境要求
- Python 环境(marvin 是 Python 库)
- uv 包管理器(README 使用 uv add 安装)
- 一个可用的 LLM 提供方 API Key,默认使用 OpenAI
- 可访问外网以调用模型接口
安装与启动步骤
-
1准备 Python 项目
marvin 是 Python 库,README 通过 uv add 安装,需先在项目目录中初始化 Python 项目环境并确认 uv 可用。
-
2安装 marvin
在项目目录执行安装命令,uv 会把 marvin 写入项目依赖并下载安装。
uv add marvin -
3配置模型密钥
Marvin 默认使用 OpenAI,需设置 OPENAI_API_KEY 环境变量,把示例值换成你自己的真实密钥。
export OPENAI_API_KEY=sk-xxxxxxxx -
4运行第一个任务
调用 marvin.run 让模型执行一个简单任务,能打印出结果说明安装和密钥配置成功。
python -c "import marvin; print(marvin.run('Write a short poem about artificial intelligence'))" -
5尝试结构化输出
通过 result_type 指定返回类型,让模型直接返回 Python 原生类型,验证结构化输出能力。
python -c "import marvin; print(marvin.run('the answer to the universe', result_type=int))" -
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
下一篇:TaskWeaver
同类项目推荐
AGenUI
开源
让 AI 在手机端原生渲染动态界面,流畅如丝滑
Native A2UI Renderer for iOS/Android/HarmonyOS. High performance streaming Generativ···
tinyhumans
开源
在微型沙盒里,创造和互动小人物的故事
A little interactive sandbox for tiny people, tiny thoughts, and their tiny stories
claude-ops-inspector
开源
给 Claude 子代理代码做安全体检,防漏洞上线
Subagent Verification for Claude AI Code Networks 2026
OpenDAN-Personal-AI-OS
开源
把散落的AI装进一个操作系统,统一管理你的智能代理
OpenDAN is an open source Personal AI OS , which consolidates various AI modules in ···
SciAgent-Skills
开源
让 AI 秒变生信专家,197 个技能开箱即用
197 bioinformatics & life science skills for Claude Code and AI agents — BixBench 9···
sandbase-harness
开源
让任何模型都能安全可控地运行智能体,带审计和回放。
Local-first, self-hosted AI agent runtime and MCP bridge with sandboxed sessions, me···
okou
开源
让 AI 接入你现有工具,直接替团队干活
Okou connects to the tools your team already uses and does the work — across market···
eko
开源
用大白话写工作流,自动生成可上线的 AI 智能体
Eko (Eko Keeps Operating) - Build Production-ready Agentic Workflow with Natural Lan···
octo-cli
开源
给 AI 智能体一个结构化命令行,告别交互式提示
Metadata-driven CLI for AI Agent Bots — 48 operations across 7 domains, structured ···
