Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.

Our free, local install Artificial Intelligence server. Any platform, any language.

Your device, your network, any platform, any language. Native Installers or Docker images.

What is CodeProject.AI?

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.

Current Modules

We're constantly adding modules, and welcome all community contributions.

  • Llama large language module chatbot
  • Stable diffusion text-to-image
  • Background Remover
  • Cartooniser
  • Face Processing
  • License Plate Reader
  • License Plate Reader (For RKNN on OrangePi)
  • Object Detection (using Coral.AI)
  • Object Detection (YOLOv5 using ML.NET)
  • Object Detection (YOLOv5 3.1 using Python)
  • Object Detection (YOLOv5 6.2 using Python)
  • Object Detection (YOLOv5 RKNN for OrangePi)
  • Object Detection (YOLOv8 using Python)
  • Optical Character Recognition
  • Portrait Filter (Background blur)
  • Scene Classification
  • Sentiment Analysis
  • Sound Classifier (TensorFlow)
  • Super Resolution
  • Text Summary
  • Train your own YoloV5 models

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.

Why are we creating CodeProject.AI?

AI programming is something every single developer needs to know

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!

AI coding examples have too many moving parts

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.

AI solutions often require the use of cloud services

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.

It's hard to mix and match AI solutions

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.

There's always too much boilerplat code you have to write

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.