Skip to main content

Interference OpenAI-Proxy API

The Interference API allows you to serve other OpenAI integrations with G4F. It acts as a proxy, translating requests to the OpenAI API into requests to the G4F providers.

Run Interference API from PyPI Package

You can run the Interference API directly from the G4F PyPI package:
from g4f.api import run_api

run_api()

Run Interference API from Repository

Alternatively, you can run the Interference API from the cloned repository. Run the server with:
g4f api
or
python -m g4f.api.run

Usage with OpenAI Library

from openai import OpenAI

client = OpenAI(
    api_key="",
    # Change the API base URL to the local interference API
    base_url="http://localhost:1337/v1"  
)

response = client.chat.completions.create(
    model="gpt-3.5-turbo",
    messages=[{"role": "user", "content": "write a poem about a tree"}],
    stream=True,
)

if isinstance(response, dict):
    # Not streaming
    print(response.choices[0].message.content)
else:
    # Streaming
    for token in response:
        content = token.choices[0].delta.content
        if content is not None:
            print(content, end="", flush=True)

Usage with Requests Library

You can also send requests directly to the Interference API using the requests library.
Send a POST request to /v1/chat/completions with the request body containing the model and other parameters:
import requests

url = "http://localhost:1337/v1/chat/completions"
body = {
    "model": "gpt-3.5-turbo-16k", 
    "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', ''))

Key Points

  • The Interference API translates OpenAI API requests into G4F provider requests
  • You can run it from the PyPI package or the cloned repository
  • It supports usage with the OpenAI Python library by changing the base_url
  • Direct requests can be sent to the API endpoints using libraries like requests
The Interference API allows easy integration of G4F with existing OpenAI-based applications and tools.