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