Skip to content

Commit

Permalink
Merge pull request #8 from yuzcat01/AddTrans
Browse files Browse the repository at this point in the history
Add Chinese translation of each page
  • Loading branch information
rjmacarthy authored Nov 12, 2024
2 parents 7f0a83f + cf0ef88 commit 4e97655
Show file tree
Hide file tree
Showing 8 changed files with 510 additions and 0 deletions.
55 changes: 55 additions & 0 deletions src/content/docs/zh-cn/general/chat.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
title: 对话
description: 与 Twinny 对话
---

与 Twinny 聊天,并利用工作区嵌入以增强上下文。

### 打开侧边栏

要使用 Twinny 聊天,可以通过 VSCode 侧边栏访问。Twinny 会在会话之间保留聊天历史记录。您可以通过点击顶部面板上的“历史”图标来查看聊天历史。

### 上下文与代码选择

当您在编辑器中高亮/选择代码时,Twinny 会将其作为聊天消息的上下文。如果您没有选择任何代码,它将仅使用消息本身以及之前的消息。您也可以右键点击选中的代码,选择 Twinny 选项来进行重构、解释或执行其他操作。

### 工作区嵌入

Twinny 现在支持工作区嵌入,以便为您的查询提供更相关的上下文。

### RAG 和提及的工作原理

1. 当您点击“嵌入工作区文档”按钮时,您的工作区文档会被嵌入并存储。
2. 当您发送消息时,Twinny 会查找与嵌入相关的块。
3. 这些块会被重新排序并作为查询的附加上下文。
4. 在聊天中使用 `@workspace` 提及来搜索相关文档。
5. 使用 `@problems` 来获取代码问题。
6. 使用 `@` 来为工作区中特定的文件添加上下文。

### 嵌入设置

- **嵌入提供商**:默认情况下,Twinny 使用 Ollama 嵌入(all-minilm:latest)进行嵌入。
- **提供商详情**
- 标签:Ollama Embedding
- 提供商:ollama
- 类型:embedding
- 主机名:0.0.0.0
- 路径:/v1/embeddings
- 协议:http
- 端口:11434

您可以更新这些设置,以使用不同的嵌入提供商。如果需要,理论上大多数提供商应该都能正常工作,只要它们返回正确的数据结构。

对于像 OpenAI 这样的 HTTPS 提供商,需要一个本地代理(如 LiteLLM)才能正常工作。

### 重新排序概率阈值

您可以调整重新排序概率阈值(默认值:0.14),以控制哪些结果将被包括作为上下文。较低的阈值意味着更有可能包含更多的结果。

### 切换上下文

带有线条的数据库图标允许您为每条消息开启或关闭嵌入上下文的使用。

### 嵌入工作区文档

要将您的工作区文档包括在嵌入中,请在设置面板中使用“嵌入工作区文档”按钮。
12 changes: 12 additions & 0 deletions src/content/docs/zh-cn/general/fill-in-middle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: 自动补全
description: 自动补全
---

要使用 Twinny 自动补全代码片段,只需在编辑器中开始输入,Twinny 就会为您自动补全。这与 GitHub Copilot 的工作方式非常相似。

如果您希望手动触发代码补全,可以在设置菜单中关闭自动内联代码补全(该菜单位于 Twinny 侧边面板顶部),然后使用快捷键 `ALT+\` 来触发代码补全。

GitHub Copilot 和 Twinny 使用相同的快捷键,因此它们可能会互相干扰。如有需要,请启用或禁用相关快捷键。

有关填充中间补全的支持模型,请参阅[支持的模型页面](/twinny-docs/general/supported-models/)
11 changes: 11 additions & 0 deletions src/content/docs/zh-cn/general/keyboard-shortcuts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
---
title: 键盘快捷键
description: Twinny 的键盘快捷键

---

| 快捷键 | 描述 |
| ----------------------------- | ------------------------------------------------- |
| `ALT+\` | 触发内联代码补全 |
| `CTRL+SHIFT+/` | 停止内联代码生成 |
| `Tab` | 接受生成的内联代码 |
151 changes: 151 additions & 0 deletions src/content/docs/zh-cn/general/providers.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
---
title: 推理提供者
description: 推理提供者是将 Twinny 与外部模型和服务连接的一种方式。
---

这些示例配置作为起点,具体的调整可能需要根据您的硬件和软件环境进行。


> 注意:Twinny 聊天(非自动补全)应与任何符合 OpenAI API 规范的 API 兼容。

### Ollama(默认配置)

#### 自动补全

- **主机名:** `localhost`
- **端口:** `11434`
- **路径:** `/api/generate`
- **模型名称:** `codellama:7b-code`
- **FIM 模板:** `codellama`

#### 聊天

- **主机名:** `localhost`
- **端口:** `11434`
- **路径:** `/v1/chat/completions`
- **模型名称:** `codellama:7b-instruct`

### 使用 Ollama 打开 WebUI

Open WebUI 可作为 Ollama 的代理,简单地配置端点以匹配 OpenWeb UI 提供的服务。

#### 自动补全

- **主机名:** `localhost`
- **端口:** OpenWebUI 服务的端口,通常为 `8080``3000`
- **路径:** `/ollama/api/generate`
- **模型名称:** `codellama:7b-code`
- **FIM 模板:** 选择一个与模型匹配的模板,如 `codellama` 用于 `codellama:7b-code``deepseek` 用于 `deepseek-coder`

#### 聊天

- **主机名:** `localhost`
- **端口:** OpenWebUI 服务的端口,通常为 `8080``3000`
- **路径:** `/ollama/v1/chat/completions`
- **模型名称:** `codellama:7b-instruct` 或任何有效的指令模型。

### LM Studio

#### 自动补全

- **主机名:** `localhost`
- **端口:** `1234`
- **路径:** `/v1/completions`
- **模型名称:** 基础模型,例如 `codellama-7b.Q5_K_M.gguf`
- **LM Studio 预设:** CodeLlama Completion
- **FIM 模板:** 选择一个与模型匹配的模板,如 `codellama` 用于 `CodeLlama-7B-GGUF``deepseek` 用于 `deepseek-coder:6.7b-base-q5_K_M`

#### 聊天

- **主机名:** `localhost`
- **端口:** `1234`
- **路径:** `/v1/chat/completions`
- **模型名称:** `codellama:7b-instruct` 或您偏好的指令模型。
- **LM Studio 预设:** 默认或 `CodeLlama Instruct`

### LiteLLM

#### 自动补全

LiteLLM 技术上支持使用 `custom-template` FIM 模板进行自动补全,并通过编辑 `fim.hbs` 文件实现,然而结果将根据您的模型和设置有所不同。

#### 聊天

- **主机名:** `localhost`
- **端口:** `4000`
- **路径:** `/v1/chat/completions`

启动 LiteLLM 使用以下命令:

```bash
litellm --model gpt-4-turbo
```

### Llama.cpp

#### 自动补全

在终端中使用以下 Docker 命令启动 Llama.cpp:

例如,使用 Docker 和 `codellama-7b.Q5_K_M.gguf`

```bash
docker run -p 8080:8080 --gpus all --network bridge -v /path/to/your/models:/models local/llama.cpp:full-cuda --server -m /models/codellama-7b.Q5_K_M.gguf -c 2048 -ngl 43 -mg 1 --port 8080 --host 0.0.0.0
```

配置您的提供商设置如下:

- **主机名:** `localhost`
- **端口:** `8080`
- **路径:** `/completion`
- **FIM 模板:** 选择一个与模型匹配的模板,如 `codellama` 用于 `CodeLlama-7B-GGUF``deepseek` 用于 `deepseek-coder:6.7b-base-q5_K_M`

#### 聊天

Llama.cpp 的聊天功能表现不稳定。如果您获得了良好的结果,请通过打开问题或拉取请求与我们分享。

- **主机名:** `localhost`
- **端口:** `8080`
- **路径:** `/completion`
- **模型名称:** `CodeLlama-7B-GGUF` 或其他强大的指令模型。


### Oobabooga

```bash
bash start_linux.sh --api --listen
```

#### 自动补全

访问 `http://0.0.0.0:7860/` 并加载您的模型:

- **主机名:** `localhost`
- **端口:** `5000`
- **路径:** `/v1/completions`
- **模型名称:** `CodeLlama-7B-GGUF` 或其他有效的指令模型。
- **FIM 模板:** 选择一个与模型匹配的模板,如 `codellama` 用于 `CodeLlama-7B-GGUF``deepseek` 用于 `deepseek-coder:6.7b-base-q5_K_M`

#### 聊天

在 Linux 上,Oobabooga 的聊天功能未能成功:

- **主机名:** `localhost`
- **端口:** `5000`
- **路径:** `/v1/chat/completions`
- **模型名称:** `CodeLlama-7B-GGUF`

### Symmetry

Symmetry 是一款去中心化工具,允许您连接到计算资源网络。它可以作为 Twinny 的推理提供商,通过其点对点网络提供访问多种模型的功能。

#### 使用 Symmetry

1. 在 Twinny 扩展设置中,选择您想要的模型。
2. 点击扩展中的 "Connect to Symmetry" 按钮。
3. 扩展将自动连接到 Symmetry 网络,并使用所选模型。

这个简化的过程让您可以轻松连接到 Symmetry 网络,无需手动配置。

> 注意:使用 Symmetry 时,请注意您的请求是由网络中的其他节点处理的。在必要时,请考虑数据的敏感性,并选择可信的提供商。
30 changes: 30 additions & 0 deletions src/content/docs/zh-cn/general/quick-start.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: 快速入门
description: Twinny 使用快速入门指南
---

## 前提条件

在开始使用 Twinny 之前,您需要访问推理提供商。推理提供商是本地或云托管的服务器,用于运行 AI 模型。

推荐的方式是使用 [Ollama](https://ollama.com/)。Ollama 可以轻松地在本地运行您的模型,并将它们暴露为兼容 OpenAI 的 API。性能将取决于您的硬件和所选择的模型,更多信息请参阅 Ollama 的文档。

## 安装扩展

1.[Visual Studio Code 扩展市场](https://marketplace.visualstudio.com/items?itemName=rjmacarthy.twinny) 或 VSCodium 的 [扩展市场](https://open-vsx.org/extension/rjmacarthy/twinny) 中安装 Twinny 扩展。

## 安装 Ollama 作为推理提供商

1. 访问 [安装 Ollama](https://ollama.com/),并按照说明在您的机器上安装 Ollama。
2. 从 Ollama 提供的模型列表中选择一个模型。两个推荐的入门模型是 [codellama:7b-instruct](https://ollama.com/library/codellama:instruct) 用于聊天和 [codellama:7b-code](https://ollama.com/library/codellama:code) 用于填充中间部分。更多选项请参阅 [支持的模型页面](/twinny-docs/zh-cn/general/supported-models/)

```sh
ollama run codellama:7b-instruct
ollama run codellama:7b-code
```

安装完扩展和 Ollama 后,您可以开始使用 Twinny。

1. 打开 VS Code(如果已打开,安装后可能需要重启),在侧边面板中查找 Twinny 图标。

您还应看到 🤖 图标,表示 Twinny 已准备就绪。当 Twinny 正在向推理提供商发起请求时,图标会变成旋转的加载标志。
12 changes: 12 additions & 0 deletions src/content/docs/zh-cn/general/support-twinny.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
---
title: 支持 Twinny
description: 通过捐赠支持 Twinny 项目
---

感谢您使用 Twinny!

该项目将始终是免费且开源的。如果您觉得它对您有所帮助,请考虑通过小额捐赠来表达您的感谢 <3

请将比特币捐赠发送至:

`1PVavNkMmBmUz8nRYdnVXiTgXrAyaxfehj`
68 changes: 68 additions & 0 deletions src/content/docs/zh-cn/general/supported-models.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
---
title: 支持的模型
description: Twinny 支持的模型列表
---

Twinny 是一个可配置的扩展/接口,这意味着许多模型在技术上都可以被支持。然而,并非所有模型在某些场景下都能与 Twinny 良好配合。以下是已测试并与 Twinny 配合良好的模型列表。如果您发现某个模型有效但未列出,请告知我们,我们会将其添加到列表中,或者您也可以提交 pull request 来添加它。

### 聊天模型

理论上,任何经过训练用于指令的聊天模型都能与 Twinny 配合使用。以下是一些推荐用于聊天的模型示例。


- [`llama3.1`](https://ollama.com/library/llama3.1)
- [`codellama:7b-instruct`](https://ollama.com/library/codellama:instruct)
- [`phind-codellama`](https://ollama.com/library/phind-codellama)
- [`mistral`](https://ollama.com/library/mistral)
- [`qwen2.5-coder`](https://ollama.com/library/qwen2.5-coder:7b-instruct)
- [`codestral`](https://ollama.com/library/codestral)

### 填充中间部分模型

由于训练数据的原因,只有某些模型支持填充中间部分。以下是一些推荐用于填充中间部分的模型示例。如果您发现某个模型有效但未列出,请告知我们,我们会将其添加到列表中,或者您也可以提交 pull request 来添加它。

#### Qwen2.5-coder 模型

- [`qwen2.5-coder:7b-base`](https://ollama.com/library/qwen2.5-coder:7b-base)

#### Codellama 模型

`code` 版本的 Codellama 模型。

- [`codellama:code`](https://ollama.com/library/codellama:code)
- [`codellama:13b-code`](https://ollama.com/library/codellama:13b-code)

注意:`codellama:34b` 版本在填充中间部分时效果不佳。

#### Deepseek Coder 模型

`base` 版本的 Deepseek-Coder 模型。

- [`deepseek-coder:base`](https://ollama.com/library/deepseek-coder:base)

注意:非 `base` 版本的模型在填充中间部分时效果不佳。

#### Starcoder 模型

`base` 版本的 Starcoder 模型。默认和基础模型相同。

- [`starcoder`](https://ollama.com/library/starcoder)
- [`starcoder2`](https://ollama.com/library/starcoder2)

注意:Starcoder2 在完成时并不总是会停止。通过降低温度并增加重复惩罚可以缓解这一问题。

使用 [Starcoder2 7b](https://ollama.com/library/starcoder2:7b) 获得最佳效果。

#### Stablecode 模型

`code` 版本的 Stablecode 模型。

- [`stable-code:3b-code`](https://ollama.com/library/stable-code:3b-code)

#### Codegemma 模型

`code` 版本的 Codegemma 模型。

- [`codegemma`](https://ollama.com/library/codegemma:7b-code)

注意:Codegemma 在完成时并不总是会停止。通过降低温度并增加重复惩罚可以缓解这一问题。
Loading

0 comments on commit 4e97655

Please sign in to comment.