What is Marvin?
Marvin is an open-source library designed for building AI-powered software. It introduces a new concept - AI functions that generate outputs on-demand through AI, without relying on source code. These functions work with native data types and can be integrated seamlessly into any codebase, thus eliminating the need for complex code for tasks like extracting entities from web pages or categorizing items in a database. Marvin also features more flexible bots, which are highly capable AI assistants that can be given specific instructions, personalities, or roles. Additionally, developers can use Marvin to add AI capabilities wherever they are most impactful, without needing to start from scratch.Marvin is an opinionated, high-level library with the primary goal of integrating AI tools into software development. It is ideal for those who want to process structured data without needing traditional source code, integrate an AI assistant into their code, or deploy cutting-edge AI technology with confidence. Marvin's prompts have been tested and hardened for months of real-world use, and its code is available on GitHub under an Apache 2.0 license. However, Marvin does not provide full control of an AI, nor does it help developers to write source code. In summary, Marvin is a powerful tool for building AI-powered applications that do not rely on traditional source code. Marvin's AI functions and bots make it easy to integrate AI capabilities into any codebase, without requiring extensive AI knowledge. Its convenience, flexibility, and ease of use are ideal for software developers looking to leverage AI's advantages in their work.
Pros
- Open-source library
- Works with native data
- Can integrate into codebase
- Flexible bots integration
- Application doesn't need source code
- Processes structured data without code
- Bots with personalities
- Plugin supported
- Knowledge storage
- Available Python API
- Interactive CLI
- FastAPI server
- Built on Pydantic
- FastAPI
- No source code for sentiment categorizing
- Bots can hold conversations
- Bots use custom plugins
- Functions without source code
- Optimized for useful outcomes
- Hardened prompts
- Operates on GPT-4
- GPT-3.5
- Functional prompt engineering
- Extracts data from complex inputs
Cons
- Not for writing source code
- Limited to GPT-4 and GPT-3.5 models
- Doesn't expose LLM configuration
- Doesn't allow full prompt control
- Not for existential enlightenment
- Opinionated library
- limited customisation
- Doesn't support raw LLM prompts
Marvin FAQ
What is Marvin?
Marvin is an open-source library designed for building AI-powered software. It offers a new concept of AI functions that produce results on-demand via AI, without relying on source code. Marvin also introduces highly able AI assistants, known as bots, that can take on particular instructions, personalities, or roles. Marvin is particularly suitable for integrating AI tools into software development, processing structured data, and enhancing codebases with AI functionalities without starting from scratch.
What are the key features of Marvin?
Marvin's key features include AI functions that process structured data without source code, bots with personalities that follow instructions, the ability to build plugins to augment bot capabilities, knowledge storage that bots can use, and availability as a Python API, interactive CLI, or FastAPI server.
How does Marvin work?
Marvin integrates AI directly into your codebase by creating AI functions that simulate regular functions, generating outputs on-demand using AI instead of relying on source code. This enables developers to avoid writing complex code for tasks such as extracting entities from web pages or categorizing items in a database. Developers simply need to describe their requirements, call the function, and receive their results. Marvin also includes bots that can follow specific instructions and roles, enhancing its capabilities.
What are AI functions in Marvin?
In Marvin, AI functions are a unique feature that differentiates from traditional functions in that they don't depend on source code but instead generate their results via AI. These functions work with native data types and can be integrated into any codebase. For instance, these functions can execute tasks like extracting entities from web pages, scoring sentiment, or categorizing items in a database.
What is the role of bots in Marvin?
Bots in Marvin are highly capable AI assistants that can be given specific instructions, personalities or roles. They can use custom plugins, leverage external knowledge, and automatically generate a history of every thread. They are designed to be integrated into a codebase but can also be exposed directly to users. In essence, bots function as a type of AI function.
Can Marvin integrate with any codebase?
Yes, Marvin can seamlessly integrate with any codebase. Its AI functions have been designed to work with native data types enabling them to be woven into sophisticated pipelines and different codebases. This ease of integration transforms the traditional use of AI from a single string input to output format to a more dynamic, functional parameter model.
Does Marvin help with writing source code?
Marvin is not designed to assist in writing source code. Its primary function is to perform tasks that are difficult or impossible to express in source code. Marvin facilitates complex reasoning within code in a way that feels intuitive and natural.
In what situations should I use Marvin?
You should use Marvin if you want to process structured data with AI functions, if you need an AI assistant in your code that can follow instructions and solve complex problems, and if you want to deploy cutting-edge AI technology with confidence but with minimal decision-making. Marvin is ideal if you are more interested in using AI systems rather than building them.