Code Monkey home page Code Monkey logo

are-copilots-local-yet's Introduction

๐Ÿ› ๏ธ Are Copilots Local Yet?

Current trends and state of the art for using open & local LLM models as copilots to complete code, generate projects, act as shell assistants, automatically fix bugs, and more.

๐Ÿ“ Help keep this list relevant and up-to-date by making edits!

Table of Contents

๐Ÿ“‹ Summary

Local Copilots are in an early experimental stage, with most being of MVP-quality.

The reasons for this are:

  • ๐Ÿ“‰ Local models still being inferior to Copilot
  • ๐Ÿ”ง Difficult to set up
  • ๐Ÿ’ป High hardware requirements

However, as models improve, and editor extensions get developed to use them, we're expected to get a renaissance of code-completion tools.

This document is a curated list of local Copilots, shell assistants, and related projects. It is intended to be a resource for those interested in a survey of the existing tools, and to help developers discover the state of the art for projects like these.

๐Ÿ“š Background

In 2021, GitHub released Copilot which quickly became popular among devs. Since then, with the flurry of AI developments around LLMs, local models that can run on consumer machines have become available, and it has seemed only a matter of time before Copilot will go local.

Many perceived limitations of GitHub's Copilot are related to its closed and cloud-hosted nature.

As an alternative, local Copilots enable:

  • ๐ŸŒ Offline & private use
  • โšก Improved responsiveness
  • ๐Ÿ“š Better project/context awareness
  • ๐ŸŽฏ The ability to run models specialized for a particular language/task
  • ๐Ÿ”’ Constraining the LLM output to fit a particular format/syntax.

๐Ÿงฉ Editor Extensions

Editor extensions used to complete code using LLMs:

Name Editor โญ Released Notes
GitHub Copilot VSCode, vim 6369 2021-6-29 The GitHub Original, not local or open-source.
Cursor VSCode 18265 2023-3-14 Fork of VSCode, not open-source
Fauxpilot VSCode 13406 2022-9-3 Early local PoC. Stale?
Tabby VSCode, vim, IntelliJ 12478 2023-9-30 Completes the cursor selection
turbopilot VSCode 3840 2023-4-10 Completions with FIM support, inspired by fauxpilot
HuggingFace-vscode VSCode 843 2023-6-19 Fork of Tabnine, supports Starcoder
localpilot VSCode 2800 2023-10-2 Utility for easily hosting models locally, for use with official Copilot extension using custom API endpoint.
StarcoderEx VSCode 88 2023-5-5 Completes the cursor selection
WizardCoder-VSC VSCode 116 2023-6-19 PoC, article available
KoboldAIConnect VSCode 2023-10-7 Copilot clone using local KoboldAI backend
gen.nvim vim 184 2023-10-1 Edit selection using custom prompts
uniteai VSCode, emacs, lsp 132 2023-8-27

๐Ÿ› ๏ธ Tools

Tools that try to generate projects/features from specification:

Name โญ Released Notes
gpt-engineer 45371 2023-6-6 Specify what you want it to build, the AI asks for clarification, and then builds it.
gpt-pilot 14360 2023-7-18 Very similar to gpt-engineer
continue 4908 2023-5-24 VSCode extension. Task-based autocomplete
aider 4446 2023-6-8 AI pair programming in your terminal, works well with pre-existing, larger codebases
rift 2800 2023-6-20 VSCode extension. Lets you write code by chatting, makes your IDE agentic, AI engineer that works alongside you.
mentat 1707 2023-7-25 Mentat coordinates edits across multiple locations and files.
clippinator 261 2023-4-15 Uses a team of agents to plan, write, debug, and test
Refact.AI 1089 2023-10-06 Full self-hostable code completion, chat and training service, complete with VSCode extension.

๐Ÿ—จ๏ธ Chat Interfaces

Chat interfaces with shell/REPL/notebook access. Similar to/inspired by ChatGPT's "Advanced Data Analysis" feature (previously "Code Interpreter").

Name โญ Notes
open-interpreter 31619 open-source, locally running implementation of OpenAI's Code Interpreter
gptme 111 Supporting open models. Developed by me, @ErikBjare
octogen 208 Local Code Interpreter executing in Docker environment.
terminal-x 30 Very early prototype that converts natural language into shell commands, unmaintained since Sept. 2021

๐Ÿค– Models

Models relevant for local Copilot-use. Ordered by most recent first.

Name Size Languages โญ Released Notes
Phind CodeLlama v2 34B Many 473 2023-8-27
WizardCoder-Python 7/13/34B Python 652 2023-8
CodeLlama 7/13/34B Many 10863 2023-8
WizardCoder 15B 80+ 653 2023-6 Fine-tuning of Starcoder
replit-glaive 3B 1? 84 2023-7 Small model fine-tuned on high-quality data with impressive performance.
Starcoder 15B 80+ 6554 2023-5
replit-v1-3b 3B 20+ 694 2023-5
SantaCoder 1.1B Python, Java, JavaScript 302 2023-4 Tiny model selectively trained on 3 languages from 'The Stack'

Note: due to the pace of new model releases, this section is doomed to be out of date.

๐Ÿ“š Datasets

Datasets relevant for training models.

Name Size Languages โญ Released Notes
The Stack 3TB/6TB 358 >500 2022-10 Excludes weak-copyleft licenses (MPL, LGPL, EGL) since v1.1

Tools

Misc relevant useful tools.

Name โญ Released Notes
ollama 13560 2023-8-27 Easily get up and running with large language models locally.

๐Ÿ“ฐ History

๐Ÿ“ˆ Stats

Stargazers over time:

Stargazers over time

are-copilots-local-yet's People

Contributors

erikbjare avatar karvla avatar w3bdesign avatar wsxiaoys avatar sammcj avatar felladrin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.