Skip to content

takpanda/fake-openai-server

 
 

Repository files navigation

fake-openai-server

OpenAI API互換のRerankサーバーをローカルで提供します。

Difyで日本語の処理をおこないたい際に、 OpenAI-API-compatibleモデルプロバイダーでこれを指定します。

モデルとしては、次のものを利用しています。

必要なもの

Docker Composeで実行する場合(推奨)

buildしてupするだけです。

$ docker compose build
$ docker compose up -d

これによりRerankサービスが起動します:

モデルのキャッシュはホストのvolumesディレクトリに保持されます。

Dockerなしで実行したい場合

パッケージのインストール

$ sudo apt install \
       build-essential \
       cmake pkg-config \
       libprotobuf-dev \
       libsentencepiece-dev

Pythonライブラリのインストール

ライブラリの管理はuvを用います。

$ uv sync

つかいかた(Rerank)

Rerankサーバーの起動

$ uv run uvicorn rerank-api-server:app --host 0.0.0.0 --port 8082

Docker Composeの場合は不要です。

Rerankサーバーの動作テスト

$ curl -v http://127.0.0.1:8082/v1/rerank -H 'Content-Type: application/json' --data-raw '
{
    "model": "cl-nagoya/ruri-v3-reranker-310m",
    "query": "山形県の蔵王温泉にある「泉質」はなに?",
    "documents": [
        "蔵王温泉はどのような特徴を 持つ温泉ですか?",
        "山形市の蔵王温泉はどのような温泉ですか?",
        "蔵王温泉の特徴は何ですか?"
    ]
}'
{
  "results": [
    {
      "document": {
        "text": "蔵王温泉はどのような特徴を 持つ温泉ですか?"
      },
      "relevance_score": 0.029905224218964577,
      "index": 0
    },
    {
      "document": {
        "text": "山形市の蔵王温泉はどのような温泉ですか?"
      },
      "relevance_score": 0.013406982645392418,
      "index": 1
    },
    {
      "document": {
        "text": "蔵王温泉の特徴は何ですか?"
      },
      "relevance_score": 0.012443745508790016,
      "index": 2
    }
  ],
  "model": "cl-nagoya/ruri-v3-reranker-310m",
  "usage": {
    "total_tokens": 0
  }
}

Difyでの設定(Rerank)

About

OpenAI API互換のRerankサーバーをローカルで提供します。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 70.9%
  • Dockerfile 29.1%