dify-oapi2 0.1.0__py3-none-any.whl → 0.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- dify_oapi/api/completion/v1/model/annotation/annotation_info.py +43 -0
- dify_oapi/api/completion/v1/model/annotation/annotation_reply_settings_request.py +39 -0
- dify_oapi/api/completion/v1/model/annotation/annotation_reply_settings_request_body.py +33 -0
- dify_oapi/api/completion/v1/model/annotation/annotation_reply_settings_response.py +9 -0
- dify_oapi/api/completion/v1/model/annotation/create_annotation_request.py +32 -0
- dify_oapi/api/completion/v1/model/annotation/create_annotation_request_body.py +28 -0
- dify_oapi/api/completion/v1/model/annotation/create_annotation_response.py +9 -0
- dify_oapi/api/completion/v1/model/annotation/delete_annotation_request.py +30 -0
- dify_oapi/api/completion/v1/model/annotation/delete_annotation_response.py +7 -0
- dify_oapi/api/completion/v1/model/annotation/job_status_info.py +35 -0
- dify_oapi/api/completion/v1/model/annotation/list_annotations_request.py +32 -0
- dify_oapi/api/completion/v1/model/annotation/list_annotations_response.py +13 -0
- dify_oapi/api/completion/v1/model/annotation/query_annotation_reply_status_request.py +38 -0
- dify_oapi/api/completion/v1/model/annotation/query_annotation_reply_status_response.py +9 -0
- dify_oapi/api/completion/v1/model/annotation/update_annotation_request.py +38 -0
- dify_oapi/api/completion/v1/model/annotation/update_annotation_request_body.py +28 -0
- dify_oapi/api/completion/v1/model/annotation/update_annotation_response.py +9 -0
- dify_oapi/api/completion/v1/model/audio/audio_info.py +28 -0
- dify_oapi/api/completion/v1/model/audio/text_to_audio_request.py +32 -0
- dify_oapi/api/completion/v1/model/audio/text_to_audio_request_body.py +33 -0
- dify_oapi/api/completion/v1/model/audio/text_to_audio_response.py +9 -0
- dify_oapi/api/completion/v1/model/completion/completion_inputs.py +28 -0
- dify_oapi/api/completion/v1/model/completion/completion_message_info.py +46 -0
- dify_oapi/api/completion/v1/model/completion/completion_types.py +27 -0
- dify_oapi/api/completion/v1/model/completion/metadata.py +31 -0
- dify_oapi/api/completion/v1/model/completion/retriever_resource.py +58 -0
- dify_oapi/api/completion/v1/model/completion/send_message_request.py +32 -0
- dify_oapi/api/completion/v1/model/completion/send_message_request_body.py +76 -0
- dify_oapi/api/completion/v1/model/completion/send_message_response.py +9 -0
- dify_oapi/api/completion/v1/model/completion/stop_response_request.py +38 -0
- dify_oapi/api/completion/v1/model/completion/stop_response_request_body.py +23 -0
- dify_oapi/api/completion/v1/model/{stop_completion_response.py → completion/stop_response_response.py} +3 -1
- dify_oapi/api/completion/v1/model/completion/usage.py +78 -0
- dify_oapi/api/completion/v1/model/feedback/feedback_info.py +53 -0
- dify_oapi/api/completion/v1/model/feedback/get_feedbacks_request.py +32 -0
- dify_oapi/api/completion/v1/model/feedback/get_feedbacks_response.py +9 -0
- dify_oapi/api/completion/v1/model/feedback/message_feedback_request.py +38 -0
- dify_oapi/api/completion/v1/model/feedback/message_feedback_request_body.py +35 -0
- dify_oapi/api/completion/v1/model/feedback/message_feedback_response.py +7 -0
- dify_oapi/api/completion/v1/model/file/file_info.py +53 -0
- dify_oapi/api/completion/v1/model/file/upload_file_request.py +42 -0
- dify_oapi/api/completion/v1/model/file/upload_file_request_body.py +23 -0
- dify_oapi/api/completion/v1/model/file/upload_file_response.py +9 -0
- dify_oapi/api/completion/v1/model/info/app_info.py +43 -0
- dify_oapi/api/completion/v1/model/info/file_upload_config.py +23 -0
- dify_oapi/api/completion/v1/model/info/get_info_request.py +24 -0
- dify_oapi/api/completion/v1/model/info/get_info_response.py +9 -0
- dify_oapi/api/completion/v1/model/info/get_parameters_request.py +24 -0
- dify_oapi/api/completion/v1/model/info/get_parameters_response.py +9 -0
- dify_oapi/api/completion/v1/model/info/get_site_request.py +24 -0
- dify_oapi/api/completion/v1/model/info/get_site_response.py +9 -0
- dify_oapi/api/completion/v1/model/info/parameters_info.py +67 -0
- dify_oapi/api/completion/v1/model/info/site_info.py +90 -0
- dify_oapi/api/completion/v1/model/info/system_parameters.py +38 -0
- dify_oapi/api/completion/v1/model/info/user_input_form.py +43 -0
- dify_oapi/api/completion/v1/resource/__init__.py +5 -0
- dify_oapi/api/completion/v1/resource/annotation.py +99 -0
- dify_oapi/api/completion/v1/resource/audio.py +19 -0
- dify_oapi/api/completion/v1/resource/completion.py +36 -46
- dify_oapi/api/completion/v1/resource/feedback.py +33 -0
- dify_oapi/api/completion/v1/resource/file.py +19 -0
- dify_oapi/api/completion/v1/resource/info.py +39 -0
- dify_oapi/api/completion/v1/version.py +11 -1
- dify_oapi/api/knowledge_base/v1/model/dataset/create_request_body.py +3 -4
- dify_oapi/api/knowledge_base/v1/model/dataset/dataset_types.py +36 -0
- dify_oapi/api/knowledge_base/v1/model/dataset/retrieval_model.py +3 -6
- dify_oapi/api/knowledge_base/v1/model/document/create_by_text_request_body.py +7 -12
- dify_oapi/api/knowledge_base/v1/model/document/document_types.py +36 -0
- dify_oapi/api/knowledge_base/v1/model/metadata/metadata_types.py +15 -0
- dify_oapi/api/knowledge_base/v1/model/segment/segment_types.py +24 -0
- dify_oapi/api/knowledge_base/v1/model/tag/tag_types.py +12 -0
- dify_oapi/api/knowledge_base/v1/model/tag/update_response.py +5 -1
- dify_oapi/core/http/transport/_misc.py +54 -14
- {dify_oapi2-0.1.0.dist-info → dify_oapi2-0.2.0.dist-info}/METADATA +9 -5
- {dify_oapi2-0.1.0.dist-info → dify_oapi2-0.2.0.dist-info}/RECORD +77 -20
- dify_oapi/api/completion/v1/model/completion_request.py +0 -34
- dify_oapi/api/completion/v1/model/completion_request_body.py +0 -43
- dify_oapi/api/completion/v1/model/completion_request_body_input.py +0 -38
- dify_oapi/api/completion/v1/model/completion_request_file.py +0 -49
- dify_oapi/api/completion/v1/model/completion_response.py +0 -18
- dify_oapi/api/completion/v1/model/stop_completion_request.py +0 -38
- dify_oapi/api/completion/v1/model/stop_completion_request_body.py +0 -23
- {dify_oapi2-0.1.0.dist-info → dify_oapi2-0.2.0.dist-info}/LICENSE +0 -0
- {dify_oapi2-0.1.0.dist-info → dify_oapi2-0.2.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,31 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
from .retriever_resource import RetrieverResource
|
6
|
+
from .usage import Usage
|
7
|
+
|
8
|
+
|
9
|
+
class Metadata(BaseModel):
|
10
|
+
usage: Usage | None = None
|
11
|
+
retriever_resources: list[RetrieverResource] | None = None
|
12
|
+
|
13
|
+
@staticmethod
|
14
|
+
def builder() -> MetadataBuilder:
|
15
|
+
return MetadataBuilder()
|
16
|
+
|
17
|
+
|
18
|
+
class MetadataBuilder:
|
19
|
+
def __init__(self):
|
20
|
+
self._metadata = Metadata()
|
21
|
+
|
22
|
+
def build(self) -> Metadata:
|
23
|
+
return self._metadata
|
24
|
+
|
25
|
+
def usage(self, usage: Usage) -> MetadataBuilder:
|
26
|
+
self._metadata.usage = usage
|
27
|
+
return self
|
28
|
+
|
29
|
+
def retriever_resources(self, retriever_resources: list[RetrieverResource]) -> MetadataBuilder:
|
30
|
+
self._metadata.retriever_resources = retriever_resources
|
31
|
+
return self
|
@@ -0,0 +1,58 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class RetrieverResource(BaseModel):
|
7
|
+
position: int | None = None
|
8
|
+
dataset_id: str | None = None
|
9
|
+
dataset_name: str | None = None
|
10
|
+
document_id: str | None = None
|
11
|
+
document_name: str | None = None
|
12
|
+
segment_id: str | None = None
|
13
|
+
score: float | None = None
|
14
|
+
content: str | None = None
|
15
|
+
|
16
|
+
@staticmethod
|
17
|
+
def builder() -> RetrieverResourceBuilder:
|
18
|
+
return RetrieverResourceBuilder()
|
19
|
+
|
20
|
+
|
21
|
+
class RetrieverResourceBuilder:
|
22
|
+
def __init__(self):
|
23
|
+
self._retriever_resource = RetrieverResource()
|
24
|
+
|
25
|
+
def build(self) -> RetrieverResource:
|
26
|
+
return self._retriever_resource
|
27
|
+
|
28
|
+
def position(self, position: int) -> RetrieverResourceBuilder:
|
29
|
+
self._retriever_resource.position = position
|
30
|
+
return self
|
31
|
+
|
32
|
+
def dataset_id(self, dataset_id: str) -> RetrieverResourceBuilder:
|
33
|
+
self._retriever_resource.dataset_id = dataset_id
|
34
|
+
return self
|
35
|
+
|
36
|
+
def dataset_name(self, dataset_name: str) -> RetrieverResourceBuilder:
|
37
|
+
self._retriever_resource.dataset_name = dataset_name
|
38
|
+
return self
|
39
|
+
|
40
|
+
def document_id(self, document_id: str) -> RetrieverResourceBuilder:
|
41
|
+
self._retriever_resource.document_id = document_id
|
42
|
+
return self
|
43
|
+
|
44
|
+
def document_name(self, document_name: str) -> RetrieverResourceBuilder:
|
45
|
+
self._retriever_resource.document_name = document_name
|
46
|
+
return self
|
47
|
+
|
48
|
+
def segment_id(self, segment_id: str) -> RetrieverResourceBuilder:
|
49
|
+
self._retriever_resource.segment_id = segment_id
|
50
|
+
return self
|
51
|
+
|
52
|
+
def score(self, score: float) -> RetrieverResourceBuilder:
|
53
|
+
self._retriever_resource.score = score
|
54
|
+
return self
|
55
|
+
|
56
|
+
def content(self, content: str) -> RetrieverResourceBuilder:
|
57
|
+
self._retriever_resource.content = content
|
58
|
+
return self
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from dify_oapi.core.enum import HttpMethod
|
4
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
5
|
+
|
6
|
+
from .send_message_request_body import SendMessageRequestBody
|
7
|
+
|
8
|
+
|
9
|
+
class SendMessageRequest(BaseRequest):
|
10
|
+
def __init__(self) -> None:
|
11
|
+
super().__init__()
|
12
|
+
self.request_body: SendMessageRequestBody | None = None
|
13
|
+
|
14
|
+
@staticmethod
|
15
|
+
def builder() -> SendMessageRequestBuilder:
|
16
|
+
return SendMessageRequestBuilder()
|
17
|
+
|
18
|
+
|
19
|
+
class SendMessageRequestBuilder:
|
20
|
+
def __init__(self) -> None:
|
21
|
+
send_message_request = SendMessageRequest()
|
22
|
+
send_message_request.http_method = HttpMethod.POST
|
23
|
+
send_message_request.uri = "/v1/completion-messages"
|
24
|
+
self._send_message_request: SendMessageRequest = send_message_request
|
25
|
+
|
26
|
+
def request_body(self, request_body: SendMessageRequestBody) -> SendMessageRequestBuilder:
|
27
|
+
self._send_message_request.request_body = request_body
|
28
|
+
self._send_message_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
29
|
+
return self
|
30
|
+
|
31
|
+
def build(self) -> SendMessageRequest:
|
32
|
+
return self._send_message_request
|
@@ -0,0 +1,76 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
from .completion_inputs import CompletionInputs
|
6
|
+
from .completion_types import FileType, ResponseMode, TransferMethod
|
7
|
+
|
8
|
+
|
9
|
+
class FileInfo(BaseModel):
|
10
|
+
type: FileType | None = None
|
11
|
+
transfer_method: TransferMethod | None = None
|
12
|
+
url: str | None = None
|
13
|
+
upload_file_id: str | None = None
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def builder() -> FileInfoBuilder:
|
17
|
+
return FileInfoBuilder()
|
18
|
+
|
19
|
+
|
20
|
+
class FileInfoBuilder:
|
21
|
+
def __init__(self):
|
22
|
+
self._file_info = FileInfo()
|
23
|
+
|
24
|
+
def build(self) -> FileInfo:
|
25
|
+
return self._file_info
|
26
|
+
|
27
|
+
def type(self, type_: FileType) -> FileInfoBuilder:
|
28
|
+
self._file_info.type = type_
|
29
|
+
return self
|
30
|
+
|
31
|
+
def transfer_method(self, transfer_method: TransferMethod) -> FileInfoBuilder:
|
32
|
+
self._file_info.transfer_method = transfer_method
|
33
|
+
return self
|
34
|
+
|
35
|
+
def url(self, url: str) -> FileInfoBuilder:
|
36
|
+
self._file_info.url = url
|
37
|
+
return self
|
38
|
+
|
39
|
+
def upload_file_id(self, upload_file_id: str) -> FileInfoBuilder:
|
40
|
+
self._file_info.upload_file_id = upload_file_id
|
41
|
+
return self
|
42
|
+
|
43
|
+
|
44
|
+
class SendMessageRequestBody(BaseModel):
|
45
|
+
inputs: CompletionInputs | None = None
|
46
|
+
response_mode: ResponseMode | None = None
|
47
|
+
user: str | None = None
|
48
|
+
files: list[FileInfo] | None = None
|
49
|
+
|
50
|
+
@staticmethod
|
51
|
+
def builder() -> SendMessageRequestBodyBuilder:
|
52
|
+
return SendMessageRequestBodyBuilder()
|
53
|
+
|
54
|
+
|
55
|
+
class SendMessageRequestBodyBuilder:
|
56
|
+
def __init__(self):
|
57
|
+
self._send_message_request_body = SendMessageRequestBody()
|
58
|
+
|
59
|
+
def build(self) -> SendMessageRequestBody:
|
60
|
+
return self._send_message_request_body
|
61
|
+
|
62
|
+
def inputs(self, inputs: CompletionInputs) -> SendMessageRequestBodyBuilder:
|
63
|
+
self._send_message_request_body.inputs = inputs
|
64
|
+
return self
|
65
|
+
|
66
|
+
def response_mode(self, response_mode: ResponseMode) -> SendMessageRequestBodyBuilder:
|
67
|
+
self._send_message_request_body.response_mode = response_mode
|
68
|
+
return self
|
69
|
+
|
70
|
+
def user(self, user: str) -> SendMessageRequestBodyBuilder:
|
71
|
+
self._send_message_request_body.user = user
|
72
|
+
return self
|
73
|
+
|
74
|
+
def files(self, files: list[FileInfo]) -> SendMessageRequestBodyBuilder:
|
75
|
+
self._send_message_request_body.files = files
|
76
|
+
return self
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from dify_oapi.core.enum import HttpMethod
|
4
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
5
|
+
|
6
|
+
from .stop_response_request_body import StopResponseRequestBody
|
7
|
+
|
8
|
+
|
9
|
+
class StopResponseRequest(BaseRequest):
|
10
|
+
def __init__(self) -> None:
|
11
|
+
super().__init__()
|
12
|
+
self.request_body: StopResponseRequestBody | None = None
|
13
|
+
self.task_id: str | None = None
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def builder() -> StopResponseRequestBuilder:
|
17
|
+
return StopResponseRequestBuilder()
|
18
|
+
|
19
|
+
|
20
|
+
class StopResponseRequestBuilder:
|
21
|
+
def __init__(self):
|
22
|
+
stop_response_request = StopResponseRequest()
|
23
|
+
stop_response_request.http_method = HttpMethod.POST
|
24
|
+
stop_response_request.uri = "/v1/completion-messages/:task_id/stop"
|
25
|
+
self._stop_response_request = stop_response_request
|
26
|
+
|
27
|
+
def build(self) -> StopResponseRequest:
|
28
|
+
return self._stop_response_request
|
29
|
+
|
30
|
+
def request_body(self, request_body: StopResponseRequestBody) -> StopResponseRequestBuilder:
|
31
|
+
self._stop_response_request.request_body = request_body
|
32
|
+
self._stop_response_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
33
|
+
return self
|
34
|
+
|
35
|
+
def task_id(self, task_id: str) -> StopResponseRequestBuilder:
|
36
|
+
self._stop_response_request.task_id = task_id
|
37
|
+
self._stop_response_request.paths["task_id"] = task_id
|
38
|
+
return self
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class StopResponseRequestBody(BaseModel):
|
7
|
+
user: str | None = None
|
8
|
+
|
9
|
+
@staticmethod
|
10
|
+
def builder() -> StopResponseRequestBodyBuilder:
|
11
|
+
return StopResponseRequestBodyBuilder()
|
12
|
+
|
13
|
+
|
14
|
+
class StopResponseRequestBodyBuilder:
|
15
|
+
def __init__(self):
|
16
|
+
self._stop_response_request_body = StopResponseRequestBody()
|
17
|
+
|
18
|
+
def build(self) -> StopResponseRequestBody:
|
19
|
+
return self._stop_response_request_body
|
20
|
+
|
21
|
+
def user(self, user: str) -> StopResponseRequestBodyBuilder:
|
22
|
+
self._stop_response_request_body.user = user
|
23
|
+
return self
|
@@ -0,0 +1,78 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class Usage(BaseModel):
|
7
|
+
prompt_tokens: int | None = None
|
8
|
+
prompt_unit_price: str | None = None
|
9
|
+
prompt_price_unit: str | None = None
|
10
|
+
prompt_price: str | None = None
|
11
|
+
completion_tokens: int | None = None
|
12
|
+
completion_unit_price: str | None = None
|
13
|
+
completion_price_unit: str | None = None
|
14
|
+
completion_price: str | None = None
|
15
|
+
total_tokens: int | None = None
|
16
|
+
total_price: str | None = None
|
17
|
+
currency: str | None = None
|
18
|
+
latency: float | None = None
|
19
|
+
|
20
|
+
@staticmethod
|
21
|
+
def builder() -> UsageBuilder:
|
22
|
+
return UsageBuilder()
|
23
|
+
|
24
|
+
|
25
|
+
class UsageBuilder:
|
26
|
+
def __init__(self):
|
27
|
+
self._usage = Usage()
|
28
|
+
|
29
|
+
def build(self) -> Usage:
|
30
|
+
return self._usage
|
31
|
+
|
32
|
+
def prompt_tokens(self, prompt_tokens: int) -> UsageBuilder:
|
33
|
+
self._usage.prompt_tokens = prompt_tokens
|
34
|
+
return self
|
35
|
+
|
36
|
+
def prompt_unit_price(self, prompt_unit_price: str) -> UsageBuilder:
|
37
|
+
self._usage.prompt_unit_price = prompt_unit_price
|
38
|
+
return self
|
39
|
+
|
40
|
+
def prompt_price_unit(self, prompt_price_unit: str) -> UsageBuilder:
|
41
|
+
self._usage.prompt_price_unit = prompt_price_unit
|
42
|
+
return self
|
43
|
+
|
44
|
+
def prompt_price(self, prompt_price: str) -> UsageBuilder:
|
45
|
+
self._usage.prompt_price = prompt_price
|
46
|
+
return self
|
47
|
+
|
48
|
+
def completion_tokens(self, completion_tokens: int) -> UsageBuilder:
|
49
|
+
self._usage.completion_tokens = completion_tokens
|
50
|
+
return self
|
51
|
+
|
52
|
+
def completion_unit_price(self, completion_unit_price: str) -> UsageBuilder:
|
53
|
+
self._usage.completion_unit_price = completion_unit_price
|
54
|
+
return self
|
55
|
+
|
56
|
+
def completion_price_unit(self, completion_price_unit: str) -> UsageBuilder:
|
57
|
+
self._usage.completion_price_unit = completion_price_unit
|
58
|
+
return self
|
59
|
+
|
60
|
+
def completion_price(self, completion_price: str) -> UsageBuilder:
|
61
|
+
self._usage.completion_price = completion_price
|
62
|
+
return self
|
63
|
+
|
64
|
+
def total_tokens(self, total_tokens: int) -> UsageBuilder:
|
65
|
+
self._usage.total_tokens = total_tokens
|
66
|
+
return self
|
67
|
+
|
68
|
+
def total_price(self, total_price: str) -> UsageBuilder:
|
69
|
+
self._usage.total_price = total_price
|
70
|
+
return self
|
71
|
+
|
72
|
+
def currency(self, currency: str) -> UsageBuilder:
|
73
|
+
self._usage.currency = currency
|
74
|
+
return self
|
75
|
+
|
76
|
+
def latency(self, latency: float) -> UsageBuilder:
|
77
|
+
self._usage.latency = latency
|
78
|
+
return self
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class FeedbackInfo(BaseModel):
|
7
|
+
id: str | None = None
|
8
|
+
rating: str | None = None
|
9
|
+
content: str | None = None
|
10
|
+
from_source: str | None = None
|
11
|
+
from_end_user_id: str | None = None
|
12
|
+
from_account_id: str | None = None
|
13
|
+
created_at: int | None = None
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def builder() -> FeedbackInfoBuilder:
|
17
|
+
return FeedbackInfoBuilder()
|
18
|
+
|
19
|
+
|
20
|
+
class FeedbackInfoBuilder:
|
21
|
+
def __init__(self):
|
22
|
+
self._feedback_info = FeedbackInfo()
|
23
|
+
|
24
|
+
def build(self) -> FeedbackInfo:
|
25
|
+
return self._feedback_info
|
26
|
+
|
27
|
+
def id(self, id: str) -> FeedbackInfoBuilder:
|
28
|
+
self._feedback_info.id = id
|
29
|
+
return self
|
30
|
+
|
31
|
+
def rating(self, rating: str) -> FeedbackInfoBuilder:
|
32
|
+
self._feedback_info.rating = rating
|
33
|
+
return self
|
34
|
+
|
35
|
+
def content(self, content: str) -> FeedbackInfoBuilder:
|
36
|
+
self._feedback_info.content = content
|
37
|
+
return self
|
38
|
+
|
39
|
+
def from_source(self, from_source: str) -> FeedbackInfoBuilder:
|
40
|
+
self._feedback_info.from_source = from_source
|
41
|
+
return self
|
42
|
+
|
43
|
+
def from_end_user_id(self, from_end_user_id: str) -> FeedbackInfoBuilder:
|
44
|
+
self._feedback_info.from_end_user_id = from_end_user_id
|
45
|
+
return self
|
46
|
+
|
47
|
+
def from_account_id(self, from_account_id: str) -> FeedbackInfoBuilder:
|
48
|
+
self._feedback_info.from_account_id = from_account_id
|
49
|
+
return self
|
50
|
+
|
51
|
+
def created_at(self, created_at: int) -> FeedbackInfoBuilder:
|
52
|
+
self._feedback_info.created_at = created_at
|
53
|
+
return self
|
@@ -0,0 +1,32 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from dify_oapi.core.enum import HttpMethod
|
4
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
5
|
+
|
6
|
+
|
7
|
+
class GetFeedbacksRequest(BaseRequest):
|
8
|
+
def __init__(self):
|
9
|
+
super().__init__()
|
10
|
+
|
11
|
+
@staticmethod
|
12
|
+
def builder() -> GetFeedbacksRequestBuilder:
|
13
|
+
return GetFeedbacksRequestBuilder()
|
14
|
+
|
15
|
+
|
16
|
+
class GetFeedbacksRequestBuilder:
|
17
|
+
def __init__(self):
|
18
|
+
get_feedbacks_request = GetFeedbacksRequest()
|
19
|
+
get_feedbacks_request.http_method = HttpMethod.GET
|
20
|
+
get_feedbacks_request.uri = "/v1/app/feedbacks"
|
21
|
+
self._get_feedbacks_request = get_feedbacks_request
|
22
|
+
|
23
|
+
def build(self) -> GetFeedbacksRequest:
|
24
|
+
return self._get_feedbacks_request
|
25
|
+
|
26
|
+
def page(self, page: str) -> GetFeedbacksRequestBuilder:
|
27
|
+
self._get_feedbacks_request.add_query("page", page)
|
28
|
+
return self
|
29
|
+
|
30
|
+
def limit(self, limit: str) -> GetFeedbacksRequestBuilder:
|
31
|
+
self._get_feedbacks_request.add_query("limit", limit)
|
32
|
+
return self
|
@@ -0,0 +1,38 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from dify_oapi.core.enum import HttpMethod
|
4
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
5
|
+
|
6
|
+
from .message_feedback_request_body import MessageFeedbackRequestBody
|
7
|
+
|
8
|
+
|
9
|
+
class MessageFeedbackRequest(BaseRequest):
|
10
|
+
def __init__(self):
|
11
|
+
super().__init__()
|
12
|
+
self.message_id: str | None = None
|
13
|
+
self.request_body: MessageFeedbackRequestBody | None = None
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def builder() -> MessageFeedbackRequestBuilder:
|
17
|
+
return MessageFeedbackRequestBuilder()
|
18
|
+
|
19
|
+
|
20
|
+
class MessageFeedbackRequestBuilder:
|
21
|
+
def __init__(self):
|
22
|
+
message_feedback_request = MessageFeedbackRequest()
|
23
|
+
message_feedback_request.http_method = HttpMethod.POST
|
24
|
+
message_feedback_request.uri = "/v1/messages/:message_id/feedbacks"
|
25
|
+
self._message_feedback_request = message_feedback_request
|
26
|
+
|
27
|
+
def build(self) -> MessageFeedbackRequest:
|
28
|
+
return self._message_feedback_request
|
29
|
+
|
30
|
+
def message_id(self, message_id: str) -> MessageFeedbackRequestBuilder:
|
31
|
+
self._message_feedback_request.message_id = message_id
|
32
|
+
self._message_feedback_request.paths["message_id"] = message_id
|
33
|
+
return self
|
34
|
+
|
35
|
+
def request_body(self, request_body: MessageFeedbackRequestBody) -> MessageFeedbackRequestBuilder:
|
36
|
+
self._message_feedback_request.request_body = request_body
|
37
|
+
self._message_feedback_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
38
|
+
return self
|
@@ -0,0 +1,35 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
from ..completion.completion_types import FeedbackRating
|
6
|
+
|
7
|
+
|
8
|
+
class MessageFeedbackRequestBody(BaseModel):
|
9
|
+
rating: FeedbackRating | None = None
|
10
|
+
user: str | None = None
|
11
|
+
content: str | None = None
|
12
|
+
|
13
|
+
@staticmethod
|
14
|
+
def builder() -> MessageFeedbackRequestBodyBuilder:
|
15
|
+
return MessageFeedbackRequestBodyBuilder()
|
16
|
+
|
17
|
+
|
18
|
+
class MessageFeedbackRequestBodyBuilder:
|
19
|
+
def __init__(self):
|
20
|
+
self._message_feedback_request_body = MessageFeedbackRequestBody()
|
21
|
+
|
22
|
+
def build(self) -> MessageFeedbackRequestBody:
|
23
|
+
return self._message_feedback_request_body
|
24
|
+
|
25
|
+
def rating(self, rating: FeedbackRating) -> MessageFeedbackRequestBodyBuilder:
|
26
|
+
self._message_feedback_request_body.rating = rating
|
27
|
+
return self
|
28
|
+
|
29
|
+
def user(self, user: str) -> MessageFeedbackRequestBodyBuilder:
|
30
|
+
self._message_feedback_request_body.user = user
|
31
|
+
return self
|
32
|
+
|
33
|
+
def content(self, content: str) -> MessageFeedbackRequestBodyBuilder:
|
34
|
+
self._message_feedback_request_body.content = content
|
35
|
+
return self
|
@@ -0,0 +1,53 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class FileInfo(BaseModel):
|
7
|
+
id: str | None = None
|
8
|
+
name: str | None = None
|
9
|
+
size: int | None = None
|
10
|
+
extension: str | None = None
|
11
|
+
mime_type: str | None = None
|
12
|
+
created_by: str | None = None
|
13
|
+
created_at: int | None = None
|
14
|
+
|
15
|
+
@staticmethod
|
16
|
+
def builder() -> FileInfoBuilder:
|
17
|
+
return FileInfoBuilder()
|
18
|
+
|
19
|
+
|
20
|
+
class FileInfoBuilder:
|
21
|
+
def __init__(self):
|
22
|
+
self._file_info = FileInfo()
|
23
|
+
|
24
|
+
def build(self) -> FileInfo:
|
25
|
+
return self._file_info
|
26
|
+
|
27
|
+
def id(self, id: str) -> FileInfoBuilder:
|
28
|
+
self._file_info.id = id
|
29
|
+
return self
|
30
|
+
|
31
|
+
def name(self, name: str) -> FileInfoBuilder:
|
32
|
+
self._file_info.name = name
|
33
|
+
return self
|
34
|
+
|
35
|
+
def size(self, size: int) -> FileInfoBuilder:
|
36
|
+
self._file_info.size = size
|
37
|
+
return self
|
38
|
+
|
39
|
+
def extension(self, extension: str) -> FileInfoBuilder:
|
40
|
+
self._file_info.extension = extension
|
41
|
+
return self
|
42
|
+
|
43
|
+
def mime_type(self, mime_type: str) -> FileInfoBuilder:
|
44
|
+
self._file_info.mime_type = mime_type
|
45
|
+
return self
|
46
|
+
|
47
|
+
def created_by(self, created_by: str) -> FileInfoBuilder:
|
48
|
+
self._file_info.created_by = created_by
|
49
|
+
return self
|
50
|
+
|
51
|
+
def created_at(self, created_at: int) -> FileInfoBuilder:
|
52
|
+
self._file_info.created_at = created_at
|
53
|
+
return self
|
@@ -0,0 +1,42 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from io import BytesIO
|
4
|
+
|
5
|
+
from dify_oapi.core.enum import HttpMethod
|
6
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
7
|
+
|
8
|
+
from .upload_file_request_body import UploadFileRequestBody
|
9
|
+
|
10
|
+
|
11
|
+
class UploadFileRequest(BaseRequest):
|
12
|
+
def __init__(self) -> None:
|
13
|
+
super().__init__()
|
14
|
+
self.request_body: UploadFileRequestBody | None = None
|
15
|
+
self.file: BytesIO | None = None
|
16
|
+
|
17
|
+
@staticmethod
|
18
|
+
def builder() -> UploadFileRequestBuilder:
|
19
|
+
return UploadFileRequestBuilder()
|
20
|
+
|
21
|
+
|
22
|
+
class UploadFileRequestBuilder:
|
23
|
+
def __init__(self):
|
24
|
+
upload_file_request = UploadFileRequest()
|
25
|
+
upload_file_request.http_method = HttpMethod.POST
|
26
|
+
upload_file_request.uri = "/v1/files/upload"
|
27
|
+
self._upload_file_request = upload_file_request
|
28
|
+
|
29
|
+
def build(self) -> UploadFileRequest:
|
30
|
+
return self._upload_file_request
|
31
|
+
|
32
|
+
def file(self, file: BytesIO, file_name: str | None = None) -> UploadFileRequestBuilder:
|
33
|
+
self._upload_file_request.file = file
|
34
|
+
file_name = file_name or "upload"
|
35
|
+
self._upload_file_request.files = {"file": (file_name, file)}
|
36
|
+
return self
|
37
|
+
|
38
|
+
def request_body(self, request_body: UploadFileRequestBody) -> UploadFileRequestBuilder:
|
39
|
+
self._upload_file_request.request_body = request_body
|
40
|
+
if request_body.user:
|
41
|
+
self._upload_file_request.body = {"user": request_body.user}
|
42
|
+
return self
|
@@ -0,0 +1,23 @@
|
|
1
|
+
from __future__ import annotations
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
|
6
|
+
class UploadFileRequestBody(BaseModel):
|
7
|
+
user: str | None = None
|
8
|
+
|
9
|
+
@staticmethod
|
10
|
+
def builder() -> UploadFileRequestBodyBuilder:
|
11
|
+
return UploadFileRequestBodyBuilder()
|
12
|
+
|
13
|
+
|
14
|
+
class UploadFileRequestBodyBuilder:
|
15
|
+
def __init__(self):
|
16
|
+
self._upload_file_request_body = UploadFileRequestBody()
|
17
|
+
|
18
|
+
def build(self) -> UploadFileRequestBody:
|
19
|
+
return self._upload_file_request_body
|
20
|
+
|
21
|
+
def user(self, user: str) -> UploadFileRequestBodyBuilder:
|
22
|
+
self._upload_file_request_body.user = user
|
23
|
+
return self
|