소스 검색

chore: add app generator overload (#7792)

tags/0.7.3
Yeuoly 1 년 전
부모
커밋
962cdbbebd
No account linked to committer's email address

+ 21
- 1
api/core/app/apps/advanced_chat/app_generator.py 파일 보기

import threading import threading
import uuid import uuid
from collections.abc import Generator from collections.abc import Generator
from typing import Union
from typing import Literal, Union, overload


from flask import Flask, current_app from flask import Flask, current_app
from pydantic import ValidationError from pydantic import ValidationError




class AdvancedChatAppGenerator(MessageBasedAppGenerator): class AdvancedChatAppGenerator(MessageBasedAppGenerator):
@overload
def generate(
self, app_model: App,
workflow: Workflow,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[True] = True,
) -> Generator[str, None, None]: ...

@overload
def generate(
self, app_model: App,
workflow: Workflow,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[False] = False,
) -> dict: ...

def generate( def generate(
self, app_model: App, self, app_model: App,
workflow: Workflow, workflow: Workflow,

+ 19
- 1
api/core/app/apps/agent_chat/app_generator.py 파일 보기

import threading import threading
import uuid import uuid
from collections.abc import Generator from collections.abc import Generator
from typing import Any, Union
from typing import Any, Literal, Union, overload


from flask import Flask, current_app from flask import Flask, current_app
from pydantic import ValidationError from pydantic import ValidationError




class AgentChatAppGenerator(MessageBasedAppGenerator): class AgentChatAppGenerator(MessageBasedAppGenerator):
@overload
def generate(
self, app_model: App,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[True] = True,
) -> Generator[dict, None, None]: ...

@overload
def generate(
self, app_model: App,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[False] = False,
) -> dict: ...

def generate(self, app_model: App, def generate(self, app_model: App,
user: Union[Account, EndUser], user: Union[Account, EndUser],
args: Any, args: Any,

+ 20
- 2
api/core/app/apps/chat/app_generator.py 파일 보기

import threading import threading
import uuid import uuid
from collections.abc import Generator from collections.abc import Generator
from typing import Any, Union
from typing import Any, Literal, Union, overload


from flask import Flask, current_app from flask import Flask, current_app
from pydantic import ValidationError from pydantic import ValidationError




class ChatAppGenerator(MessageBasedAppGenerator): class ChatAppGenerator(MessageBasedAppGenerator):
@overload
def generate(
self, app_model: App,
user: Union[Account, EndUser],
args: Any,
invoke_from: InvokeFrom,
stream: Literal[True] = True,
) -> Generator[str, None, None]: ...

@overload
def generate(
self, app_model: App,
user: Union[Account, EndUser],
args: Any,
invoke_from: InvokeFrom,
stream: Literal[False] = False,
) -> dict: ...

def generate( def generate(
self, app_model: App, self, app_model: App,
user: Union[Account, EndUser], user: Union[Account, EndUser],
args: Any, args: Any,
invoke_from: InvokeFrom, invoke_from: InvokeFrom,
stream: bool = True, stream: bool = True,
) -> Union[dict, Generator[dict, None, None]]:
) -> Union[dict, Generator[str, None, None]]:
""" """
Generate App response. Generate App response.



+ 21
- 3
api/core/app/apps/completion/app_generator.py 파일 보기

import threading import threading
import uuid import uuid
from collections.abc import Generator from collections.abc import Generator
from typing import Any, Union
from typing import Any, Literal, Union, overload


from flask import Flask, current_app from flask import Flask, current_app
from pydantic import ValidationError from pydantic import ValidationError




class CompletionAppGenerator(MessageBasedAppGenerator): class CompletionAppGenerator(MessageBasedAppGenerator):
@overload
def generate(
self, app_model: App,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[True] = True,
) -> Generator[str, None, None]: ...

@overload
def generate(
self, app_model: App,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[False] = False,
) -> dict: ...

def generate(self, app_model: App, def generate(self, app_model: App,
user: Union[Account, EndUser], user: Union[Account, EndUser],
args: Any, args: Any,
invoke_from: InvokeFrom, invoke_from: InvokeFrom,
stream: bool = True) \ stream: bool = True) \
-> Union[dict, Generator[dict, None, None]]:
-> Union[dict, Generator[str, None, None]]:
""" """
Generate App response. Generate App response.


user: Union[Account, EndUser], user: Union[Account, EndUser],
invoke_from: InvokeFrom, invoke_from: InvokeFrom,
stream: bool = True) \ stream: bool = True) \
-> Union[dict, Generator[dict, None, None]]:
-> Union[dict, Generator[str, None, None]]:
""" """
Generate App response. Generate App response.



+ 22
- 2
api/core/app/apps/workflow/app_generator.py 파일 보기

import threading import threading
import uuid import uuid
from collections.abc import Generator from collections.abc import Generator
from typing import Union
from typing import Literal, Union, overload


from flask import Flask, current_app from flask import Flask, current_app
from pydantic import ValidationError from pydantic import ValidationError




class WorkflowAppGenerator(BaseAppGenerator): class WorkflowAppGenerator(BaseAppGenerator):
@overload
def generate(
self, app_model: App,
workflow: Workflow,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[True] = True,
) -> Generator[str, None, None]: ...

@overload
def generate(
self, app_model: App,
workflow: Workflow,
user: Union[Account, EndUser],
args: dict,
invoke_from: InvokeFrom,
stream: Literal[False] = False,
) -> dict: ...

def generate( def generate(
self, app_model: App, self, app_model: App,
workflow: Workflow, workflow: Workflow,
application_generate_entity: WorkflowAppGenerateEntity, application_generate_entity: WorkflowAppGenerateEntity,
invoke_from: InvokeFrom, invoke_from: InvokeFrom,
stream: bool = True, stream: bool = True,
) -> Union[dict, Generator[dict, None, None]]:
) -> Union[dict, Generator[str, None, None]]:
""" """
Generate App response. Generate App response.



Loading…
취소
저장