mirror of https://github.com/xtekky/gpt4free.git
Added code to ignore certain providers in the API
This commit is contained in:
parent
f125f714fb
commit
ecad7a4ac8
|
@ -0,0 +1,12 @@
|
|||
import g4f
|
||||
from g4f.api import Api
|
||||
|
||||
create_chat_completion_original = g4f.ChatCompletion.create
|
||||
list_ignored_providers=[]
|
||||
|
||||
def create_chat_completion(*args, **kwargs):
|
||||
kwargs['ignored']=list_ignored_providers
|
||||
return create_chat_completion_original(*args, **kwargs)
|
||||
|
||||
g4f.ChatCompletion.create=create_chat_completion
|
||||
api=Api(g4f, debug=False)
|
|
@ -0,0 +1,23 @@
|
|||
import typing
|
||||
from enum import Enum
|
||||
from g4f import Provider
|
||||
from g4f_api import ApiInterface
|
||||
import typer
|
||||
|
||||
IgnoredProviders = Enum("ignore_providers", {key:key for key in Provider.__all__})
|
||||
|
||||
app = typer.Typer(help="Run the G4F API")
|
||||
|
||||
@app.command()
|
||||
def main(
|
||||
bind_str: str = typer.Argument(..., envvar="G4F_API_BIND_STR", help="The bind string."),
|
||||
i_num_threads: int = typer.Option(1, envvar="G4F_API_NUM_THREADS", help="The number of threads."),
|
||||
list_ignored_providers: typing.List[IgnoredProviders] = typer.Option([], envvar="G4F_API_LIST_IGNORED_PROVIDERS", help="List of providers to ignore when processing request."),
|
||||
):
|
||||
list_ignored_providers=[provider.name for provider in list_ignored_providers]
|
||||
ApiInterface.list_ignored_providers=list_ignored_providers
|
||||
ApiInterface.api.run(bind_str, i_num_threads)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
app()
|
Loading…
Reference in New Issue