HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
PrefectHQ
marvin
Python2023–2024
PrefectHQ / marvin

marvin

an ambient intelligence library

10Distinct people
19Mentions
0Explicit recommenders
6.2KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

an ambient intelligence library

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by month19 dated mentions

Observed mentions: 2023-03-30 02:04:39 UTC to 2024-10-28 06:57:52 UTC.

024682023-03-01 00:00:00 UTC to 2023-04-01 00:00:00 UTC (exclusive): 8 mentions; 1 submissions, 7 commentsMar 20232023-04-01 00:00:00 UTC to 2023-05-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-05-01 00:00:00 UTC to 2023-06-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-06-01 00:00:00 UTC to 2023-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-07-01 00:00:00 UTC to 2023-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-08-01 00:00:00 UTC to 2023-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-09-01 00:00:00 UTC to 2023-10-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-10-01 00:00:00 UTC to 2023-11-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-11-01 00:00:00 UTC to 2023-12-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2023-12-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsDec 20232024-01-01 00:00:00 UTC to 2024-02-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments2024-02-01 00:00:00 UTC to 2024-03-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-03-01 00:00:00 UTC to 2024-04-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-04-01 00:00:00 UTC to 2024-05-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-05-01 00:00:00 UTC to 2024-06-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024-06-01 00:00:00 UTC to 2024-07-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-07-01 00:00:00 UTC to 2024-08-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-08-01 00:00:00 UTC to 2024-09-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-09-01 00:00:00 UTC to 2024-10-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-10-01 00:00:00 UTC to 2024-11-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 commentsOct 2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
Mar 20232023-03-01 00:00:00 UTC2023-04-01 00:00:00 UTC817
Apr 20232023-04-01 00:00:00 UTC2023-05-01 00:00:00 UTC303
May 20232023-05-01 00:00:00 UTC2023-06-01 00:00:00 UTC000
Jun 20232023-06-01 00:00:00 UTC2023-07-01 00:00:00 UTC000
Jul 20232023-07-01 00:00:00 UTC2023-08-01 00:00:00 UTC000
Aug 20232023-08-01 00:00:00 UTC2023-09-01 00:00:00 UTC000
Sep 20232023-09-01 00:00:00 UTC2023-10-01 00:00:00 UTC303
Oct 20232023-10-01 00:00:00 UTC2023-11-01 00:00:00 UTC000
Nov 20232023-11-01 00:00:00 UTC2023-12-01 00:00:00 UTC000
Dec 20232023-12-01 00:00:00 UTC2024-01-01 00:00:00 UTC101
Jan 20242024-01-01 00:00:00 UTC2024-02-01 00:00:00 UTC110
Feb 20242024-02-01 00:00:00 UTC2024-03-01 00:00:00 UTC000
Mar 20242024-03-01 00:00:00 UTC2024-04-01 00:00:00 UTC101
Apr 20242024-04-01 00:00:00 UTC2024-05-01 00:00:00 UTC000
May 20242024-05-01 00:00:00 UTC2024-06-01 00:00:00 UTC101
Jun 20242024-06-01 00:00:00 UTC2024-07-01 00:00:00 UTC000
Jul 20242024-07-01 00:00:00 UTC2024-08-01 00:00:00 UTC000
Aug 20242024-08-01 00:00:00 UTC2024-09-01 00:00:00 UTC000
Sep 20242024-09-01 00:00:00 UTC2024-10-01 00:00:00 UTC000
Oct 20242024-10-01 00:00:00 UTC2024-11-01 00:00:00 UTC101

What Hacker News says

19 sources
A different AI toolbox, for people interested in results, not hot stuff. My pet theory is that the popular libraries and frameworks we have today (LangChain, LlamaIndex) are first generation products, where just getting the damn thing to work is less important than developer experience, and it’s not yet obvious what the code patterns will be. These are the products built by, and used by, the super early adopters, and leave a lot to be desired. This is not to denigrate either them or the effort and skill people put into them! But I’ve got a “there must be a better way” feeling about the whole thing. Contrast the myriad web frameworks with wild ideas before some sort of best practices coalesced around Rails, Django, Laravel etc (or the equiv in JS land 10 years later). This thinking is heavily influenced by Marvin ( https://github.com/prefe
Read the rest
cthq/marvin ), Vercel AI SDK, and similar efforts. Right now this amounts to me tinkering away in Python and trying different approaches, is rewarding all by itself. If I manage to get it into a coherent library that could be useful to others I’ll open source it. One of the things I do not want is try and commercialize, because I find many commercial open source projects serving the business first, users second (but this is a rant for another time).
In Ask HN: What are you working on? (October 2024)
jlowin·Jan 18, 2024Submission

Show HN: Marvin 2.0 – a lightweight, multi-modal AI toolkit

Hey HN! We just released Marvin 2.0. Marvin is an AI toolkit for developers who want to use LLMs with traditional software. We still see significant challenges integrating LLMs because of how difficult it is to get them to reliably accept and return structured data. Marvin consists of independent, functional tools that address this problem in a variety of ways. Marvin has always been focused on using LLMs to work with native Python datatypes and Pydantic models. In 2.0 we've expanded this significantly with dedicated APIs for the most common use cases we've seen over the last year: classification, entity extraction, transforming data to types, and generating synthetic data. Marvin 2.0 is also fully multi-modal and supports images as inputs for classification, extraction, and transformation tasks (as well as simple image and speech generat
Read the rest
ion). We've also introduces a Pythonic interface to OpenAI's assistants API, which now powers all of Marvin's interactive components. We've tried to make an LLM framework that "sparks joy" and captures that same feeling you had the first time you saw an LLM in action. Try it out and let us know what you think! (Repo: https://github.com/PrefectHQ/marvin) (Previous Show HN: https://news.ycombinator.com/item?id=35366838)
20 points · Open discussion
Sure! We wrote a little bit about the origins in an announce post a couple weeks ago (https://news.ycombinator.com/item?id=35366838). Marvin (https://www.github.com/prefecthq/marvin) powers our AI efforts at Prefect (https://www.github.com/prefecthq/prefect). The first version of Marvin was an internal framework that powered our Slackbot. There are close to 30,000 members of our open-source community and we rely heavily on automation to deliver support. Then, as more of our customers started building AI stacks, we began to view Marvin as a platform to experiment with high-level UX for deploying AI. We have a few internal use cases, but it was the diversity of customer objectives that gave us confidence. Historically, we've always focused on data engineering, but the more we worked with LLMs, the more we saw the same set of issues, basical
Read the rest
ly driven by the need to integrate brittle, non-deterministic APIs that are heavily influenced by external state into well-structured traditional engineering and pipelines. We started using Marvin to codify the high-level patterns we were repeatedly deploying, including getting structured outputs from the LLM and building effective conversational agents for B2B use. The lightbulb moment was when we designed AI functions, which have no source code and essentially use the LLM as a runtime. It's one of those ideas that feels too simple to actually work... but it actually works incredibly well. It was the first time we felt like we weren't building tools to use AI, but rather using AI to build our tools. We open-sourced with AI functions as the headline and the response has been amazing! Now we're focused on releasing the "core" of Marvin -- the bots, plugins, and knowledge handling -- with a similar focus on usability. Hope that's what you were looking for!
In Show HN: A ChatGPT TUI with custom bots
interesting! I hadn't seen that before ai_fn is just a specific way to use Marvin's Bot abstraction, which is one of the few abstractions Marvin offers but a couple differences I notice off the bat between ai_fn and com2fun: - marvin uses pydantic for parsing LLM to result types - you can pass plugins/personality/instructions to the underlying bot via the @ai_fn decorator kwargs - (unless I'm missing a dataclass version of this in com2fun) marvin can parse output into arbitrary pydantic types like this example https://github.com/PrefectHQ/marvin/issues/106#issuecomment-...
In Show HN: Marvin – build AI functions that use an LLM as a runtime
Hi! This example was produced using GPT 3.5 turbo, where yes, the LLM does not always align ideally. I used 3.5 for the example since that's Marvin's default and I know many people wouldn't have gpt4 access yet (which is significantly better at following instructions) - didn't want to set a misleading expectation. that said, my instructions for the bot in this example certainly could have been more precise :) for a more real example, you could check out the other example (which works pretty well on 3.5) https://github.com/PrefectHQ/marvin/blob/main/examples/load_...
In Show HN: Marvin – build AI functions that use an LLM as a runtime
Check out this example from the docs to see how to take a URL as argument and then pass content to the LLM: https://www.askmarvin.ai/guide/concepts/ai_functions/#sugges... (The previous example is also good) A few things you could consider: 1. We have a utility for getting content out of HTML at marvin.utilities.strings.html_to_content. That would probably significantly compress it. 2. Chunk the HTML into batches that fit in context, send each over with an AI function that summarizes it (you could instruct the AI function to optimize the summary to help with title generation), then send all the resulting summaries to a title generator 3. We have a suite of HTML loader classes that will probably be ready for production in a couple releases (see https://github.com/PrefectHQ/marvin/blob/main/src/marvin/loa...) but you could try them out now
Read the rest
(note: these use parts of Marvin beyond just AI functions, so I'm not recommending it as a drop-in right now). Our loader classes are (ideally) designed to do more than just chunk the input; depending on the nature of the input we do different preprocessing steps to help with insight. 4. Experiment and let us know what you learn - we can incorporate it into a loader class if its effective
In Show HN: Marvin – build AI functions that use an LLM as a runtime

Showing the 15 most recent of 19 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.