Gemini-OpenAI-ProxyでOllamaとGemini Proを簡単接続

AIアシスタント

この記事では、OllamaのOpenAI APIに接続できる機能を活用して、Gemini-OpenAI-Proxyを通じてOpenAI APIのフォーマットをGeminiのフォーマットに変換し、Gemini Proと対話する方法について解説します。更に、Gemini Pro Visionがちゃんと使えることも確認します。初心者の方でも理解できるように、コードブロックを使用して分かりやすく説明していきます。


こちらの記事もおすすめ

【Dockerでワンパン】PokéLLMonを動かしてみる
PokéLLMonは、ポケモンバトルのゲームにおいて、人間並みのパフォーマンスを実現する最初のLLM(Large Language Model)を体現したエージェントです。この記事では、PokéLLMonを実際に動かすための手順を初心者向け...
AIエージェント達の仮想ソフトウェア開発会社【ChatDev】公式Wikiの日本語版 作ってみた
Quick Start元のWIKIInstall ChatDev(ChatDev のインストール ):設置説明書に記載されているクイックスタートセクション を参照してください。Start building software in one c...

Gemini-OpenAI-Proxyを使った構成

構成はこのようになっています。

file

dockerネットワークの作成

まず第一歩として、dockerネットワークを作成します。これにより、後ほど作成するサービス間の通信が可能になります。


docker network create gemini-openai-proxy-network

コマンドを実行した後、docker network lsコマンドを使用してネットワークが正しく作成されたかを確認します。

デフォルトネットワークの修正

次に、docker-compose.ymlファイル内でデフォルトネットワークを先ほど作成したgemini-openai-proxy-networkに指定します。これにより、サービスがこのネットワーク内で通信できるようになります。


networks:
  default:
    external:
      name: gemini-openai-proxy-network

Gemini-OpenAI-Proxyの設定

Gemini-OpenAI-Proxyを設定します。以下の設定例では、必要なポートを開放し、コンテナを正しく構築するための基本的な設定を行います。


version: '3'
services:
  gemini-custom:
    build: .
    ports:
      - "8080:8080"
    restart: always

networks:
  default:
    external:
      name: gemini-openai-proxy-network

Ollama-webuiの設定

Ollama-webuiを設定することで、ユーザーインターフェースを通じてOllamaと対話できるようになります。以下の設定では、依存関係の管理、ポートの設定、環境変数の指定を行います。


version: '3.8'

services:
  ollama:
    volumes:
      - ollama:/root/.ollama
    container_name: ollama
    pull_policy: always
    tty: true
    restart: unless-stopped
    image: ollama/ollama:latest

  ollama-webui:
    build:
      context: .
      args:
        OLLAMA_API_BASE_URL: '/ollama/api'
      dockerfile: Dockerfile
    image: ghcr.io/ollama-webui/ollama-webui:main
    container_name: ollama-webui
    volumes:
      - ollama-webui:/app/backend/data
    depends_on:
      - ollama
    ports:
      - ${OLLAMA_WEBUI_PORT-3000}:8080
    environment:
      - 'OLLAMA_API_BASE_URL=http://ollama:11434/api'
      - 'WEBUI_SECRET_KEY='
    extra_hosts:
      - host.docker.internal:host-gateway
    restart: unless-stopped

networks:
  default:
    external:
      name: gemini-openai-proxy-network

volumes:
  ollama: {}
  ollama-webui: {}

疎通確認

すべての設定が完了したら、コンテナ間の疎通確認を行います。このステップでは、各サービスが正しく通信できるかを確認するために、コンテナからPINGコマンドを使用します。

file

Ollamaの設定

Ollamaを使用するための設定では、外部のAPIキーの設定と、OpenAI APIのベースURLをhttp://gemini-custom:8080/v1に変更します。これにより、OllamaがGemini-OpenAI-Proxyを介してOpenAI APIと通信できるようになります。

応答確認

最後に、設定が正しく行われたかを確認するために、Ollamaを通じてチャットや画像を使用したチャットが無事に機能するかをテストします。

この記事を通じて、Docker-composeを使用してGemini-OpenAI-ProxyでOllamaとGemini Proを接続する方法を理解し、実装できるようになりました。

普通のチャット

file

画像付のチャット

file

リポジトリ

参考サイト

GitHub - open-webui/open-webui: ChatGPT-Style WebUI for Ollama (Formerly Ollama WebUI)
ChatGPT-Style WebUI for Ollama (Formerly Ollama WebUI) - open-webui/open-webui

コメント

タイトルとURLをコピーしました