返回提交历史
Modified
g4f/api/__init__.py
+4
-18
XFEstudio/gpt4free
Fix track usage
571af320
代码差异
1 个文件
+4
-18
@@ -98,6 +98,7 @@ async def lifespan(app: FastAPI):
98
98
# Read cookie files if not ignored
99
99
if not AppConfig.ignore_cookie_files:
100
100
read_cookie_files()
101
AppConfig.g4f_api_key = os.environ.get("G4F_API_KEY", AppConfig.g4f_api_key)
101
102
yield
102
103
if has_nodriver:
103
104
for browser in util.get_registered_instances():
@@ -175,7 +176,7 @@ class ErrorResponse(Response):
175
176
176
177
class AppConfig:
177
178
ignored_providers: Optional[list[str]] = None
178
g4f_api_key: Optional[str] = os.environ.get("G4F_API_KEY", None)
179
g4f_api_key: Optional[str] = None
179
180
ignore_cookie_files: bool = False
180
181
model: str = None
181
182
provider: str = None
@@ -396,6 +397,8 @@ class Api:
396
397
HTTP_500_INTERNAL_SERVER_ERROR: {"model": ErrorResponseModel},
397
398
}
398
399
@self.app.post("/v1/chat/completions", responses=responses)
400
@self.app.post("/api/{provider}/chat/completions", responses=responses)
401
@self.app.post("/api/{provider}/{conversation_id}/chat/completions", responses=responses)
399
402
async def chat_completions(
400
403
config: ChatCompletionsConfig,
401
404
credentials: Annotated[HTTPAuthorizationCredentials, Depends(Api.security)] = None,
@@ -486,14 +489,6 @@ class Api:
486
489
logger.exception(e)
487
490
return ErrorResponse.from_exception(e, config, HTTP_500_INTERNAL_SERVER_ERROR)
488
491
489
@self.app.post("/api/{provider}/chat/completions", responses=responses)
490
async def provider_chat_completions(
491
provider: str,
492
config: ChatCompletionsConfig,
493
credentials: Annotated[HTTPAuthorizationCredentials, Depends(Api.security)] = None,
494
):
495
return await chat_completions(config, credentials, provider)
496
497
492
responses = {
498
493
HTTP_200_OK: {"model": ClientResponse},
499
494
HTTP_401_UNAUTHORIZED: {"model": ErrorResponseModel},
@@ -546,15 +541,6 @@ class Api:
546
541
):
547
542
return await v1_responses(config, credentials, provider)
548
543
549
@self.app.post("/api/{provider}/{conversation_id}/chat/completions", responses=responses)
550
async def provider_chat_completions(
551
provider: str,
552
conversation_id: str,
553
config: ChatCompletionsConfig,
554
credentials: Annotated[HTTPAuthorizationCredentials, Depends(Api.security)] = None,
555
):
556
return await chat_completions(config, credentials, provider, conversation_id)
557
558
544
responses = {
559
545
HTTP_200_OK: {"model": ImagesResponse},
560
546
HTTP_401_UNAUTHORIZED: {"model": ErrorResponseModel},