gpt4free/docs/docker.md
Heiner Lohaus ea1448001d Add nodriver to Gemini provider,
Add slim docker image with google-chrome usage,
Add the new docker images to publish worklow,
Update requirements.txt and pip requirements
2024-11-17 11:06:37 +01:00

3.4 KiB

G4F Docker Setup

Table of Contents

Prerequisites

Before you begin, ensure you have the following installed on your system:

Note: If you encounter issues with Docker, you can run the project directly using Python.

Installation and Setup

  1. Clone the Repository

    git clone https://github.com/xtekky/gpt4free.git
    cd gpt4free
    
  2. Build and Run with Docker Compose

    Pull the latest image and run a container with Google Chrome support:

       docker pull hlohaus789/g4f
       docker-compose up -d
    

    Or run the small docker images without Google Chrome:

       docker-compose -f docker-compose-slim.yml up -d
    
  3. Access the API or the GUI

    The api server will be accessible at http://localhost:1337

    And the gui at this url: http://localhost:8080

Non-Docker Method

If you encounter issues with Docker, you can run the project directly using Python:

  1. Clone the Repository

    git clone https://github.com/xtekky/gpt4free.git
    cd gpt4free
    
  2. Install Dependencies

    pip install -r requirements.txt
    
  3. Run the Server

    python -m g4f.api.run
    
  4. Access the API or the GUI

    The api server will be accessible at http://localhost:1337

    And the gui at this url: http://localhost:8080

Testing the API

You can test the API using curl or by creating a simple Python script:

Using curl

curl -X POST -H "Content-Type: application/json" -d '{"prompt": "What is the capital of France?"}' http://localhost:1337/chat/completions

Using Python

Create a file named test_g4f.py with the following content:

import requests

url = "http://localhost:1337/v1/chat/completions"
body = {
    "model": "gpt-4o-mini", 
    "stream": False,
    "messages": [
        {"role": "assistant", "content": "What can you do?"}
    ]
}

json_response = requests.post(url, json=body).json().get('choices', [])

for choice in json_response:
    print(choice.get('message', {}).get('content', ''))

Run the script:

python test_g4f.py

Troubleshooting

  • If you encounter issues with Docker, try running the project directly using Python as described in the Non-Docker Method.
  • Ensure that you have the necessary permissions to run Docker commands. You might need to use sudo or add your user to the docker group.
  • If the server doesn't start, check the logs for any error messages and ensure all dependencies are correctly installed.

For more detailed information on API endpoints and usage, refer to the G4F API documentation.

Stopping the Service

Docker Method

To stop the Docker containers, use the following command:

docker-compose down

Non-Docker Method

If you're running the server directly with Python, you can stop it by pressing Ctrl+C in the terminal where it's running.


Return to Home