{"id":15165842,"url":"https://github.com/koron/c3tr-client","last_synced_at":"2025-10-05T14:32:03.617Z","repository":{"id":249642207,"uuid":"832083084","full_name":"koron/c3tr-client","owner":"koron","description":"A client for the C3TR Agent for Japanese-English and English-Japanese translation running on llama.cpp","archived":false,"fork":false,"pushed_at":"2024-09-13T03:53:41.000Z","size":46,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-16T08:09:15.603Z","etag":null,"topics":["c3tr","client","llamacpp"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/koron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-22T10:15:11.000Z","updated_at":"2024-12-01T18:04:19.000Z","dependencies_parsed_at":"2024-07-22T12:49:24.314Z","dependency_job_id":"959c1fe2-21c2-4db2-b624-9e14d5c0098f","html_url":"https://github.com/koron/c3tr-client","commit_stats":{"total_commits":16,"total_committers":2,"mean_commits":8.0,"dds":0.0625,"last_synced_commit":"0887d58c2430b87e19f1e51dc882f0af00b3187f"},"previous_names":["koron/c3tr-client"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koron%2Fc3tr-client","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koron%2Fc3tr-client/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koron%2Fc3tr-client/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/koron%2Fc3tr-client/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/koron","download_url":"https://codeload.github.com/koron/c3tr-client/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235222520,"owners_count":18955328,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c3tr","client","llamacpp"],"created_at":"2024-09-27T04:04:17.176Z","updated_at":"2025-10-05T14:32:03.267Z","avatar_url":"https://github.com/koron.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# koron/c3tr-client\n\n[![PkgGoDev](https://pkg.go.dev/badge/github.com/koron/c3tr-client)](https://pkg.go.dev/github.com/koron/c3tr-client)\n[![Actions/Go](https://github.com/koron/c3tr-client/workflows/Go/badge.svg)](https://github.com/koron/c3tr-client/actions?query=workflow%3AGo)\n[![Go Report Card](https://goreportcard.com/badge/github.com/koron/c3tr-client)](https://goreportcard.com/report/github.com/koron/c3tr-client)\n\n[llama.cpp](https://github.com/ggerganov/llama.cpp) の llama-server でローカルで動かしてる [C3TR-Adapter\\_gguf](https://huggingface.co/webbigdata/C3TR-Adapter_gguf) にAPI (`/completions`) 経由で翻訳させるクライアントプログラム。\n\n## Gettings Started\n\n1. Install [llama.cpp](https://github.com/ggerganov/llama.cpp/releases/latest)\n\n    Windows + CUDA の場合は `llama-b{数字}-win-cuda-cu{CUDAのバージョン}-x64.zip` の何れかをダウンロードして展開する。\n\n    CPUだけで頑張りたい場合は `llama-b{数字}-bin-win-avx2-x64.zip` をダウンロードして展開する。\n\n    macos は `llama-b{数字}-bin-macos-arm64.zip` をダウンロードして展開する。\n\n    LinuxでUbuntuはコンパイル済みバイナリがあるが、それ以外の場合は自分でコンパイルする必要があるだろう。\n\n2. Download [C3TR-Adapter\\_gguf](https://huggingface.co/webbigdata/C3TR-Adapter_gguf/tree/main)\n\n    `C3TR-Adapter-Q4_k_m.gguf` もしくは `C3TR-Adapter.f16.Q4_k_m.gguf` あたりがオススメ。\n\n3. c3tr-client をインストールする\n\n    ```console\n    $ go install github.com/koron/c3tr-client@latest\n    ```\n\n    もしくはリリースページから[ビルド済みバイナリ](https://github.com/koron/c3tr-client/releases/latest)をダウンロードしてもよい。\n\n4. (OPTIONAL) Setup environment variables\n\n    CUDA用とllama-server用の環境変数を設定する。\n\n    以下は筆者の Windows 11 + CUDA 12 の設定例:\n\n    ```bat\n    SET \"CUDA_PATH=D:\\App\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.2\"\n    SET \"CUDA_PATH_V12_2=%CUDA_PATH%\"\n\n    SET \"LLAMA_PATH=D:\\App\\llama\\current\"\n\n    PATH %CUDA_PATH%\\bin;%CUDA_PATH%\\libnvvp;%CUDA_PATH%\\extras\\CUPTI\\lib64;%LLAMA_PATH%;%PATH%\n    ```\n\n4. llama-server を起動する\n\n    ```\n    llama-server --log-disable -m D:\\var\\llamacpp\\C3TR-Adapter-Q4_k_m.gguf -ngl 43\n    ```\n\n    ローカル `127.0.0.1:8080` で Open AI の互換APIが動き出す。\n\n5. c3tr-client を使って翻訳する\n\n    ```console\n    $ c3tr-client \"A client for the C3TR Agent for Japanese-English and English-Japanese translation running on llama.cpp\"\n    llama.cpp上で動作するC3TRエージェントの日本語-英語と英語-日本語の翻訳クライアント\n\n    $ c3tr-client \"llama.cpp上で動作するC3TRエージェントの日本語-英語と英語-日本語の翻訳クライアント\"\n    A Japanese-English and English-Japanese translation client for the C3TR agent that runs on llama.cpp\n    ```\n\n    c3tr-client は 4 で開始した Open AI の互換APIにアクセスして翻訳をする。\n\n## Usage\n\n1. 引数に翻訳する文を指定する\n\n    ```console\n    $ c3tr-client '引数に翻訳する文を指定する'\n    Specify the sentence to translate in the argument\n    ```\n\n2. 引数を指定せずに起動すると、インタラクティブに翻訳する\n\n    ```console\n    $ c3tr-client\n    c3tr\u003e 引数に翻訳する文を指定する\n    Specify the sentence to translate in the argument\n    c3tr\u003e 引数を指定せずに起動すると、インタラクティブに翻訳する\n    When launched without arguments, it translates interactively.\n    c3tr\u003e\n    ```\n\n    インタラクティブモードは `\u003cCTRL+D\u003e` で終了できる。\n\n    このモードではいくつかのショートカットで履歴にアクセスできる。\n    ショートカットの詳細は [peterh/liner](https://github.com/peterh/liner/blob/v1.2.2/README.md#line-editing) を参照のこと。\n\n    パイプやリダイレクトを付けて起動した場合は、インタラクティブモードでは起動できずエラーになる。\n\n    ```console\n    $ c3tr-client \u003e /dev/null\n    2024/09/13 12:48:24 no text to translate. for enabling interactive mode, do not use pipes nor redirects\n    ```\n\n    `-iteration` オプションはインタラクティブモードでは作用しない。\n\n## Options\n\n* `-verbose` デバッグ用のメッセージを表示する\n* `-entrypoint {URL}` 翻訳APIのエントリーポイントを指定する。\n\n    特に指定しなければ `http://127.0.0.1:8080/completions` で、ローカルで動いている llama.cpp を利用する。\n\n* `-mode {MODE}` 日英・英日の翻訳モードを指定する。\n\n    特に指定しない場合は自動判定で、翻訳対象の文中に英数字の文字数が75%を越えたら英→日の翻訳となり、そうでなければ日→英の翻訳となる。\n    明示的に指定する場合は `e2j` もしくは `EtoJ` で英→日翻訳、`j2e` もしくは `JtoE` で英→日翻訳になる。\n    大文字小文字の区別はしない。\n\n* `-writingstyle {WRITING_STYLE}` 訳出文のスタイルを指定する。\n\n    デフォルトは `technical` 。\n    有効な値は次の11通り:\n    `casual`, `formal`, `technical`, `journalistic`, `web-fiction`, `business`,\n    `nsfw`, `educational-casual`, `academic-presentation`, `slang`,\n    `sns-casual`\n    ([出展](https://huggingface.co/webbigdata/C3TR-Adapter/discussions/1#669e6ef419d0f96d8a77128b))\n\n* `-iteration {count}` 反復翻訳回数を指定する。反復のたびに翻訳モードは逆転する。\n\n    デフォルトは0で、1回限りの翻訳をする。\n    1以上を指定した場合、その回数、翻訳を反復する。\n    -1を指定した場合、翻訳文の履歴に一致する文章が訳出されるまで、反復翻訳を繰り返す。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoron%2Fc3tr-client","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoron%2Fc3tr-client","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoron%2Fc3tr-client/lists"}