chore: release 0.5.0 (#697)

* Release 0.5.0-rc.0

http-api-bindings@0.5.0-rc.0
llama-cpp-bindings@0.5.0-rc.0
tabby@0.5.0-rc.0
tabby-common@0.5.0-rc.0
tabby-download@0.5.0-rc.0
tabby-inference@0.5.0-rc.0
tabby-scheduler@0.5.0-rc.0

Generated by cargo-workspaces

* fix: docker branch tag should only generate when not empty

* Release 0.5.0-rc.1

http-api-bindings@0.5.0-rc.1
llama-cpp-bindings@0.5.0-rc.1
tabby@0.5.0-rc.1
tabby-common@0.5.0-rc.1
tabby-download@0.5.0-rc.1
tabby-inference@0.5.0-rc.1
tabby-scheduler@0.5.0-rc.1

Generated by cargo-workspaces

* fix: handlebar syntax in meta action

* Release 0.5.0-rc.2

http-api-bindings@0.5.0-rc.2
llama-cpp-bindings@0.5.0-rc.2
tabby@0.5.0-rc.2
tabby-common@0.5.0-rc.2
tabby-download@0.5.0-rc.2
tabby-inference@0.5.0-rc.2
tabby-scheduler@0.5.0-rc.2

Generated by cargo-workspaces

* fix: handlebar syntax in meta action

* Release 0.5.0-rc.3

http-api-bindings@0.5.0-rc.3
llama-cpp-bindings@0.5.0-rc.3
tabby@0.5.0-rc.3
tabby-common@0.5.0-rc.3
tabby-download@0.5.0-rc.3
tabby-inference@0.5.0-rc.3
tabby-scheduler@0.5.0-rc.3

Generated by cargo-workspaces

* docs: update change log and docs

* fix: collect_snippet should handle NotReady error

* Release 0.5.0-rc.4

http-api-bindings@0.5.0-rc.4
llama-cpp-bindings@0.5.0-rc.4
tabby@0.5.0-rc.4
tabby-common@0.5.0-rc.4
tabby-download@0.5.0-rc.4
tabby-inference@0.5.0-rc.4
tabby-scheduler@0.5.0-rc.4

Generated by cargo-workspaces

* Release 0.5.0

http-api-bindings@0.5.0
llama-cpp-bindings@0.5.0
tabby@0.5.0
tabby-common@0.5.0
tabby-download@0.5.0
tabby-inference@0.5.0
tabby-scheduler@0.5.0

Generated by cargo-workspaces
wsxiaoys-patch-2
Meng Zhang 2023-11-03 18:02:03 -07:00 committed by GitHub
parent a3123cd7d0
commit ec8d88de0d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 136 additions and 63 deletions

View File

@ -83,7 +83,7 @@ jobs:
${{ env.IMAGE_NAME }}
# generate Docker tags based on the following events/attributes
tags: |
type=raw,value={{branch}}-{{sha}},enable={{#if branch}}true{{else}}false{{/if}}
type=raw,value={{branch}}-{{sha}},enable=${{ startsWith(github.ref, 'refs/heads') }}
type=schedule,pattern=nightly
type=schedule,pattern={{date 'YYYYMMDD'}}
type=semver,pattern={{version}}

View File

@ -1,17 +1,25 @@
# v0.5.0 [Unreleased]
## Notice
* llama.cpp backend (CPU, Metal) now requires a redownload of gguf model due to upstream format changes: https://github.com/TabbyML/tabby/pull/645 https://github.com/ggerganov/llama.cpp/pull/3252
* Due to indexing format changes, the `~/.tabby/index` needs to be manually removed before any further runs of `tabby scheduler`.
# v0.6.0 [Unreleased]
## Features
# v0.5.0
## Notice
* llama.cpp backend (CPU, Metal) now requires a redownload of gguf model due to upstream format changes: https://github.com/TabbyML/tabby/pull/645 https://github.com/ggerganov/llama.cpp/pull/3252
* Due to indexing format changes, the `~/.tabby/index` needs to be manually removed before any further runs of `tabby scheduler`.
* `TABBY_REGISTRY` is replaced with `TABBY_DOWNLOAD_HOST` for the github based registry implementation.
## Features
* Improved dashboard UI.
## Fixes and Improvements
* Switch cpu backend to llama.cpp: https://github.com/TabbyML/tabby/pull/638
* Cpu backend is switched to llama.cpp: https://github.com/TabbyML/tabby/pull/638
* add `server.completion_timeout` to control the code completion interface timeout: https://github.com/TabbyML/tabby/pull/637
* Switch cuda backend to llama.cpp: https://github.com/TabbyML/tabby/pull/656
* Switch tokenizer to llama.cpp, so tabby no longer need to download additional tokenizer file: https://github.com/TabbyML/tabby/pull/683
* Cuda backend is switched to llama.cpp: https://github.com/TabbyML/tabby/pull/656
* Tokenizer implementation is switched to llama.cpp, so tabby no longer need to download additional tokenizer file: https://github.com/TabbyML/tabby/pull/683
# v0.4.0

14
Cargo.lock generated
View File

@ -1176,7 +1176,7 @@ dependencies = [
[[package]]
name = "http-api-bindings"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"async-trait",
"futures",
@ -1489,7 +1489,7 @@ checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db"
[[package]]
name = "llama-cpp-bindings"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"async-stream",
"async-trait",
@ -2823,7 +2823,7 @@ dependencies = [
[[package]]
name = "tabby"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"anyhow",
"assert-json-diff",
@ -2872,7 +2872,7 @@ dependencies = [
[[package]]
name = "tabby-common"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"anyhow",
"chrono",
@ -2889,7 +2889,7 @@ dependencies = [
[[package]]
name = "tabby-download"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"anyhow",
"async-trait",
@ -2909,7 +2909,7 @@ dependencies = [
[[package]]
name = "tabby-inference"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"async-stream",
"async-trait",
@ -2922,7 +2922,7 @@ dependencies = [
[[package]]
name = "tabby-scheduler"
version = "0.5.0-dev"
version = "0.5.0"
dependencies = [
"anyhow",
"file-rotate",

View File

@ -11,7 +11,7 @@ members = [
]
[workspace.package]
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
authors = ["Meng Zhang"]
homepage = "https://github.com/TabbyML/tabby"

View File

@ -1,6 +1,6 @@
[package]
name = "http-api-bindings"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "llama-cpp-bindings"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
[features]

View File

@ -1,6 +1,6 @@
[package]
name = "tabby-common"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "tabby-download"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
[dependencies]

View File

@ -1,6 +1,6 @@
[package]
name = "tabby-inference"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package]
name = "tabby-scheduler"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@ -1,6 +1,6 @@
[package]
name = "tabby"
version = "0.5.0-dev"
version = "0.5.0"
edition = "2021"
[features]

View File

@ -109,8 +109,12 @@ fn collect_snippets(index_server: &IndexServer, language: &str, text: &str) -> V
let mut ret = Vec::new();
let mut tokens = tokenize_text(text);
let language_query = index_server.language_query(language).unwrap();
let body_query = index_server.body_query(&tokens).unwrap();
let Ok(language_query) = index_server.language_query(language) else {
return vec![];
};
let Ok(body_query) = index_server.body_query(&tokens) else {
return vec![];
};
let query = BooleanQuery::new(vec![
(Occur::Must, language_query),
(Occur::Must, body_query),

View File

@ -1,37 +0,0 @@
---
sidebar_position: 4
---
# 🧑‍🔬 Models Directory
## Completion models (`--model`)
We recommend using
* For **1B to 3B models**, it's advisable to have at least **NVIDIA T4, 10 Series, or 20 Series GPUs**.
* For **7B to 13B models**, we recommend using **NVIDIA V100, A100, 30 Series, or 40 Series GPUs**.
| Model ID | License | Infilling Support |
| --------------------------------------------------------------------- | :-----------------------------------------------------------------------------------------: | :---------------: |
| [TabbyML/CodeLlama-13B](https://huggingface.co/TabbyML/CodeLlama-13B) | [Llama2](https://github.com/facebookresearch/llama/blob/main/LICENSE) | ✅ |
| [TabbyML/CodeLlama-7B](https://huggingface.co/TabbyML/CodeLlama-7B) | [Llama2](https://github.com/facebookresearch/llama/blob/main/LICENSE) | ✅ |
| [TabbyML/StarCoder-7B](https://huggingface.co/TabbyML/StarCoder-7B) | [BigCode-OpenRAIL-M](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) | ✅ |
| [TabbyML/StarCoder-3B](https://huggingface.co/TabbyML/StarCoder-3B) | [BigCode-OpenRAIL-M](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) | ✅ |
| [TabbyML/StarCoder-1B](https://huggingface.co/TabbyML/StarCoder-1B) | [BigCode-OpenRAIL-M](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) | ✅ |
## Chat models (`--chat-model`)
To ensure optimal response quality, and given that latency requirements are not stringent in this scenario, we recommend using a model with at least 3B parameters.
| Model ID | License |
| ----------------------------------------------------------------------- | :---------------------------------------------------------------------------------: |
| [TabbyML/Mistral-7B](https://huggingface.co/TabbyML/Mistral-7B) | [Apache 2.0](https://opensource.org/licenses/Apache-2.0) |
| [TabbyML/WizardCoder-3B](https://huggingface.co/TabbyML/WizardCoder-3B) | [OpenRAIL-M](https://huggingface.co/spaces/bigcode/bigcode-model-license-agreement) |
## Alternative Registry
By default, Tabby utilizes the [Hugging Face organization](https://huggingface.co/TabbyML) as its model registry. Mainland Chinese users have encountered challenges accessing Hugging Face for various reasons. The Tabby team has established a mirrored at [modelscope](https://www.modelscope.cn/organization/TabbyML), which can be utilized using the following environment variable:
```bash
TABBY_REGISTRY=modelscope tabby serve --model TabbyML/StarCoder-1B
```

18
website/docs/models/index.mdx vendored Normal file
View File

@ -0,0 +1,18 @@
---
sidebar_position: 4
hide_table_of_contents: true
---
import GitHubReadme from "./readme";
# 🧑‍🔬 Models Registry
<GitHubReadme src="https://raw.githubusercontent.com/TabbyML/registry-tabby/main/README.md" />
## Model Mirrors
Mainland Chinese users might encounter challenges accessing Hugging Face. For models with mirrored to modelscope, you could download model by utilizing following environment variable:
```bash
TABBY_DOWNLOAD_HOST=modelscope.cn tabby serve --model TabbyML/StarCoder-1B
```

74
website/docs/models/readme.tsx vendored Normal file
View File

@ -0,0 +1,74 @@
import React, { useState, useEffect } from "react";
import { marked } from "marked";
const GitHubReadme: React.FC<{
src?: string;
}> = ({
src,
}) => {
if (!src) {
console.error(
"react-github-readme-md: You must provide either a src or username and repo"
);
return null;
}
const [readmeContent, setReadmeContent] = useState<string>("");
useEffect(() => {
// Function to fetch the README content from GitHub
const fetchReadme = async () => {
try {
let readmeUrl = "";
if (src) {
// Allow passing a URL directly as a prop
readmeUrl = src;
}
if (!readmeUrl) {
throw new Error("Failed to fetch README path");
}
const response = await fetch(readmeUrl);
if (!response.ok) {
throw new Error("Failed to fetch README");
}
const data = await response.text();
if (data) {
setReadmeContent(data.split("\n").splice(1).join("\n"));
}
} catch (error) {
console.error("react-github-readme-md: ", error);
}
};
fetchReadme();
}, []);
if (!readmeContent) {
return null;
}
// Parse the markdown content into HTML
try {
const ghContent = marked.parse(readmeContent);
return (
<div>
<div
dangerouslySetInnerHTML={{
__html: ghContent,
}}
/>
</div>
);
} catch (error) {
console.error("react-github-readme-md: ", error);
return null;
}
};
export default GitHubReadme;

View File

@ -22,6 +22,7 @@
"axios": "^1.4.0",
"clsx": "^1.2.1",
"docusaurus-preset-openapi": "^0.6.4",
"marked": "^9.1.5",
"postcss": "^8.4.24",
"posthog-docusaurus": "^2.0.0",
"prism-react-renderer": "^1.3.5",

5
website/yarn.lock vendored
View File

@ -5559,6 +5559,11 @@ marked@2.0.1:
resolved "https://registry.yarnpkg.com/marked/-/marked-2.0.1.tgz#5e7ed7009bfa5c95182e4eb696f85e948cefcee3"
integrity sha512-5+/fKgMv2hARmMW7DOpykr2iLhl0NgjyELk5yn92iE7z8Se1IS9n3UsFm86hFXIkvMBmVxki8+ckcpjBeyo/hw==
marked@^9.1.5:
version "9.1.5"
resolved "https://registry.yarnpkg.com/marked/-/marked-9.1.5.tgz#fcada4702ea64a5c05a4ff0e0639628aac8a1e5f"
integrity sha512-14QG3shv8Kg/xc0Yh6TNkMj90wXH9mmldi5941I2OevfJ/FQAFLEwtwU2/FfgSAOMlWHrEukWSGQf8MiVYNG2A==
mdast-squeeze-paragraphs@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz#7c4c114679c3bee27ef10b58e2e015be79f1ef97"