# 蔓露 Dewvine
承襲自一言的中文精確校正語料庫。
## 介紹
中文名字“**蔓露**”取自《詩經·鄭風·野有蔓草》,原文是“野有蔓草,零露漙兮。”
本文描寫了在一個露珠未乾的清晨,與一位美麗的女子的浪漫邂逅。希望專案中經過校閱的每一個句子,都能夠像文中一樣,與你的心靈產生共鳴,與你來一場美妙的遇見。
本專案承襲自一言,並繼承前輩言雅之精神。由於一言僅支援簡體中文的缺陷,本專案在對一言的原始資料進行了繁體中文轉換,並在轉換後進行人工校閱,修正了某些錯誤的格式。
一言共提供動畫、漫畫、遊戲、文學、原創、來自網路、其他、影視、詩詞、網易雲、哲學、抖機靈等十三種類型的句子,本專案根據個人喜好,僅保留其中**文學、來自網路、詩詞和哲學**四類,並對其中某些露骨和低俗的句子進行人工刪改。
除提供繁體中文服務,蔓露也保留了校閱後的簡體中文版本。
## 部署
### 使用語料庫
語料庫採用 json 格式儲存,位於 `data` 目錄下,可直接下載或 Clone 使用。
### 部署 API
#### 手動部署
本 API 使用 `go` 寫成,因此請確保你的環境中有配置好 `go` 環境。
1. 下載專案
```bash
git clone https://merak.axiomatrix.org/Axiomatrix_Org/Dewvine.git
cd Dewvine
```
2. 補齊依賴的模組
```bash
go mod tidy
```
3. 執行專案
```bash
go run main.go
```
後台執行:
```bash
nohup go run main.go &
```
#### Docker 部署
本專案已經將 docker image 傳送至 Docker Hub,你可以直接使用以下指令部署:
```bash
docker run -d -p 7080:7080 kynixtw/dewvine:latest
```
或者使用 `docker-compose` 部署。本專案提供一個 `docker-compose.yml` 模板,你可以直接使用以下指令部署:
```bash
docker-compose up -d
```
## 使用
部署完成後,蔓露僅提供一個簡單的 API 服務。可以訪問:`http://localhost:7080/` 來獲取隨機資料。參數如下:
| 參數 | 說明 | 是否必須 | 預設值 | 示例 |
|--------|--------------------------------------------------------------------------------------|------|-------------------------------------|---------------------------|
| type | 請求的語句類型,取值範圍 "internet", "literature", "philosophy", "poem"。如果使用多個庫,可使用英文“,”連結,不含空格。 | 否 | internet,literature,philosophy,poem | ?type=internet,literature |
| lang | 請求的語言類型,取值範圍 "zh-CN" 表示簡體中文, "zh-TW" 表示繁體中文。 | 否 | zh-TW | ?lang=zh-TW |
| length | 請求的語句最大字元數量。 | 否 | 100000000 | ?length=100 |
| number | 請求的語句數量。 | 否 | 1 | ?number=5 |
速率限制:每個 IP 地址每秒鐘最多 5 次請求。