From d0b80e2bab8c6b31feeb750f12b94d8da7d66468 Mon Sep 17 00:00:00 2001 From: kqlio67 Date: Sat, 19 Oct 2024 20:21:14 +0300 Subject: Updated almost all documentation and added new documentation for the local interface --- docs/docker.md | 115 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 92 insertions(+), 23 deletions(-) (limited to 'docs/docker.md') diff --git a/docs/docker.md b/docs/docker.md index db33b925..e1caaf3d 100644 --- a/docs/docker.md +++ b/docs/docker.md @@ -1,45 +1,114 @@ -### G4F - Docker Setup -Easily set up and run the G4F project using Docker without the hassle of manual dependency installation. +# G4F Docker Setup -1. **Prerequisites:** - - [Install Docker](https://docs.docker.com/get-docker/) - - [Install Docker Compose](https://docs.docker.com/compose/install/) +## Table of Contents + - [Prerequisites](#prerequisites) + - [Installation and Setup](#installation-and-setup) + - [Testing the API](#testing-the-api) + - [Troubleshooting](#troubleshooting) + - [Stopping the Service](#stopping-the-service) -2. **Clone the Repository:** -```bash -git clone https://github.com/xtekky/gpt4free.git -``` +## Prerequisites +**Before you begin, ensure you have the following installed on your system:** + - [Docker](https://docs.docker.com/get-docker/) + - [Docker Compose](https://docs.docker.com/compose/install/) + - Python 3.7 or higher + - pip (Python package manager) -3. **Navigate to the Project Directory:** +**Note:** If you encounter issues with Docker, you can run the project directly using Python. -```bash -cd gpt4free -``` +## Installation and Setup + +### Docker Method (Recommended) +1. **Clone the Repository** + ```bash + git clone https://github.com/xtekky/gpt4free.git + cd gpt4free + ``` + +2. **Build and Run with Docker Compose** + ```bash + docker-compose up --build + ``` + +3. **Access the API** + The server will be accessible at `http://localhost:1337` + +### Non-Docker Method +If you encounter issues with Docker, you can run the project directly using Python: + +1. **Clone the Repository** + ```bash + git clone https://github.com/xtekky/gpt4free.git + cd gpt4free + ``` + +2. **Install Dependencies** + ```bash + pip install -r requirements.txt + ``` -4. **Build the Docker Image:** +3. **Run the Server** + ```bash + python -m g4f.api.run + ``` +4. **Access the API** + The server will be accessible at `http://localhost:1337` + +## Testing the API +**You can test the API using curl or by creating a simple Python script:** +### Using curl ```bash -docker pull selenium/node-chrome -docker-compose build +curl -X POST -H "Content-Type: application/json" -d '{"prompt": "What is the capital of France?"}' http://localhost:1337/chat/completions ``` -5. **Start the Service:** +### Using Python +**Create a file named `test_g4f.py` with the following content:** +```python +import requests + +url = "http://localhost:1337/v1/chat/completions" +body = { + "model": "gpt-3.5-turbo", + "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:** ```bash -docker-compose up +python test_g4f.py ``` -Your server will now be accessible at `http://localhost:1337`. Interact with the API or run tests as usual. +## 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. -To stop the Docker containers, simply run: +**_For more detailed information on API endpoints and usage, refer to the [G4F API documentation](docs/interference-api.md)._** + + +## Stopping the Service + +### Docker Method +**To stop the Docker containers, use the following command:** ```bash docker-compose down ``` -> [!Note] -> Changes made to local files reflect in the Docker container due to volume mapping in `docker-compose.yml`. However, if you add or remove dependencies, rebuild the Docker image using `docker-compose build`. +### 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](/) \ No newline at end of file +[Return to Home](/) -- cgit v1.2.3