Documentation

Smarter Architecture at a glance

  • Docker-based Api and web console application that is designed to run both locally as well as natively on Kubernetes.
  • YAML-first interface for managing AI resources that leverages a separately managed command-line interface that is similar in design to Kubernetes' kubectl.
  • Robust LLM tool call / function call extensibility mobile that facilitates no-code integrations to remote data sources like Sql databases and remote Api's.
  • Independent drop-in Chat UI written in React that works on any html web page via a simple 2-step DOM manipulation.
  • Proprietary chat/agent REST Api to manage sessions between the Smarter Api backend and the Smarter Chat UI.
  • A robust "batteries included" backend, with industrial strength security countermeasures for common Internet and web intrusion strategies including SQL injection, LLM prompt injection, cross-site request forgeries, brute force password attacks, distributed denial of service, cross-site scripting, clickjacking, host header corruptions.
  • Python-Django web console Prompt Engineer's Workbench for developing advanced LLM tool call-based extensions that leverage remote data sources and can be deployed to independent, custom domains.
  • Sophsticated logging, content moderation.
  • Team management features for granular control of AI resource ownership, api key access, and internal budgeting
  • Configurable use-based internal billing features based on api calls as well as plugin usage.

The principal technologies in the Smarter platform stack include:

  • Amazon Web Services
  • Debian, Ubuntu or Amazon Linux
  • Docker/Kubernetes/Helm
  • MySQL
  • Redis
  • Terraform/awscli/Boto3
  • Python/Django
  • Pytest/Pluggy
  • Pydantic/Pandas/NumPy
  • react.js
  • Bootstrap
  • Go lang
  • GitHub Actions

Running Locally

You can stand up a fully functional instance of the Smarter platform using this 1-click approach, smarter-sh/smarter-deploy . Review the README before you begin to ensure that your local development environment meets all minimum requirements.

Running In Production

Smarter is a cloud native platform written to run production workloads in AWS Elastic Kubernetes Service, and optionally, any remote Sql service and db engine that Django supports. Be aware that preparing the AWS infrastructure is a non-trivial exercise that assumes you have advanced knowledge of working with all of AWS' basic low level services, including

You are strongly recommended to use the following Smarter pre-configured cloud deployment resources:

Command-Line Interface

You need to install the Smarter CLI regardless of whether you've installed Smarter locally or to a production environment. Smarter is a yaml-first platform that works similarly to Kubernetes + Kubectl. You manage Smarter AI resources with yaml manifests, and you'll need Smarter cli in order to apply these manifests. Downloads for all common operating systems are available at smarter.sh/cli . The source for the cli (which you absolutely should never need under any circumstances, unless you're simply curious) is located at smarter-sh/smarter-cli .

Python-Django

Most of Smarter is developed using Python's Django web framework with the following noteworthy additions:

  • Django-rest-knox , used for creating secure, performant REST APIs.
  • Django Celery. robust asynchronous compute layer using Celery, Redis and Kubernetes which can be leveraged for scheduled tasks like automated reports as well as real-time compute-intensive functions.
  • Pydantic , for extending Django's settings module to facilitate CI-CD friendly configuration data from multiple sources: environment variable, terraform, Kubernetes secrets, Github Actions secrets, etc.
  • Pandas , NumPy , SciPy and Levenshtein
  • OpenAI, GoogleAI, MetaAi, Anthropic and other compatible LLMs

ReactJS chat application

The chat app in the dashboard sandbox is an independently managed NPM React component, located here smarter-sh/smarter-chat .

This React component is built substantially with Vite.js , @chatscope/chat-ui-kit-react , and react-pro-sidebar .

Django Integration

Be aware that there are many considerations for getting React to work inside a Django project. You are strongly recommended to review this simple 2-step integration methodology that is used in the Smarter web console, smarter-sh/web-integration-example

Webapp design features

  • robust, highly customizable chat features
  • A component model for implementing your own personalized OpenAI apps
  • Skinnable UI for each app
  • Includes default assets for each app
  • Small compact code base
  • Robust error handling for non-200 response codes from the custom REST API
  • Handles direct text input as well as file attachments
  • Info link to the OpenAI API official code sample
  • Build-deploy managed with Vite

Smarter REST API

Api document is located here, Smarter Docs - Api and source code is located here, smarter/apps/api/

Not to be confused with Smarter's flagship product, customer-implemented custom REST API's, Smarter additionally has its own REST API, which is a Python Django project implementing it's proprietary Plugin model, along with additional models for commercializing the service.

Minimum Developer Requirements

  • 20Gib of available drive space
  • MacOS: Version 12 (Monterey), Apple Silicon (M1 or newer) or Intel CPU with support for virtualization
  • Windows: Windows 10 64-bit, 64-bit processor with Second Level Address Translation (SLAT), 8Gib of RAM, Windows Subsystem for Linux 2 if running Windows Home Editions.
  • git . pre-installed on Linux and macOS
  • make . pre-installed on Linux and macOS.
  • Python 3.12 : for creating virtual environment used for building AWS Lambda Layer, and locally by pre-commit linters and code formatters.
  • Docker Desktop : for local development as well as the run-time environment. This also installs Docker Compose.

Cloud engineers:

Optional requirements:

We're


Hiring!

Let's do something amazing, together! We're currently hiring for Full Stack and React developers, devops, and prompt engineering positions.

Requirements

Pass an online skills assessment exam
Communication and time-management skills
Intellectual curiosity and a passion for learning
Willingness and ability to dedicate yourself full time to this position

Our Achievements

Patented technology
Developers of Stepwise AI technology
U.S. Dept of Education grant recipient
Explore More

Stay
Connected