认识Marvin:一个用于构建 AI 驱动软件的内置库。Marvin 的工作是将 AI 直接集成到您的代码库中,使其看起来和感觉起来与任何其他功能一样。
Marvin 引入了一个名为AI Functions的新概念。这些功能与传统功能的不同之处在于它们不依赖源代码,而是通过 AI 按需生成输出。借助 AI 函数,您不必为从网页中提取实体、对情绪评分或对数据库中的项目进行分类等任务编写复杂的代码。只需描述您的需求,调用函数,即可大功告成!
AI 函数与原生数据类型一起工作,因此您可以将它们无缝集成到任何代码库中,并将它们链接到复杂的管道中。从技术上讲,Marvin 将使用 AI 的签名(str) -> str
从(**kwargs) -> Any
. 我们称之为“功能提示工程”。
除了 AI 功能,Marvin 还引入了更灵活的机器人。机器人是功能强大的 AI 助手,可以为其提供特定的指令和个性或角色。他们可以使用自定义插件并利用外部知识,并自动创建每个线程的历史记录。在幕后,人工智能功能实际上是一种机器人。
开发人员可以使用 Marvin 在最有影响力的地方添加 AI 功能,而无需从头开始。Marvin 的代码在GitHub上可用,并在我们的Discord 服务器上问好!
特征
🪄无需源代码编写AI 函数来处理结构化数据
🤖 与有个性的机器人聊天并遵循指示
🔌 构建插件以赋予您的机器人新的能力
📚 存储机器人可以访问和使用的知识
📡 作为 Python API、交互式 CLI 或 FastAPI 服务器提供
快速开始¶
- 安装:
pip install marvin
- 聊天:
marvin chat
marvin chat -p "knows every Star Wars meme" Hello there
有关更多信息,请参阅入门文档!
开源¶
Marvin 是开源的,拥有 Apache 2.0 许可证,并建立在 Pydantic、FastAPI、Langchain 和 Prefect 等标准之上。代码在GitHub上可用。
即将推出¶
♻️ 交互式人工智能功能
🖼️ 管理和聊天 UI
🏗️ 高级数据加载和预处理
🔭 AI 可观察性平台
🖥️ 部署指南
🎁 常见用例的快速入门
什么时候应该使用 Marvin?¶
Marvin 是一个固执己见的高级库,其目标是将 AI 工具集成到软件开发中。使用 Marvin 有几个主要原因:
-
您需要一个可以处理结构化数据的AI 函数。Marvin 将 AI 的强大功能带入原生数据结构,让您可以构建原本难以甚至无法编写的函数。例如,您可以使用 AI 函数列出段落中的所有动物,从 HTML 内容生成 JSON 文档,提取符合某些条件的关键字,或者对情绪进行分类——无需任何传统源代码。
-
您需要在您的代码中使用AI 助手。Marvin 的机器人可以遵循指令并进行对话以解决复杂的问题。他们可以使用自定义插件并利用外部知识。它们旨在集成到您的代码库中,但您当然也可以将它们直接暴露给您的用户!
-
您希望自信地部署尖端 AI 技术,但又不想做出太多决定。成功使用 LLM 需要非常仔细地考虑提示、数据预处理和基础设施。我们的目标用户对使用AI 系统比构建AI 系统更感兴趣。因此,Marvin 旨在通过优化有用的结果来尽可能直接地采用这项技术。Marvin 的提示已通过数月的实际使用得到强化,并将随着时间的推移不断改进。
什么时候不应该使用 Marvin?¶
有几个不使用 Marvin 的原因:
-
你想要完全控制一个人工智能。Marvin 是一个高级库,并且(除了少数例外)通常不会向用户公开 LLM 配置。我们选择了在大多数情况下都能提供最佳结果的设置,并考虑了 Marvin 的内置提示。
-
你需要一个 AI 副驾驶来编写代码。Marvin 的工作不是帮助您编写源代码,而是帮助您编写源代码。它是为了帮助您完成难以或无法在源代码中表达的事情。这可能包括从日常活动到编写可以从电子邮件中提取北美常见动物名称的函数(是的,这是一个荒谬的例子 – 但它是可能的)。现代 LLM 擅长复杂推理,而 Marvin 可以让您以一种感觉自然的方式将其带入您的代码中。
-
您想使用其他 LLM 模型。Marvin 旨在针对 OpenAI 的 GPT-4 和 GPT-3.5 模型运行。虽然我们将来可能会扩展这些模型,但我们发现,为一种模型设计的提示很少能在不修改的情况下很好地转化为其他模型。为了最大限度地发挥库的作用,我们决定暂时只关注这些流行的模型。
-
您想要完全控制您的提示。作为一个“功能提示工程”平台,Marvin 接受用户输入并生成可能会提供用户想要的结果的提示,即使它们不是用户所说的逐字记录。Marvin 不希望用户向 LLM 发送完全原始的提示。
-
您正在寻找终极问题。虽然马文非常聪明,但即使是他也无法提出生命、宇宙和万物的终极问题。如果你正在寻求存在主义的启蒙,你可能需要超越我们心爱的偏执机器人。
推特地址:https://twitter.com/jlowin/status/1641155964601548802