Marvin 项目介绍
Marvin 是一个轻量级的 AI 工具包,旨在构建可靠、可扩展且易于信任的自然语言接口。它由 Prefect 团队开发,是一个开源且免费使用的项目。
项目特点
Marvin 的每个工具都简单易用且自我记录,利用 AI 解决常见但复杂的挑战,如实体提取、分类和生成合成数据。这些工具相互独立,可以单独使用,也可以与其他库结合使用。Marvin 还支持多模态,不仅可以生成图像和音频,还可以使用图像作为输入进行提取和分类。
目标用户
Marvin 主要面向那些更关心如何使用 AI 而非构建 AI 的开发者。它旨在为开发者提供卓越的体验,使他们能够轻松地将 AI 的"魔力"引入传统软件项目中,只需添加几行额外的代码即可。
主要功能
Marvin 提供了多种实用工具,涵盖了文本、图像、音频和视频处理等多个领域:
-
文本处理:
- 文本分类
- 结构化实体提取
- 文本转换为结构化数据
- 生成合成数据
-
图像处理:
- 从文本创建图像
- 图像描述
- 图像分类
- 从图像中提取结构化实体
- 图像转换为结构化数据
-
音频处理:
- 文本转语音
- 语音转文本
- 用户语音录制
-
视频处理:
- 连续视频录制
-
交互功能:
- 与 AI 助手对话
- 构建管理持久状态的应用程序
使用示例
-
文本分类:
marvin.classify("Marvin is so easy to use!", labels=["positive", "negative"])
-
实体提取:
marvin.extract("I moved from NY to CHI", target=Location)
-
数据生成:
marvin.generate(n=4, target=Location, instructions="cities in the United States named after presidents")
-
文本标准化:
marvin.cast("one two three", list[int])
-
AI 驱动的函数:
@marvin.fn def sentiment(text: str) -> float: """ Returns a sentiment score for `text` between -1 (negative) and 1 (positive). """
-
图像生成:
marvin.paint("a simple cup of coffee, still warm")
安装和使用
用户可以通过 pip 安装最新版本的 Marvin:
pip install marvin -U
安装完成后,可以通过运行 marvin version
命令来验证安装是否成功。
项目发展
Marvin 项目正在积极开发中,欢迎用户提供反馈、报告 bug 或提出新的功能想法。开发团队鼓励用户通过 GitHub 或 Discord 社区参与讨论,共同推动项目的发展。