Kite promises to adapt to a developer's style of coding on the fly and suggest multiple tokens – the equivalent of words – without developers first having to manually define the structure of a 'sentence'.
However, Kite initially only supported Python completions because its former approach required it to build a dedicated semantic engine for each programming language.
Smith says Kite tweaked GPT-2 code with "quite a bit of proprietary ranking and filtering to de-noise the completions shown by Kite".
Smith says Kite investigated using GPT-3 for Kite's code completion but he reckons the model is too large to fit on a developer's laptop and would create too much latency if it was deployed on a server.
"We looked into GPT-3 when it was first announced. Basically, it is just a very large version of GPT-2. There are not major architectural differences that make GPT-3 inherently 'smarter' than GPT-2, besides a much larger model size," says Smith.
"GPT-3 models would certainly never fit on our user's laptops. And if we deployed a GPT-3 model to a server, the latency would be too high to be useful in this context. For example, GPT-3 on OpenAI servers takes many seconds to return results. We return completions to users in under 100 milliseconds."
Kite also supports multiple code editors and IDEs, including VS Code, JetBrains' IDEs – PyCharm, IntelliJ, GoLand, Android Studio, WebStorm, CLion, PhpStorm, RubyMine, Rider, AppCode – as well as JupyterLab, Vim, Sublime, Atom, and Spyder.
The company will be boosting support for code editors and IDEs over the coming months, says Smith.
"We added C++ support but don't have a Visual Studio integration yet. The goal is to allow as many developers as possible to take advantage of Kite, no matter their language or IDE."
The locally installed version of Kite is free for developers and the company offers a server-powered version for enterprises that uses a GPU to enhance completions.