gpt4free/README.md

107 行
2.2 KiB
Markdown
Raw パーマリンク 通常表示 履歴

2023-05-13 19:24:39 +09:00
unstable g4f-v2 early-beta, only for developers !!
2023-05-13 19:06:04 +09:00
2023-05-13 19:09:45 +09:00
### interference opneai-proxy api (use with openai python package)
run server:
2023-05-13 19:08:23 +09:00
```sh
2023-05-13 19:23:42 +09:00
python3 -m interference.app
2023-05-13 19:08:23 +09:00
```
2023-05-13 19:06:04 +09:00
2023-05-13 19:06:39 +09:00
```py
2023-05-13 19:06:04 +09:00
import openai
openai.api_key = ''
openai.api_base = 'http://127.0.0.1:1337'
chat_completion = openai.ChatCompletion.create(stream=True,
model='gpt-3.5-turbo', messages=[{'role': 'user', 'content': 'write a poem about a tree'}])
#print(chat_completion.choices[0].message.content)
for token in chat_completion:
content = token['choices'][0]['delta'].get('content')
if content != None:
print(content)
```
### simple usage:
2023-05-15 09:22:55 +09:00
providers:
```py
2023-06-05 08:47:01 +09:00
from g4f.Provider import (
Phind,
You,
Bing,
Openai,
Yqcloud,
Theb,
Aichat,
Ora,
Aws,
Bard,
Vercel,
Pierangelo,
Forefront
)
2023-05-15 09:22:55 +09:00
# usage:
2023-06-05 08:47:01 +09:00
response = g4f.ChatCompletion.create(..., provider=ProviderName)
2023-05-15 09:22:55 +09:00
```
2023-05-13 19:06:39 +09:00
```py
2023-05-13 19:06:04 +09:00
import g4f
2023-06-05 08:47:01 +09:00
print(g4f.Provider.Ails.params) # supported args
2023-05-13 19:06:04 +09:00
# Automatic selection of provider
# streamed completion
response = g4f.ChatCompletion.create(model='gpt-3.5-turbo', messages=[
{"role": "user", "content": "Hello world"}], stream=True)
for message in response:
print(message)
# normal response
2023-05-14 01:55:14 +09:00
response = g4f.ChatCompletion.create(model=g4f.Models.gpt_4, messages=[
{"role": "user", "content": "hi"}]) # alterative model setting
2023-05-13 19:06:04 +09:00
print(response)
# Set with provider
2023-06-05 08:47:01 +09:00
response = g4f.ChatCompletion.create(model='gpt-3.5-turbo', provider=g4f.Provider.Openai, messages=[
2023-05-13 19:06:04 +09:00
{"role": "user", "content": "Hello world"}], stream=True)
for message in response:
print(message)
```
### Dev
(more instructions soon)
2023-06-05 08:47:01 +09:00
the `g4f.Provider`class
2023-05-13 18:39:01 +09:00
default:
2023-06-05 08:47:01 +09:00
`./g4f/Provider/Providers/ProviderName.py`:
2023-05-13 18:39:01 +09:00
```python
import os
url: str = 'https://{site_link}'
model: str = 'gpt-[version]'
def _create_completion(prompt: str, args...):
return ...
or
yield ...
2023-06-05 08:47:01 +09:00
params = f'g4f.Provider.{os.path.basename(__file__)[:-3]} supports: ' + \
2023-05-13 18:39:01 +09:00
', '.join([f"{name}: {get_type_hints(_create_completion)[name].__name__}" for name in _create_completion.__code__.co_varnames[:_create_completion.__code__.co_argcount]])
2023-05-14 01:55:14 +09:00
```