Go to file
Meng Zhang c990ba843f Extract environment variable 2023-03-27 13:42:06 +08:00
.github/workflows Move python code under tabby/ (#8) 2023-03-25 12:20:29 +08:00
deployment Extract environment variable 2023-03-27 13:42:06 +08:00
development Add clean 2023-03-27 13:13:06 +08:00
tabby Improve documentations. (#20) 2023-03-27 11:46:18 +08:00
.dockerignore Add gptj converter (#19) 2023-03-27 11:12:52 +08:00
.gitattributes Add docker compose (#3) 2023-03-22 02:42:47 +08:00
.gitignore Prepare public release with a minimal deployment setup (#16) 2023-03-26 22:44:15 +08:00
.pre-commit-config.yaml Add monaco editor for streamlit (#12) 2023-03-25 19:13:42 +08:00
Dockerfile Add gptj converter (#19) 2023-03-27 11:12:52 +08:00
LICENSE Create LICENSE 2023-03-16 17:28:10 +08:00
Makefile Prepare public release with a minimal deployment setup (#16) 2023-03-26 22:44:15 +08:00
README.md Update README.md 2023-03-27 13:26:59 +08:00
poetry.lock Add tabby.tools.repository.updater for easier git repository synchronization. (#9) 2023-03-25 14:44:46 +08:00
pyproject.toml Add tabby.tools.repository.updater for easier git repository synchronization. (#9) 2023-03-25 14:44:46 +08:00

README.md

🐾 Tabby

License Code style: black Docker build status

architecture

Warning Tabby is still in the alpha phrase

An opensource / on-prem alternative to GitHub Copilot.

Features

  • Self-contained, with no need for a DBMS or cloud service
  • Web UI for visualizing and configuration models and MLOps.
  • OpenAPI interface, easy to integrate with existing infrastructure (e.g Cloud IDE).
  • Consumer level GPU supports (FP-16 weight loading with various optimization).

Get started

Docker

The easiest way of getting started is using the deployment/docker-compose.yml:

docker-compose up

Note: To use GPUs, you need to install the NVIDIA Container Toolkit. We also recommend using NVIDIA drivers with CUDA version 11.8 or higher.

You can then query the server using /v1/completions endpoint:

curl -X POST http://localhost:5000/v1/completions -H 'Content-Type: application/json' --data '{
    "prompt": "def binarySearch(arr, left, right, x):\n    mid = (left +"
}'

We also provides an interactive playground in admin panel localhost:8501

image

API documentation

Tabby opens an FastAPI server at localhost:5000, which embeds an OpenAPI documentation of the HTTP API.

Development

Go to development directory.

make dev

or

make triton-dev

TODOs

  • DuckDB integration, to plot metrics in admin panel (e.g acceptance rate).
  • Fine-tuning models on private code repository.
  • Production ready (Open Telemetry, Prometheus metrics).
  • Token streaming using Server-Sent Events (SSE)