summaryrefslogtreecommitdiffstats
path: root/docs/client.md
blob: ffbad9dee63a39c5182f2a0b16e3b0857f116b19 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
```
### G4F Client API Documentation (Beta Version)

#### Introduction

The G4F Client API introduces a new way to integrate advanced AI functionalities into your Python applications. This guide will help you transition from using the OpenAI client to the new G4F Client, offering compatibility with the existing OpenAI API alongside additional features.

#### Getting Started

**Switching to G4F Client:**

Replace the OpenAI client import statement in your Python code as follows:

Old Import:
```python
from openai import OpenAI
```

New Import:
```python
from g4f.client import Client
```

The G4F Client maintains the same API interface as OpenAI, ensuring a seamless transition.

#### Initializing the Client

To use the G4F Client, create an instance with customized providers:

```python
from g4f.client import Client
from g4f.providers import BingCreateImages, OpenaiChat, Gemini

client = Client(
    text_provider=OpenaiChat,
    image_provider=Gemini,
    proxies=None
)
```

#### Usage Examples

**Text Completions:**

You can use the `ChatCompletions` endpoint to generate text completions as follows:

```python
stream = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Say this is a test"}],
    stream=True,
)
for chunk in stream:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")
```

**Image Generation:**

Generate images using a specified prompt:

```python
response = client.images.generate(
    model="dall-e-3",
    prompt="a white siamese cat",
    ...
)

image_url = response.data[0].url
```

**Creating Image Variations:**

Create variations of an existing image:

```python
response = client.images.create_variation(
    image=open("cat.jpg", "rb"),
    model="bing",
    ...
)

image_url = response.data[0].url
```

#### Visual Examples

Original / Variant:

[![Original Image](/docs/cat.jpeg)](/docs/client.md)
[![Variant Image](/docs/cat.webp)](/docs/client.md)

[Return to Documentation Home](/)
```