Your device, your network, any platform, any language. Native Installers or Docker images.
CodeProject.AI is an AI Server you install locally. You send it data, and it performs AI operations and sends you back the results. It's like a database server - it just sits in the background and you make calls using a simple REST API.
Object Detection, face recognition, license plate detection, optical character recognition, image manipulation and more are constantly being added.
Support for Blue Iris and AgentDVR, and seamless integration with Home Assistant come standard, with support for Raspberry Pi, and Coral.AI TPUs, and the Orange Pi with it's Rockchip NPU, as well as Windows, macOS and Linux.
We're constantly adding modules, and welcome all community contributions.
Read A full walkthrough of a bare bones module for CodeProject.AI using Python to get started building your own module.
For those looking to use CodeProject.AI in their apps, read Object Detection with an IP Camera using Python and CodeProject.AI Server for a good example to get you started.
We wanted a fun project we could use to help teach developers and get them involved in AI. We'll be using CodeProject.AI as a focus for articles and exploration to make it fun and painless to learn AI programming
We want your contributions!
You need to install packages and languages and extensions to tools, and then updates and libraries (but version X, not version Y) and then you have to configure paths and...Oh, you want to run on Windows not Linux? In that case you need to... It's all too hard. There was much yelling at CodeProject.
CodeProject.AI Server includes everything you need in a single installer. CodeProject.AI Server also provides an installation script that will setup your dev environment and get you debugging within a couple of clicks.
If you trust the cloud provider, and understand the billing structure, and can be assured you aren't sending sensitive data and won't go over the free tier this is fine. If you have a webcam inside your house, or can't work out how much AWS will charge, then a cloud service simply may not be an option. We need to ensure our data is safe.
CodeProject.AI can be installed locally. Your machine, your network, no data needs to leave your device.
One solution requires PyTorch and Python 3.7, the other ONNX and .NET, while a third requires Tensorflow but needs Python 3.10. It's hard work trying to get everything installed, working and available to your apps. We take care of that and make it just a click of a button.
That's we we created a simple API that takes care of it all for you.
<html>
<body>
Detect the scene in this file: <input id="image" type="file" />
<input type="button" value="Detect Scene" onclick="detectScene(image)" />
<script>
function detectScene(fileChooser) {
var formData = new FormData();
formData.append('image', fileChooser.files[0]);
fetch('http://localhost:5000/v1/vision/detect/scene', {
method: "POST",
body: formData
})
.then(response => {
if (response.ok) response.json().then(data => {
console.log(`Scene is ${data.label}, ${data.confidence} confidence`)
});
});
}
</script>
</body>
</html>
What does it include?
CodeProject.AI includes
- A HTTP REST API Server. The server listens for requests from other apps,
passes them to the backend analysis services for processing, and then passes the
results back to the caller. It runs as a simple self contained web service on your
device.
- Backend Analysis services. The brains of the operation is in the analysis
services sitting behind the front end API. All processing of data is done on the
current machine. No calls to the cloud and no data leaving the device.
- The Source Code, naturally.
What can it do?
CodeProject.AI Server can currently
- Detect objects in images
- Detect faces in images
- Detect the type of scene represented in an image
- Recognise faces that have been registered with the service
- Pull out the most important sentences in text to generate a text summary
- Remove the background automatically from images
- Blur the background of images to produce a portrait effect
- Generate a sentiment score for text
We will be constantly expanding the feature list.
Our Goals
To promote AI development and inspire the AI developer community to dive in and have
a go. Artificial Intelligence is a huge paradigm change in the industry and all
developers owe it to themselves to experiment in and familiarize themselves with the
technology. CodeProject.AI was built as a learning tool, a demonstration, and a
library and service that can be used out of the box.
To make AI development easy. It's not that AI development is that hard. It's that
there are so, so many options. Our architecture is designed to allow any AI
implementation to find a home in our system, and for our service to be callable from
any language.
To focus on core use-cases. We're deliberately not a solution for everyone. Instead
we're a solution for common day-to-day needs. We will be adding dozens of modules and
scores of AI capabilities to our system, but our goal is always clarity and simplicity
over a 100% solution.
To tap the expertise of the Developer Community. We're not experts but we know a
developer or two out there who are. The true power of CodeProject.AI Server comes from
the contributions and improvements from our AI community.