Skip to content

v0.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 14 Oct 01:08
· 2466 commits to main since this release

πŸš€ Features

Retrieval-Augmented Code Completion Enabled by Default

The currently supported languages are:

  • Rust
  • Python
  • JavaScript / JSX
  • TypeScript / TSX

A blog series detailing the technical aspects of Retrieval-Augmented Code Completion will be published soon. Stay tuned!

Example prompt for retrieval-augmented code completion

// Path: crates/tabby/src/serve/engine.rs
// fn create_llama_engine(model_dir: &ModelDir) -> Box<dyn TextGeneration> {
//     let options = llama_cpp_bindings::LlamaEngineOptionsBuilder::default()
//         .model_path(model_dir.ggml_q8_0_file())
//         .tokenizer_path(model_dir.tokenizer_file())
//         .build()
//         .unwrap();
//
//     Box::new(llama_cpp_bindings::LlamaEngine::create(options))
// }
//
// Path: crates/tabby/src/serve/engine.rs
// create_local_engine(args, &model_dir, &metadata)
//
// Path: crates/tabby/src/serve/health.rs
// args.device.to_string()
//
// Path: crates/tabby/src/serve/mod.rs
// download_model(&args.model, &args.device)
    } else {
        create_llama_engine(model_dir)
    }
}

fn create_ctranslate2_engine(
    args: &crate::serve::ServeArgs,
    model_dir: &ModelDir,
    metadata: &Metadata,
) -> Box<dyn TextGeneration> {
    let device = format!("{}", args.device);
    let options = CTranslate2EngineOptionsBuilder::default()
        .model_path(model_dir.ctranslate2_dir())
        .tokenizer_path(model_dir.tokenizer_file())
        .device(device)
        .model_type(metadata.auto_model.clone())
        .device_indices(args.device_indices.clone())
        .build()
        .

Following the instruction in https://tabby.tabbyml.com/docs/configuration to enable repository context for your Tabby instance.

🧰 Fixes and Improvements

  • Fix Issue #511 by marking ggml models as optional.
  • Improve stop words handling by combining RegexSet into Regex for efficiency.

πŸ’« New Contributors

Full Changelog: v0.2.2...v0.3.0