dify-oapi2 0.5.0__py3-none-any.whl → 1.0.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/chat/v1/model/chat_response.py +1 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_request.py +1 -0
- dify_oapi/api/chat/v1/model/create_annotation_request.py +1 -0
- dify_oapi/api/chat/v1/model/get_conversations_request.py +49 -0
- dify_oapi/api/chat/v1/model/update_annotation_request.py +1 -0
- dify_oapi/api/chat/v1/resource/__init__.py +1 -8
- dify_oapi/api/chat/v1/resource/annotation.py +37 -27
- dify_oapi/api/chat/v1/resource/chat.py +37 -29
- dify_oapi/api/chat/v1/resource/conversation.py +25 -59
- dify_oapi/api/chat/v1/resource/message.py +13 -15
- dify_oapi/api/chat/v1/version.py +18 -11
- dify_oapi/api/chatflow/service.py +1 -18
- dify_oapi/api/chatflow/v1/resource/annotation.py +14 -49
- dify_oapi/api/chatflow/v1/resource/chatflow.py +6 -19
- dify_oapi/api/chatflow/v1/resource/conversation.py +12 -41
- dify_oapi/api/chatflow/v1/version.py +11 -18
- dify_oapi/api/completion/v1/resource/__init__.py +0 -6
- dify_oapi/api/completion/v1/version.py +8 -6
- dify_oapi/api/dify/v1/model/get_feedbacks_response.py +26 -0
- dify_oapi/api/{completion/v1/model/info → dify/v1/model}/get_parameters_request.py +4 -0
- dify_oapi/api/dify/v1/model/{get_parameter_response.py → get_parameters_response.py} +6 -2
- dify_oapi/api/dify/v1/model/get_site_response.py +17 -0
- dify_oapi/api/{chat → dify}/v1/model/submit_feedback_request_body.py +3 -1
- dify_oapi/api/{chat → dify}/v1/model/submit_feedback_response.py +3 -1
- dify_oapi/api/dify/v1/resource/__init__.py +0 -6
- dify_oapi/api/dify/v1/resource/audio.py +12 -0
- dify_oapi/api/{chat → dify}/v1/resource/feedback.py +6 -6
- dify_oapi/api/dify/v1/resource/info.py +34 -2
- dify_oapi/api/dify/v1/version.py +5 -4
- dify_oapi/api/knowledge/service.py +3 -3
- dify_oapi/api/knowledge/v1/model/create_document_by_file_request.py +1 -3
- dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body.py +4 -46
- dify_oapi/api/knowledge/v1/model/create_document_by_file_request_body_data.py +73 -0
- dify_oapi/api/knowledge/v1/model/process_rule.py +0 -6
- dify_oapi/api/knowledge/v1/model/update_document_by_file_request.py +1 -3
- dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body.py +4 -41
- dify_oapi/api/knowledge/v1/model/update_document_by_file_request_body_data.py +68 -0
- dify_oapi/api/knowledge/v1/resource/__init__.py +0 -8
- dify_oapi/api/workflow/v1/resource/workflow.py +0 -34
- dify_oapi/api/workflow/v1/version.py +9 -0
- dify_oapi/client.py +4 -4
- dify_oapi2-1.0.0.dist-info/METADATA +365 -0
- {dify_oapi2-0.5.0.dist-info → dify_oapi2-1.0.0.dist-info}/RECORD +51 -130
- dify_oapi/api/chat/v1/model/get_app_info_request.py +0 -24
- dify_oapi/api/chat/v1/model/get_app_info_response.py +0 -9
- dify_oapi/api/chat/v1/model/get_app_meta_request.py +0 -24
- dify_oapi/api/chat/v1/model/get_app_meta_response.py +0 -9
- dify_oapi/api/chat/v1/model/get_app_parameters_request.py +0 -28
- dify_oapi/api/chat/v1/model/get_app_parameters_response.py +0 -9
- dify_oapi/api/chat/v1/model/get_feedbacks_response.py +0 -7
- dify_oapi/api/chat/v1/model/get_site_settings_request.py +0 -24
- dify_oapi/api/chat/v1/model/get_site_settings_response.py +0 -9
- dify_oapi/api/chat/v1/model/text_to_audio_request.py +0 -32
- dify_oapi/api/chat/v1/model/text_to_audio_request_body.py +0 -33
- dify_oapi/api/chat/v1/model/upload_file_request.py +0 -54
- dify_oapi/api/chat/v1/model/upload_file_response.py +0 -10
- dify_oapi/api/chat/v1/resource/app.py +0 -47
- dify_oapi/api/chat/v1/resource/audio.py +0 -30
- dify_oapi/api/chat/v1/resource/file.py +0 -25
- dify_oapi/api/chatflow/v1/model/audio_to_text_request.py +0 -37
- dify_oapi/api/chatflow/v1/model/audio_to_text_response.py +0 -21
- dify_oapi/api/chatflow/v1/model/get_app_feedbacks_request.py +0 -30
- dify_oapi/api/chatflow/v1/model/get_app_feedbacks_response.py +0 -23
- dify_oapi/api/chatflow/v1/model/get_info_request.py +0 -22
- dify_oapi/api/chatflow/v1/model/get_info_response.py +0 -7
- dify_oapi/api/chatflow/v1/model/get_meta_request.py +0 -22
- dify_oapi/api/chatflow/v1/model/get_meta_response.py +0 -7
- dify_oapi/api/chatflow/v1/model/get_parameters_request.py +0 -22
- dify_oapi/api/chatflow/v1/model/get_parameters_response.py +0 -7
- dify_oapi/api/chatflow/v1/model/get_site_request.py +0 -22
- dify_oapi/api/chatflow/v1/model/get_site_response.py +0 -7
- dify_oapi/api/chatflow/v1/model/message_feedback_request.py +0 -36
- dify_oapi/api/chatflow/v1/model/message_feedback_request_body.py +0 -33
- dify_oapi/api/chatflow/v1/model/message_feedback_response.py +0 -21
- dify_oapi/api/chatflow/v1/model/text_to_audio_request.py +0 -30
- dify_oapi/api/chatflow/v1/model/text_to_audio_request_body.py +0 -36
- dify_oapi/api/chatflow/v1/model/text_to_audio_response.py +0 -19
- dify_oapi/api/chatflow/v1/model/upload_file_request.py +0 -41
- dify_oapi/api/chatflow/v1/model/upload_file_response.py +0 -11
- dify_oapi/api/chatflow/v1/resource/application.py +0 -76
- dify_oapi/api/chatflow/v1/resource/feedback.py +0 -69
- dify_oapi/api/chatflow/v1/resource/file.py +0 -39
- dify_oapi/api/chatflow/v1/resource/tts.py +0 -29
- dify_oapi/api/completion/v1/model/audio/audio_info.py +0 -28
- dify_oapi/api/completion/v1/model/audio/text_to_audio_request.py +0 -32
- dify_oapi/api/completion/v1/model/audio/text_to_audio_request_body.py +0 -33
- dify_oapi/api/completion/v1/model/audio/text_to_audio_response.py +0 -9
- dify_oapi/api/completion/v1/model/feedback/feedback_info.py +0 -53
- dify_oapi/api/completion/v1/model/feedback/get_feedbacks_request.py +0 -32
- dify_oapi/api/completion/v1/model/feedback/get_feedbacks_response.py +0 -9
- dify_oapi/api/completion/v1/model/feedback/message_feedback_request.py +0 -38
- dify_oapi/api/completion/v1/model/feedback/message_feedback_request_body.py +0 -35
- dify_oapi/api/completion/v1/model/feedback/message_feedback_response.py +0 -7
- dify_oapi/api/completion/v1/model/file/file_info.py +0 -53
- dify_oapi/api/completion/v1/model/file/upload_file_request.py +0 -42
- dify_oapi/api/completion/v1/model/file/upload_file_request_body.py +0 -23
- dify_oapi/api/completion/v1/model/file/upload_file_response.py +0 -9
- dify_oapi/api/completion/v1/model/info/app_info.py +0 -43
- dify_oapi/api/completion/v1/model/info/feature_config.py +0 -91
- dify_oapi/api/completion/v1/model/info/file_upload_config.py +0 -23
- dify_oapi/api/completion/v1/model/info/get_info_request.py +0 -24
- dify_oapi/api/completion/v1/model/info/get_info_response.py +0 -9
- dify_oapi/api/completion/v1/model/info/get_parameters_response.py +0 -9
- dify_oapi/api/completion/v1/model/info/get_site_response.py +0 -9
- dify_oapi/api/completion/v1/model/info/parameters_info.py +0 -75
- dify_oapi/api/completion/v1/model/info/site_info.py +0 -90
- dify_oapi/api/completion/v1/model/info/system_parameters.py +0 -38
- dify_oapi/api/completion/v1/model/info/user_input_form.py +0 -158
- dify_oapi/api/completion/v1/resource/audio.py +0 -19
- dify_oapi/api/completion/v1/resource/feedback.py +0 -33
- dify_oapi/api/completion/v1/resource/file.py +0 -19
- dify_oapi/api/completion/v1/resource/info.py +0 -39
- dify_oapi/api/dify/v1/model/get_parameter_request.py +0 -30
- dify_oapi/api/dify/v1/model/message_feedback_request.py +0 -38
- dify_oapi/api/dify/v1/model/message_feedback_request_body.py +0 -30
- dify_oapi/api/dify/v1/model/message_feedback_response.py +0 -5
- dify_oapi/api/dify/v1/resource/message.py +0 -21
- dify_oapi/api/dify/v1/resource/meta.py +0 -17
- dify_oapi/api/dify/v1/resource/parameter.py +0 -19
- dify_oapi/api/workflow/v1/model/get_info_request.py +0 -24
- dify_oapi/api/workflow/v1/model/get_info_response.py +0 -9
- dify_oapi/api/workflow/v1/model/get_parameters_request.py +0 -24
- dify_oapi/api/workflow/v1/model/get_parameters_response.py +0 -9
- dify_oapi/api/workflow/v1/model/get_site_request.py +0 -24
- dify_oapi/api/workflow/v1/model/get_site_response.py +0 -9
- dify_oapi/api/workflow/v1/model/upload_file_request.py +0 -42
- dify_oapi/api/workflow/v1/model/upload_file_response.py +0 -9
- dify_oapi2-0.5.0.dist-info/METADATA +0 -335
- /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_request.py +0 -0
- /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_request_body.py +0 -0
- /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_response.py +0 -0
- /dify_oapi/api/{chat → dify}/v1/model/get_feedbacks_request.py +0 -0
- /dify_oapi/api/{completion/v1/model/info → dify/v1/model}/get_site_request.py +0 -0
- /dify_oapi/api/{chat → dify}/v1/model/submit_feedback_request.py +0 -0
- {dify_oapi2-0.5.0.dist-info → dify_oapi2-1.0.0.dist-info}/LICENSE +0 -0
- {dify_oapi2-0.5.0.dist-info → dify_oapi2-1.0.0.dist-info}/WHEEL +0 -0
@@ -1,8 +1,7 @@
|
|
1
1
|
from collections.abc import AsyncGenerator, Generator
|
2
2
|
from typing import Literal, overload
|
3
3
|
|
4
|
-
from dify_oapi.core.http.transport
|
5
|
-
from dify_oapi.core.http.transport.sync_transport import Transport
|
4
|
+
from dify_oapi.core.http.transport import ATransport, Transport
|
6
5
|
from dify_oapi.core.model.config import Config
|
7
6
|
from dify_oapi.core.model.request_option import RequestOption
|
8
7
|
|
@@ -15,7 +14,7 @@ from ..model.stop_chat_message_response import StopChatMessageResponse
|
|
15
14
|
|
16
15
|
|
17
16
|
class Chatflow:
|
18
|
-
def __init__(self, config: Config):
|
17
|
+
def __init__(self, config: Config) -> None:
|
19
18
|
self.config = config
|
20
19
|
|
21
20
|
@overload
|
@@ -56,35 +55,23 @@ class Chatflow:
|
|
56
55
|
self.config, request, unmarshal_as=SendChatMessageResponse, option=request_option
|
57
56
|
)
|
58
57
|
|
59
|
-
def stop(
|
60
|
-
self,
|
61
|
-
request: StopChatMessageRequest,
|
62
|
-
request_option: RequestOption,
|
63
|
-
) -> StopChatMessageResponse:
|
58
|
+
def stop(self, request: StopChatMessageRequest, request_option: RequestOption) -> StopChatMessageResponse:
|
64
59
|
return Transport.execute(self.config, request, unmarshal_as=StopChatMessageResponse, option=request_option)
|
65
60
|
|
66
|
-
async def astop(
|
67
|
-
self,
|
68
|
-
request: StopChatMessageRequest,
|
69
|
-
request_option: RequestOption,
|
70
|
-
) -> StopChatMessageResponse:
|
61
|
+
async def astop(self, request: StopChatMessageRequest, request_option: RequestOption) -> StopChatMessageResponse:
|
71
62
|
return await ATransport.aexecute(
|
72
63
|
self.config, request, unmarshal_as=StopChatMessageResponse, option=request_option
|
73
64
|
)
|
74
65
|
|
75
66
|
def suggested(
|
76
|
-
self,
|
77
|
-
request: GetSuggestedQuestionsRequest,
|
78
|
-
request_option: RequestOption,
|
67
|
+
self, request: GetSuggestedQuestionsRequest, request_option: RequestOption
|
79
68
|
) -> GetSuggestedQuestionsResponse:
|
80
69
|
return Transport.execute(
|
81
70
|
self.config, request, unmarshal_as=GetSuggestedQuestionsResponse, option=request_option
|
82
71
|
)
|
83
72
|
|
84
73
|
async def asuggested(
|
85
|
-
self,
|
86
|
-
request: GetSuggestedQuestionsRequest,
|
87
|
-
request_option: RequestOption,
|
74
|
+
self, request: GetSuggestedQuestionsRequest, request_option: RequestOption
|
88
75
|
) -> GetSuggestedQuestionsResponse:
|
89
76
|
return await ATransport.aexecute(
|
90
77
|
self.config, request, unmarshal_as=GetSuggestedQuestionsResponse, option=request_option
|
@@ -1,5 +1,4 @@
|
|
1
|
-
from dify_oapi.core.http.transport
|
2
|
-
from dify_oapi.core.http.transport.sync_transport import Transport
|
1
|
+
from dify_oapi.core.http.transport import ATransport, Transport
|
3
2
|
from dify_oapi.core.model.config import Config
|
4
3
|
from dify_oapi.core.model.request_option import RequestOption
|
5
4
|
|
@@ -16,88 +15,60 @@ from ..model.rename_conversation_response import RenameConversationResponse
|
|
16
15
|
|
17
16
|
|
18
17
|
class Conversation:
|
19
|
-
def __init__(self, config: Config):
|
18
|
+
def __init__(self, config: Config) -> None:
|
20
19
|
self.config = config
|
21
20
|
|
22
21
|
def messages(
|
23
|
-
self,
|
24
|
-
request: GetConversationMessagesRequest,
|
25
|
-
request_option: RequestOption,
|
22
|
+
self, request: GetConversationMessagesRequest, request_option: RequestOption
|
26
23
|
) -> GetConversationMessagesResponse:
|
27
24
|
return Transport.execute(
|
28
25
|
self.config, request, unmarshal_as=GetConversationMessagesResponse, option=request_option
|
29
26
|
)
|
30
27
|
|
31
28
|
async def amessages(
|
32
|
-
self,
|
33
|
-
request: GetConversationMessagesRequest,
|
34
|
-
request_option: RequestOption,
|
29
|
+
self, request: GetConversationMessagesRequest, request_option: RequestOption
|
35
30
|
) -> GetConversationMessagesResponse:
|
36
31
|
return await ATransport.aexecute(
|
37
32
|
self.config, request, unmarshal_as=GetConversationMessagesResponse, option=request_option
|
38
33
|
)
|
39
34
|
|
40
|
-
def list(
|
41
|
-
self,
|
42
|
-
request: GetConversationsRequest,
|
43
|
-
request_option: RequestOption,
|
44
|
-
) -> GetConversationsResponse:
|
35
|
+
def list(self, request: GetConversationsRequest, request_option: RequestOption) -> GetConversationsResponse:
|
45
36
|
return Transport.execute(self.config, request, unmarshal_as=GetConversationsResponse, option=request_option)
|
46
37
|
|
47
|
-
async def alist(
|
48
|
-
self,
|
49
|
-
request: GetConversationsRequest,
|
50
|
-
request_option: RequestOption,
|
51
|
-
) -> GetConversationsResponse:
|
38
|
+
async def alist(self, request: GetConversationsRequest, request_option: RequestOption) -> GetConversationsResponse:
|
52
39
|
return await ATransport.aexecute(
|
53
40
|
self.config, request, unmarshal_as=GetConversationsResponse, option=request_option
|
54
41
|
)
|
55
42
|
|
56
|
-
def delete(
|
57
|
-
self,
|
58
|
-
request: DeleteConversationRequest,
|
59
|
-
request_option: RequestOption,
|
60
|
-
) -> DeleteConversationResponse:
|
43
|
+
def delete(self, request: DeleteConversationRequest, request_option: RequestOption) -> DeleteConversationResponse:
|
61
44
|
return Transport.execute(self.config, request, unmarshal_as=DeleteConversationResponse, option=request_option)
|
62
45
|
|
63
46
|
async def adelete(
|
64
|
-
self,
|
65
|
-
request: DeleteConversationRequest,
|
66
|
-
request_option: RequestOption,
|
47
|
+
self, request: DeleteConversationRequest, request_option: RequestOption
|
67
48
|
) -> DeleteConversationResponse:
|
68
49
|
return await ATransport.aexecute(
|
69
50
|
self.config, request, unmarshal_as=DeleteConversationResponse, option=request_option
|
70
51
|
)
|
71
52
|
|
72
|
-
def rename(
|
73
|
-
self,
|
74
|
-
request: RenameConversationRequest,
|
75
|
-
request_option: RequestOption,
|
76
|
-
) -> RenameConversationResponse:
|
53
|
+
def rename(self, request: RenameConversationRequest, request_option: RequestOption) -> RenameConversationResponse:
|
77
54
|
return Transport.execute(self.config, request, unmarshal_as=RenameConversationResponse, option=request_option)
|
78
55
|
|
79
56
|
async def arename(
|
80
|
-
self,
|
81
|
-
request: RenameConversationRequest,
|
82
|
-
request_option: RequestOption,
|
57
|
+
self, request: RenameConversationRequest, request_option: RequestOption
|
83
58
|
) -> RenameConversationResponse:
|
84
59
|
return await ATransport.aexecute(
|
85
60
|
self.config, request, unmarshal_as=RenameConversationResponse, option=request_option
|
86
61
|
)
|
87
62
|
|
88
63
|
def variables(
|
89
|
-
self,
|
90
|
-
request: GetConversationVariablesRequest,
|
91
|
-
request_option: RequestOption,
|
64
|
+
self, request: GetConversationVariablesRequest, request_option: RequestOption
|
92
65
|
) -> GetConversationVariablesResponse:
|
93
66
|
return Transport.execute(
|
94
67
|
self.config, request, unmarshal_as=GetConversationVariablesResponse, option=request_option
|
95
68
|
)
|
96
69
|
|
97
70
|
async def avariables(
|
98
|
-
self,
|
99
|
-
request: GetConversationVariablesRequest,
|
100
|
-
request_option: RequestOption,
|
71
|
+
self, request: GetConversationVariablesRequest, request_option: RequestOption
|
101
72
|
) -> GetConversationVariablesResponse:
|
102
73
|
return await ATransport.aexecute(
|
103
74
|
self.config, request, unmarshal_as=GetConversationVariablesResponse, option=request_option
|
@@ -1,29 +1,22 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
from dify_oapi.api.dify.v1.resource.audio import Audio
|
2
|
+
from dify_oapi.api.dify.v1.resource.feedback import Feedback
|
3
|
+
from dify_oapi.api.dify.v1.resource.file import File
|
4
|
+
from dify_oapi.api.dify.v1.resource.info import Info
|
3
5
|
from dify_oapi.core.model.config import Config
|
4
6
|
|
5
7
|
from .resource.annotation import Annotation
|
6
|
-
from .resource.application import Application
|
7
8
|
from .resource.chatflow import Chatflow
|
8
9
|
from .resource.conversation import Conversation
|
9
|
-
from .resource.feedback import Feedback
|
10
|
-
from .resource.file import File
|
11
|
-
from .resource.tts import TTS
|
12
10
|
|
13
11
|
|
14
12
|
class V1:
|
15
|
-
|
16
|
-
|
17
|
-
def __init__(self, config: Config):
|
18
|
-
"""Initialize V1 with all chatflow resources.
|
19
|
-
|
20
|
-
Args:
|
21
|
-
config: Configuration object containing API settings
|
22
|
-
"""
|
13
|
+
def __init__(self, config: Config) -> None:
|
14
|
+
# Business-specific APIs
|
23
15
|
self.chatflow = Chatflow(config)
|
24
|
-
self.file = File(config)
|
25
|
-
self.feedback = Feedback(config)
|
26
16
|
self.conversation = Conversation(config)
|
27
|
-
self.tts = TTS(config)
|
28
|
-
self.application = Application(config)
|
29
17
|
self.annotation = Annotation(config)
|
18
|
+
# System APIs - direct use of dify module
|
19
|
+
self.file = File(config)
|
20
|
+
self.tts = Audio(config)
|
21
|
+
self.application = Info(config)
|
22
|
+
self.feedback = Feedback(config)
|
@@ -1,18 +1,20 @@
|
|
1
|
+
from dify_oapi.api.dify.v1.resource.audio import Audio
|
2
|
+
from dify_oapi.api.dify.v1.resource.feedback import Feedback
|
3
|
+
from dify_oapi.api.dify.v1.resource.file import File
|
4
|
+
from dify_oapi.api.dify.v1.resource.info import Info
|
1
5
|
from dify_oapi.core.model.config import Config
|
2
6
|
|
3
7
|
from .resource.annotation import Annotation
|
4
|
-
from .resource.audio import Audio
|
5
8
|
from .resource.completion import Completion
|
6
|
-
from .resource.feedback import Feedback
|
7
|
-
from .resource.file import File
|
8
|
-
from .resource.info import Info
|
9
9
|
|
10
10
|
|
11
11
|
class V1:
|
12
12
|
def __init__(self, config: Config):
|
13
|
+
# Business-specific APIs
|
13
14
|
self.completion: Completion = Completion(config)
|
15
|
+
self.annotation: Annotation = Annotation(config)
|
16
|
+
# System APIs - direct use of dify module
|
14
17
|
self.file: File = File(config)
|
15
|
-
self.feedback: Feedback = Feedback(config)
|
16
18
|
self.audio: Audio = Audio(config)
|
17
19
|
self.info: Info = Info(config)
|
18
|
-
self.
|
20
|
+
self.feedback: Feedback = Feedback(config)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
from pydantic import BaseModel
|
2
|
+
|
3
|
+
from dify_oapi.core.model.base_response import BaseResponse
|
4
|
+
|
5
|
+
|
6
|
+
class FeedbackInfo(BaseModel):
|
7
|
+
"""Feedback information."""
|
8
|
+
|
9
|
+
id: str | None = None
|
10
|
+
username: str | None = None
|
11
|
+
phone: str | None = None
|
12
|
+
avatar: str | None = None
|
13
|
+
display_name: str | None = None
|
14
|
+
timestamp: int | None = None
|
15
|
+
rating: str | None = None
|
16
|
+
content: str | None = None
|
17
|
+
|
18
|
+
|
19
|
+
class GetFeedbacksResponse(BaseResponse):
|
20
|
+
"""Response for get feedbacks API."""
|
21
|
+
|
22
|
+
data: list[FeedbackInfo] | None = None
|
23
|
+
has_more: bool | None = None
|
24
|
+
limit: int | None = None
|
25
|
+
page: int | None = None
|
26
|
+
total: int | None = None
|
@@ -1,13 +1,17 @@
|
|
1
1
|
from dify_oapi.core.model.base_response import BaseResponse
|
2
2
|
|
3
3
|
|
4
|
-
class
|
4
|
+
class GetParametersResponse(BaseResponse):
|
5
|
+
"""Response for get application parameters API."""
|
6
|
+
|
5
7
|
opening_statement: str | None = None
|
6
8
|
suggested_questions: list[str] | None = None
|
7
|
-
suggested_questions_after_answer: dict | None = None
|
8
9
|
speech_to_text: dict | None = None
|
10
|
+
text_to_speech: dict | None = None
|
9
11
|
retriever_resource: dict | None = None
|
10
12
|
annotation_reply: dict | None = None
|
13
|
+
more_like_this: dict | None = None
|
11
14
|
user_input_form: list[dict] | None = None
|
15
|
+
sensitive_word_avoidance: dict | None = None
|
12
16
|
file_upload: dict | None = None
|
13
17
|
system_parameters: dict | None = None
|
@@ -0,0 +1,17 @@
|
|
1
|
+
from dify_oapi.core.model.base_response import BaseResponse
|
2
|
+
|
3
|
+
|
4
|
+
class GetSiteResponse(BaseResponse):
|
5
|
+
"""Response for get site settings API."""
|
6
|
+
|
7
|
+
title: str | None = None
|
8
|
+
icon: str | None = None
|
9
|
+
icon_background: str | None = None
|
10
|
+
description: str | None = None
|
11
|
+
default_language: str | None = None
|
12
|
+
customize_domain: str | None = None
|
13
|
+
customize_token_strategy: str | None = None
|
14
|
+
prompt_public: bool | None = None
|
15
|
+
copyright: str | None = None
|
16
|
+
privacy_policy: str | None = None
|
17
|
+
custom_disclaimer: str | None = None
|
@@ -2,6 +2,8 @@ from dify_oapi.core.http.transport import ATransport, Transport
|
|
2
2
|
from dify_oapi.core.model.config import Config
|
3
3
|
from dify_oapi.core.model.request_option import RequestOption
|
4
4
|
|
5
|
+
from ..model.audio_to_text_request import AudioToTextRequest
|
6
|
+
from ..model.audio_to_text_response import AudioToTextResponse
|
5
7
|
from ..model.text_to_audio_request import TextToAudioRequest
|
6
8
|
from ..model.text_to_audio_response import TextToAudioResponse
|
7
9
|
|
@@ -10,8 +12,18 @@ class Audio:
|
|
10
12
|
def __init__(self, config: Config) -> None:
|
11
13
|
self.config: Config = config
|
12
14
|
|
15
|
+
def to_text(self, request: AudioToTextRequest, option: RequestOption | None = None) -> AudioToTextResponse:
|
16
|
+
"""Convert audio to text (speech-to-text)"""
|
17
|
+
return Transport.execute(self.config, request, unmarshal_as=AudioToTextResponse, option=option)
|
18
|
+
|
19
|
+
async def ato_text(self, request: AudioToTextRequest, option: RequestOption | None = None) -> AudioToTextResponse:
|
20
|
+
"""Convert audio to text (speech-to-text) - async version"""
|
21
|
+
return await ATransport.aexecute(self.config, request, unmarshal_as=AudioToTextResponse, option=option)
|
22
|
+
|
13
23
|
def from_text(self, request: TextToAudioRequest, option: RequestOption | None = None) -> TextToAudioResponse:
|
24
|
+
"""Convert text to audio (text-to-speech)"""
|
14
25
|
return Transport.execute(self.config, request, unmarshal_as=TextToAudioResponse, option=option)
|
15
26
|
|
16
27
|
async def afrom_text(self, request: TextToAudioRequest, option: RequestOption | None = None) -> TextToAudioResponse:
|
28
|
+
"""Convert text to audio (text-to-speech) - async version"""
|
17
29
|
return await ATransport.aexecute(self.config, request, unmarshal_as=TextToAudioResponse, option=option)
|
@@ -9,23 +9,23 @@ from ..model.submit_feedback_response import SubmitFeedbackResponse
|
|
9
9
|
|
10
10
|
|
11
11
|
class Feedback:
|
12
|
-
def __init__(self, config: Config):
|
13
|
-
self.config = config
|
12
|
+
def __init__(self, config: Config) -> None:
|
13
|
+
self.config: Config = config
|
14
14
|
|
15
15
|
def submit(self, request: SubmitFeedbackRequest, option: RequestOption | None = None) -> SubmitFeedbackResponse:
|
16
|
-
"""Submit feedback for a message
|
16
|
+
"""Submit feedback for a message"""
|
17
17
|
return Transport.execute(self.config, request, unmarshal_as=SubmitFeedbackResponse, option=option)
|
18
18
|
|
19
19
|
async def asubmit(
|
20
20
|
self, request: SubmitFeedbackRequest, option: RequestOption | None = None
|
21
21
|
) -> SubmitFeedbackResponse:
|
22
|
-
"""Submit feedback for a message
|
22
|
+
"""Submit feedback for a message - async version"""
|
23
23
|
return await ATransport.aexecute(self.config, request, unmarshal_as=SubmitFeedbackResponse, option=option)
|
24
24
|
|
25
25
|
def list(self, request: GetFeedbacksRequest, option: RequestOption | None = None) -> GetFeedbacksResponse:
|
26
|
-
"""Get
|
26
|
+
"""Get list of feedbacks"""
|
27
27
|
return Transport.execute(self.config, request, unmarshal_as=GetFeedbacksResponse, option=option)
|
28
28
|
|
29
29
|
async def alist(self, request: GetFeedbacksRequest, option: RequestOption | None = None) -> GetFeedbacksResponse:
|
30
|
-
"""Get
|
30
|
+
"""Get list of feedbacks - async version"""
|
31
31
|
return await ATransport.aexecute(self.config, request, unmarshal_as=GetFeedbacksResponse, option=option)
|
@@ -4,6 +4,12 @@ from dify_oapi.core.model.request_option import RequestOption
|
|
4
4
|
|
5
5
|
from ..model.get_info_request import GetInfoRequest
|
6
6
|
from ..model.get_info_response import GetInfoResponse
|
7
|
+
from ..model.get_meta_request import GetMetaRequest
|
8
|
+
from ..model.get_meta_response import GetMetaResponse
|
9
|
+
from ..model.get_parameters_request import GetParametersRequest
|
10
|
+
from ..model.get_parameters_response import GetParametersResponse
|
11
|
+
from ..model.get_site_request import GetSiteRequest
|
12
|
+
from ..model.get_site_response import GetSiteResponse
|
7
13
|
|
8
14
|
|
9
15
|
class Info:
|
@@ -11,9 +17,35 @@ class Info:
|
|
11
17
|
self.config: Config = config
|
12
18
|
|
13
19
|
def get(self, request: GetInfoRequest, option: RequestOption | None = None) -> GetInfoResponse:
|
14
|
-
|
20
|
+
"""Get application information"""
|
15
21
|
return Transport.execute(self.config, request, unmarshal_as=GetInfoResponse, option=option)
|
16
22
|
|
17
23
|
async def aget(self, request: GetInfoRequest, option: RequestOption | None = None) -> GetInfoResponse:
|
18
|
-
|
24
|
+
"""Get application information - async version"""
|
19
25
|
return await ATransport.aexecute(self.config, request, unmarshal_as=GetInfoResponse, option=option)
|
26
|
+
|
27
|
+
def parameters(self, request: GetParametersRequest, option: RequestOption | None = None) -> GetParametersResponse:
|
28
|
+
"""Get application parameters"""
|
29
|
+
return Transport.execute(self.config, request, unmarshal_as=GetParametersResponse, option=option)
|
30
|
+
|
31
|
+
async def aparameters(
|
32
|
+
self, request: GetParametersRequest, option: RequestOption | None = None
|
33
|
+
) -> GetParametersResponse:
|
34
|
+
"""Get application parameters - async version"""
|
35
|
+
return await ATransport.aexecute(self.config, request, unmarshal_as=GetParametersResponse, option=option)
|
36
|
+
|
37
|
+
def meta(self, request: GetMetaRequest, option: RequestOption | None = None) -> GetMetaResponse:
|
38
|
+
"""Get application metadata"""
|
39
|
+
return Transport.execute(self.config, request, unmarshal_as=GetMetaResponse, option=option)
|
40
|
+
|
41
|
+
async def ameta(self, request: GetMetaRequest, option: RequestOption | None = None) -> GetMetaResponse:
|
42
|
+
"""Get application metadata - async version"""
|
43
|
+
return await ATransport.aexecute(self.config, request, unmarshal_as=GetMetaResponse, option=option)
|
44
|
+
|
45
|
+
def site(self, request: GetSiteRequest, option: RequestOption | None = None) -> GetSiteResponse:
|
46
|
+
"""Get site settings"""
|
47
|
+
return Transport.execute(self.config, request, unmarshal_as=GetSiteResponse, option=option)
|
48
|
+
|
49
|
+
async def asite(self, request: GetSiteRequest, option: RequestOption | None = None) -> GetSiteResponse:
|
50
|
+
"""Get site settings - async version"""
|
51
|
+
return await ATransport.aexecute(self.config, request, unmarshal_as=GetSiteResponse, option=option)
|
dify_oapi/api/dify/v1/version.py
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
from dify_oapi.core.model.config import Config
|
2
2
|
|
3
|
-
from .resource import Audio
|
3
|
+
from .resource.audio import Audio
|
4
|
+
from .resource.feedback import Feedback
|
5
|
+
from .resource.file import File
|
6
|
+
from .resource.info import Info
|
4
7
|
|
5
8
|
|
6
9
|
class V1:
|
7
10
|
def __init__(self, config: Config):
|
8
|
-
self.meta: Meta = Meta(config)
|
9
11
|
self.file: File = File(config)
|
10
12
|
self.audio: Audio = Audio(config)
|
11
|
-
self.parameter: Parameter = Parameter(config)
|
12
|
-
self.message: Message = Message(config)
|
13
13
|
self.info: Info = Info(config)
|
14
|
+
self.feedback: Feedback = Feedback(config)
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
-
import json
|
6
5
|
from io import BytesIO
|
7
6
|
|
8
7
|
from dify_oapi.core.enum import HttpMethod
|
@@ -44,8 +43,7 @@ class CreateDocumentByFileRequestBuilder:
|
|
44
43
|
|
45
44
|
def request_body(self, request_body: CreateDocumentByFileRequestBody) -> CreateDocumentByFileRequestBuilder:
|
46
45
|
self._create_document_by_file_request.request_body = request_body
|
47
|
-
|
48
|
-
self._create_document_by_file_request.body = {"data": json.dumps(data_dict)}
|
46
|
+
self._create_document_by_file_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
49
47
|
return self
|
50
48
|
|
51
49
|
def file(self, file: BytesIO, file_name: str | None = None) -> CreateDocumentByFileRequestBuilder:
|
@@ -4,23 +4,13 @@ from __future__ import annotations
|
|
4
4
|
|
5
5
|
from pydantic import BaseModel
|
6
6
|
|
7
|
-
from .
|
8
|
-
from .process_rule import ProcessRule
|
9
|
-
from .retrieval_model import RetrievalModel
|
7
|
+
from .create_document_by_file_request_body_data import CreateDocumentByFileRequestBodyData
|
10
8
|
|
11
9
|
|
12
10
|
class CreateDocumentByFileRequestBody(BaseModel):
|
13
11
|
"""Request body model for create document by file API."""
|
14
12
|
|
15
|
-
|
16
|
-
original_document_id: str | None = None # UUID for re-upload/modify
|
17
|
-
indexing_technique: IndexingTechnique | None = None
|
18
|
-
doc_form: DocumentForm | None = None
|
19
|
-
doc_language: str | None = None
|
20
|
-
process_rule: ProcessRule | None = None
|
21
|
-
retrieval_model: RetrievalModel | None = None
|
22
|
-
embedding_model: str | None = None
|
23
|
-
embedding_model_provider: str | None = None
|
13
|
+
data: str | None = None
|
24
14
|
|
25
15
|
@staticmethod
|
26
16
|
def builder() -> CreateDocumentByFileRequestBodyBuilder:
|
@@ -36,38 +26,6 @@ class CreateDocumentByFileRequestBodyBuilder:
|
|
36
26
|
def build(self) -> CreateDocumentByFileRequestBody:
|
37
27
|
return self._create_document_by_file_request_body
|
38
28
|
|
39
|
-
def
|
40
|
-
self._create_document_by_file_request_body.
|
41
|
-
return self
|
42
|
-
|
43
|
-
def indexing_technique(self, indexing_technique: IndexingTechnique) -> CreateDocumentByFileRequestBodyBuilder:
|
44
|
-
self._create_document_by_file_request_body.indexing_technique = indexing_technique
|
45
|
-
return self
|
46
|
-
|
47
|
-
def process_rule(self, process_rule: ProcessRule) -> CreateDocumentByFileRequestBodyBuilder:
|
48
|
-
self._create_document_by_file_request_body.process_rule = process_rule
|
49
|
-
return self
|
50
|
-
|
51
|
-
def original_document_id(self, original_document_id: str) -> CreateDocumentByFileRequestBodyBuilder:
|
52
|
-
self._create_document_by_file_request_body.original_document_id = original_document_id
|
53
|
-
return self
|
54
|
-
|
55
|
-
def doc_form(self, doc_form: DocumentForm) -> CreateDocumentByFileRequestBodyBuilder:
|
56
|
-
self._create_document_by_file_request_body.doc_form = doc_form
|
57
|
-
return self
|
58
|
-
|
59
|
-
def doc_language(self, doc_language: str) -> CreateDocumentByFileRequestBodyBuilder:
|
60
|
-
self._create_document_by_file_request_body.doc_language = doc_language
|
61
|
-
return self
|
62
|
-
|
63
|
-
def retrieval_model(self, retrieval_model: RetrievalModel) -> CreateDocumentByFileRequestBodyBuilder:
|
64
|
-
self._create_document_by_file_request_body.retrieval_model = retrieval_model
|
65
|
-
return self
|
66
|
-
|
67
|
-
def embedding_model(self, embedding_model: str) -> CreateDocumentByFileRequestBodyBuilder:
|
68
|
-
self._create_document_by_file_request_body.embedding_model = embedding_model
|
69
|
-
return self
|
70
|
-
|
71
|
-
def embedding_model_provider(self, embedding_model_provider: str) -> CreateDocumentByFileRequestBodyBuilder:
|
72
|
-
self._create_document_by_file_request_body.embedding_model_provider = embedding_model_provider
|
29
|
+
def data(self, data: CreateDocumentByFileRequestBodyData) -> CreateDocumentByFileRequestBodyBuilder:
|
30
|
+
self._create_document_by_file_request_body.data = data.model_dump_json(exclude_none=True)
|
73
31
|
return self
|
@@ -0,0 +1,73 @@
|
|
1
|
+
"""Create document by file request body model."""
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
from .knowledge_types import DocumentForm, IndexingTechnique
|
8
|
+
from .process_rule import ProcessRule
|
9
|
+
from .retrieval_model import RetrievalModel
|
10
|
+
|
11
|
+
|
12
|
+
class CreateDocumentByFileRequestBodyData(BaseModel):
|
13
|
+
"""Request body model for create document by file API."""
|
14
|
+
|
15
|
+
name: str | None = None
|
16
|
+
original_document_id: str | None = None # UUID for re-upload/modify
|
17
|
+
indexing_technique: IndexingTechnique | None = None
|
18
|
+
doc_form: DocumentForm | None = None
|
19
|
+
doc_language: str | None = None
|
20
|
+
process_rule: ProcessRule | None = None
|
21
|
+
retrieval_model: RetrievalModel | None = None
|
22
|
+
embedding_model: str | None = None
|
23
|
+
embedding_model_provider: str | None = None
|
24
|
+
|
25
|
+
@staticmethod
|
26
|
+
def builder() -> CreateDocumentByFileRequestBodyDataBuilder:
|
27
|
+
return CreateDocumentByFileRequestBodyDataBuilder()
|
28
|
+
|
29
|
+
|
30
|
+
class CreateDocumentByFileRequestBodyDataBuilder:
|
31
|
+
"""Builder for CreateDocumentByFileRequestBodyData."""
|
32
|
+
|
33
|
+
def __init__(self) -> None:
|
34
|
+
self._create_document_by_file_request_body = CreateDocumentByFileRequestBodyData()
|
35
|
+
|
36
|
+
def build(self) -> CreateDocumentByFileRequestBodyData:
|
37
|
+
return self._create_document_by_file_request_body
|
38
|
+
|
39
|
+
def name(self, name: str) -> CreateDocumentByFileRequestBodyDataBuilder:
|
40
|
+
self._create_document_by_file_request_body.name = name
|
41
|
+
return self
|
42
|
+
|
43
|
+
def indexing_technique(self, indexing_technique: IndexingTechnique) -> CreateDocumentByFileRequestBodyDataBuilder:
|
44
|
+
self._create_document_by_file_request_body.indexing_technique = indexing_technique
|
45
|
+
return self
|
46
|
+
|
47
|
+
def process_rule(self, process_rule: ProcessRule) -> CreateDocumentByFileRequestBodyDataBuilder:
|
48
|
+
self._create_document_by_file_request_body.process_rule = process_rule
|
49
|
+
return self
|
50
|
+
|
51
|
+
def original_document_id(self, original_document_id: str) -> CreateDocumentByFileRequestBodyDataBuilder:
|
52
|
+
self._create_document_by_file_request_body.original_document_id = original_document_id
|
53
|
+
return self
|
54
|
+
|
55
|
+
def doc_form(self, doc_form: DocumentForm) -> CreateDocumentByFileRequestBodyDataBuilder:
|
56
|
+
self._create_document_by_file_request_body.doc_form = doc_form
|
57
|
+
return self
|
58
|
+
|
59
|
+
def doc_language(self, doc_language: str) -> CreateDocumentByFileRequestBodyDataBuilder:
|
60
|
+
self._create_document_by_file_request_body.doc_language = doc_language
|
61
|
+
return self
|
62
|
+
|
63
|
+
def retrieval_model(self, retrieval_model: RetrievalModel) -> CreateDocumentByFileRequestBodyDataBuilder:
|
64
|
+
self._create_document_by_file_request_body.retrieval_model = retrieval_model
|
65
|
+
return self
|
66
|
+
|
67
|
+
def embedding_model(self, embedding_model: str) -> CreateDocumentByFileRequestBodyDataBuilder:
|
68
|
+
self._create_document_by_file_request_body.embedding_model = embedding_model
|
69
|
+
return self
|
70
|
+
|
71
|
+
def embedding_model_provider(self, embedding_model_provider: str) -> CreateDocumentByFileRequestBodyDataBuilder:
|
72
|
+
self._create_document_by_file_request_body.embedding_model_provider = embedding_model_provider
|
73
|
+
return self
|