dify-oapi2 0.4.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/__init__.py +37 -0
- dify_oapi/api/chat/v1/model/agent_thought.py +69 -0
- dify_oapi/api/chat/v1/model/annotation_info.py +43 -0
- dify_oapi/api/{completion/v1/model/info → chat/v1/model}/app_info.py +6 -14
- dify_oapi/api/chat/v1/model/app_parameters.py +494 -0
- dify_oapi/api/chat/v1/model/chat_file.py +53 -0
- dify_oapi/api/chat/v1/model/chat_request_body.py +26 -13
- dify_oapi/api/chat/v1/model/chat_response.py +13 -2
- dify_oapi/api/chat/v1/model/chat_types.py +65 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_request.py +37 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_request_body.py +39 -0
- dify_oapi/api/chat/v1/model/configure_annotation_reply_response.py +10 -0
- dify_oapi/api/chat/v1/model/conversation_info.py +57 -0
- dify_oapi/api/chat/v1/model/conversation_variable.py +55 -0
- dify_oapi/api/chat/v1/model/create_annotation_request.py +30 -0
- dify_oapi/api/chat/v1/model/create_annotation_request_body.py +32 -0
- dify_oapi/api/chat/v1/model/create_annotation_response.py +9 -0
- dify_oapi/api/chat/v1/model/delete_annotation_request.py +26 -0
- dify_oapi/api/chat/v1/model/delete_annotation_response.py +7 -0
- dify_oapi/api/{completion/v1/model/feedback → chat/v1/model}/feedback_info.py +29 -7
- dify_oapi/api/{completion/v1/model/file → chat/v1/model}/file_info.py +6 -0
- dify_oapi/api/chat/v1/model/get_annotation_reply_status_request.py +32 -0
- dify_oapi/api/chat/v1/model/get_annotation_reply_status_response.py +11 -0
- dify_oapi/api/chat/v1/model/get_conversation_list_request.py +25 -24
- dify_oapi/api/chat/v1/model/get_conversation_list_response.py +4 -15
- dify_oapi/api/chat/v1/model/get_conversation_variables_request.py +54 -0
- dify_oapi/api/chat/v1/model/get_conversation_variables_response.py +10 -0
- dify_oapi/api/chat/v1/model/get_conversations_request.py +49 -0
- dify_oapi/api/chat/v1/model/get_suggested_questions_request.py +36 -0
- dify_oapi/api/chat/v1/model/{message_suggested_response.py → get_suggested_questions_response.py} +1 -1
- dify_oapi/api/chat/v1/model/list_annotations_request.py +32 -0
- dify_oapi/api/chat/v1/model/list_annotations_response.py +11 -0
- dify_oapi/api/chat/v1/model/message_file.py +46 -0
- dify_oapi/api/chat/v1/model/message_history_request.py +24 -24
- dify_oapi/api/chat/v1/model/message_history_response.py +4 -43
- dify_oapi/api/chat/v1/model/message_info.py +73 -0
- dify_oapi/api/chat/v1/model/pagination_info.py +44 -0
- dify_oapi/api/chat/v1/model/rename_conversation_request_body.py +1 -1
- dify_oapi/api/chat/v1/model/retriever_resource.py +64 -0
- dify_oapi/api/chat/v1/model/site_settings.py +92 -0
- dify_oapi/api/chat/v1/model/text_to_audio_response.py +7 -0
- dify_oapi/api/chat/v1/model/tool_icon.py +52 -0
- dify_oapi/api/chat/v1/model/update_annotation_request.py +34 -0
- dify_oapi/api/chat/v1/model/update_annotation_request_body.py +32 -0
- dify_oapi/api/chat/v1/model/update_annotation_response.py +9 -0
- dify_oapi/api/{completion/v1/model/file → chat/v1/model}/upload_file_request_body.py +9 -3
- dify_oapi/api/chat/v1/model/usage_info.py +84 -0
- dify_oapi/api/chat/v1/resource/__init__.py +1 -4
- dify_oapi/api/chat/v1/resource/annotation.py +87 -0
- dify_oapi/api/chat/v1/resource/chat.py +47 -25
- dify_oapi/api/chat/v1/resource/conversation.py +45 -33
- dify_oapi/api/chat/v1/resource/message.py +22 -20
- dify_oapi/api/chat/v1/version.py +18 -5
- dify_oapi/api/chatflow/__init__.py +0 -0
- dify_oapi/api/chatflow/service.py +8 -0
- dify_oapi/api/chatflow/v1/__init__.py +0 -0
- dify_oapi/api/chatflow/v1/model/__init__.py +0 -0
- dify_oapi/api/chatflow/v1/model/annotation_info.py +43 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_settings_request.py +37 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_settings_request_body.py +33 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_settings_response.py +10 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_status_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/annotation_reply_status_response.py +11 -0
- dify_oapi/api/chatflow/v1/model/app_info.py +33 -0
- dify_oapi/api/chatflow/v1/model/app_parameters.py +276 -0
- dify_oapi/api/chatflow/v1/model/chat_file.py +40 -0
- dify_oapi/api/chatflow/v1/model/chat_message.py +88 -0
- dify_oapi/api/chatflow/v1/model/chatflow_types.py +210 -0
- dify_oapi/api/chatflow/v1/model/conversation_info.py +53 -0
- dify_oapi/api/chatflow/v1/model/conversation_variable.py +55 -0
- dify_oapi/api/chatflow/v1/model/create_annotation_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/create_annotation_request_body.py +28 -0
- dify_oapi/api/chatflow/v1/model/create_annotation_response.py +9 -0
- dify_oapi/api/chatflow/v1/model/delete_annotation_request.py +28 -0
- dify_oapi/api/chatflow/v1/model/delete_annotation_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/delete_conversation_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/delete_conversation_request_body.py +21 -0
- dify_oapi/api/chatflow/v1/model/delete_conversation_response.py +17 -0
- dify_oapi/api/chatflow/v1/model/feedback_info.py +75 -0
- dify_oapi/api/chatflow/v1/model/file_info.py +53 -0
- dify_oapi/api/chatflow/v1/model/get_annotations_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/get_annotations_response.py +13 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_messages_request.py +38 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_messages_response.py +33 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_variables_request.py +44 -0
- dify_oapi/api/chatflow/v1/model/get_conversation_variables_response.py +33 -0
- dify_oapi/api/chatflow/v1/model/get_conversations_request.py +40 -0
- dify_oapi/api/chatflow/v1/model/get_conversations_response.py +33 -0
- dify_oapi/api/chatflow/v1/model/get_suggested_questions_request.py +32 -0
- dify_oapi/api/{completion/v1/model/feedback/message_feedback_response.py → chatflow/v1/model/get_suggested_questions_response.py} +2 -3
- dify_oapi/api/chatflow/v1/model/rename_conversation_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/rename_conversation_request_body.py +31 -0
- dify_oapi/api/chatflow/v1/model/rename_conversation_response.py +53 -0
- dify_oapi/api/chatflow/v1/model/retriever_resource.py +58 -0
- dify_oapi/api/chatflow/v1/model/send_chat_message_request.py +30 -0
- dify_oapi/api/chatflow/v1/model/send_chat_message_request_body.py +54 -0
- dify_oapi/api/chatflow/v1/model/send_chat_message_response.py +7 -0
- dify_oapi/api/chatflow/v1/model/stop_chat_message_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/stop_chat_message_request_body.py +21 -0
- dify_oapi/api/{dify/v1/model/message_feedback_response.py → chatflow/v1/model/stop_chat_message_response.py} +1 -1
- dify_oapi/api/chatflow/v1/model/tool_icon.py +48 -0
- dify_oapi/api/chatflow/v1/model/update_annotation_request.py +36 -0
- dify_oapi/api/chatflow/v1/model/update_annotation_request_body.py +28 -0
- dify_oapi/api/chatflow/v1/model/update_annotation_response.py +9 -0
- dify_oapi/api/chatflow/v1/model/usage_info.py +78 -0
- dify_oapi/api/chatflow/v1/model/user_input_form.py +141 -0
- dify_oapi/api/chatflow/v1/model/webapp_settings.py +88 -0
- dify_oapi/api/chatflow/v1/resource/__init__.py +0 -0
- dify_oapi/api/chatflow/v1/resource/annotation.py +87 -0
- dify_oapi/api/chatflow/v1/resource/chatflow.py +78 -0
- dify_oapi/api/chatflow/v1/resource/conversation.py +75 -0
- dify_oapi/api/chatflow/v1/version.py +22 -0
- dify_oapi/api/completion/v1/resource/__init__.py +0 -6
- dify_oapi/api/completion/v1/version.py +8 -6
- dify_oapi/api/{chat → dify}/v1/model/audio_to_text_request_body.py +2 -2
- dify_oapi/api/{completion/v1/model/feedback → dify/v1/model}/get_feedbacks_request.py +12 -12
- dify_oapi/api/dify/v1/model/get_feedbacks_response.py +26 -0
- dify_oapi/api/{workflow → 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/dify/v1/model/submit_feedback_request.py +34 -0
- dify_oapi/api/dify/v1/model/submit_feedback_request_body.py +35 -0
- dify_oapi/api/dify/v1/model/submit_feedback_response.py +7 -0
- dify_oapi/api/dify/v1/resource/__init__.py +0 -6
- dify_oapi/api/dify/v1/resource/audio.py +12 -0
- dify_oapi/api/dify/v1/resource/feedback.py +31 -0
- 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/data_source_detail.py +23 -0
- dify_oapi/api/knowledge/v1/model/dataset_info.py +10 -9
- dify_oapi/api/knowledge/v1/model/dataset_metadata.py +14 -0
- dify_oapi/api/knowledge/v1/model/document_info.py +18 -6
- dify_oapi/api/knowledge/v1/model/external_knowledge_info.py +11 -1
- dify_oapi/api/knowledge/v1/model/external_retrieval_model.py +13 -0
- dify_oapi/api/knowledge/v1/model/knowledge_types.py +2 -2
- dify_oapi/api/knowledge/v1/model/process_rule.py +0 -6
- dify_oapi/api/knowledge/v1/model/retrieval_model.py +10 -4
- 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/model/weights.py +27 -0
- dify_oapi/api/knowledge/v1/resource/__init__.py +0 -8
- dify_oapi/api/workflow/v1/model/chunk_workflow_event.py +74 -0
- dify_oapi/api/workflow/v1/model/input_file_object_workflow.py +76 -0
- dify_oapi/api/workflow/v1/model/node_finished_data.py +118 -0
- dify_oapi/api/workflow/v1/model/node_started_data.py +81 -0
- dify_oapi/api/workflow/v1/model/ping_data.py +28 -0
- dify_oapi/api/workflow/v1/model/run_workflow_request_body.py +1 -1
- dify_oapi/api/workflow/v1/model/text_chunk_data.py +39 -0
- dify_oapi/api/workflow/v1/model/tts_message_data.py +45 -0
- dify_oapi/api/workflow/v1/model/tts_message_end_data.py +45 -0
- dify_oapi/api/workflow/v1/model/workflow_completion_response.py +50 -0
- dify_oapi/api/workflow/v1/model/workflow_finished_data.py +93 -0
- dify_oapi/api/workflow/v1/model/workflow_started_data.py +51 -0
- dify_oapi/api/workflow/v1/model/workflow_types.py +27 -12
- dify_oapi/api/workflow/v1/resource/workflow.py +0 -34
- dify_oapi/api/workflow/v1/version.py +9 -0
- dify_oapi/client.py +49 -4
- dify_oapi/core/http/transport/__init__.py +2 -1
- dify_oapi/core/http/transport/async_transport.py +73 -50
- dify_oapi/core/http/transport/connection_pool.py +131 -0
- dify_oapi/core/http/transport/sync_transport.py +73 -50
- dify_oapi/core/model/config.py +10 -0
- dify_oapi2-1.0.0.dist-info/METADATA +365 -0
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-1.0.0.dist-info}/RECORD +174 -98
- dify_oapi/api/chat/v1/model/chat_request_file.py +0 -46
- dify_oapi/api/chat/v1/model/message_suggested_request.py +0 -36
- dify_oapi/api/chat/v1/resource/audio.py +0 -17
- 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/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/file/upload_file_request.py +0 -42
- dify_oapi/api/completion/v1/model/file/upload_file_response.py +0 -9
- 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_request.py +0 -24
- 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/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_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.4.0.dist-info/METADATA +0 -303
- /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_request.py +0 -0
- /dify_oapi/api/{chat → dify}/v1/model/audio_to_text_response.py +0 -0
- /dify_oapi/api/{completion/v1/model/info → dify/v1/model}/get_site_request.py +0 -0
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-1.0.0.dist-info}/LICENSE +0 -0
- {dify_oapi2-0.4.0.dist-info → dify_oapi2-1.0.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,34 @@
|
|
1
|
+
from dify_oapi.core.enum import HttpMethod
|
2
|
+
from dify_oapi.core.model.base_request import BaseRequest
|
3
|
+
|
4
|
+
from .submit_feedback_request_body import SubmitFeedbackRequestBody
|
5
|
+
|
6
|
+
|
7
|
+
class SubmitFeedbackRequest(BaseRequest):
|
8
|
+
def __init__(self) -> None:
|
9
|
+
super().__init__()
|
10
|
+
self.request_body: SubmitFeedbackRequestBody | None = None
|
11
|
+
|
12
|
+
@staticmethod
|
13
|
+
def builder() -> "SubmitFeedbackRequestBuilder":
|
14
|
+
return SubmitFeedbackRequestBuilder()
|
15
|
+
|
16
|
+
|
17
|
+
class SubmitFeedbackRequestBuilder:
|
18
|
+
def __init__(self) -> None:
|
19
|
+
submit_feedback_request = SubmitFeedbackRequest()
|
20
|
+
submit_feedback_request.http_method = HttpMethod.POST
|
21
|
+
submit_feedback_request.uri = "/v1/messages/:message_id/feedbacks"
|
22
|
+
self._submit_feedback_request = submit_feedback_request
|
23
|
+
|
24
|
+
def message_id(self, message_id: str) -> "SubmitFeedbackRequestBuilder":
|
25
|
+
self._submit_feedback_request.paths["message_id"] = message_id
|
26
|
+
return self
|
27
|
+
|
28
|
+
def request_body(self, request_body: SubmitFeedbackRequestBody) -> "SubmitFeedbackRequestBuilder":
|
29
|
+
self._submit_feedback_request.request_body = request_body
|
30
|
+
self._submit_feedback_request.body = request_body.model_dump(exclude_none=True, mode="json")
|
31
|
+
return self
|
32
|
+
|
33
|
+
def build(self) -> SubmitFeedbackRequest:
|
34
|
+
return self._submit_feedback_request
|
@@ -0,0 +1,35 @@
|
|
1
|
+
from typing import Literal
|
2
|
+
|
3
|
+
from pydantic import BaseModel
|
4
|
+
|
5
|
+
Rating = Literal["like", "dislike"]
|
6
|
+
|
7
|
+
|
8
|
+
class SubmitFeedbackRequestBody(BaseModel):
|
9
|
+
rating: Rating | None = None
|
10
|
+
user: str
|
11
|
+
content: str | None = None
|
12
|
+
|
13
|
+
@staticmethod
|
14
|
+
def builder() -> "SubmitFeedbackRequestBodyBuilder":
|
15
|
+
return SubmitFeedbackRequestBodyBuilder()
|
16
|
+
|
17
|
+
|
18
|
+
class SubmitFeedbackRequestBodyBuilder:
|
19
|
+
def __init__(self) -> None:
|
20
|
+
self._submit_feedback_request_body = SubmitFeedbackRequestBody(user="")
|
21
|
+
|
22
|
+
def rating(self, rating: Rating | None) -> "SubmitFeedbackRequestBodyBuilder":
|
23
|
+
self._submit_feedback_request_body.rating = rating
|
24
|
+
return self
|
25
|
+
|
26
|
+
def user(self, user: str) -> "SubmitFeedbackRequestBodyBuilder":
|
27
|
+
self._submit_feedback_request_body.user = user
|
28
|
+
return self
|
29
|
+
|
30
|
+
def content(self, content: str | None) -> "SubmitFeedbackRequestBodyBuilder":
|
31
|
+
self._submit_feedback_request_body.content = content
|
32
|
+
return self
|
33
|
+
|
34
|
+
def build(self) -> SubmitFeedbackRequestBody:
|
35
|
+
return self._submit_feedback_request_body
|
@@ -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)
|
@@ -0,0 +1,31 @@
|
|
1
|
+
from dify_oapi.core.http.transport import ATransport, Transport
|
2
|
+
from dify_oapi.core.model.config import Config
|
3
|
+
from dify_oapi.core.model.request_option import RequestOption
|
4
|
+
|
5
|
+
from ..model.get_feedbacks_request import GetFeedbacksRequest
|
6
|
+
from ..model.get_feedbacks_response import GetFeedbacksResponse
|
7
|
+
from ..model.submit_feedback_request import SubmitFeedbackRequest
|
8
|
+
from ..model.submit_feedback_response import SubmitFeedbackResponse
|
9
|
+
|
10
|
+
|
11
|
+
class Feedback:
|
12
|
+
def __init__(self, config: Config) -> None:
|
13
|
+
self.config: Config = config
|
14
|
+
|
15
|
+
def submit(self, request: SubmitFeedbackRequest, option: RequestOption | None = None) -> SubmitFeedbackResponse:
|
16
|
+
"""Submit feedback for a message"""
|
17
|
+
return Transport.execute(self.config, request, unmarshal_as=SubmitFeedbackResponse, option=option)
|
18
|
+
|
19
|
+
async def asubmit(
|
20
|
+
self, request: SubmitFeedbackRequest, option: RequestOption | None = None
|
21
|
+
) -> SubmitFeedbackResponse:
|
22
|
+
"""Submit feedback for a message - async version"""
|
23
|
+
return await ATransport.aexecute(self.config, request, unmarshal_as=SubmitFeedbackResponse, option=option)
|
24
|
+
|
25
|
+
def list(self, request: GetFeedbacksRequest, option: RequestOption | None = None) -> GetFeedbacksResponse:
|
26
|
+
"""Get list of feedbacks"""
|
27
|
+
return Transport.execute(self.config, request, unmarshal_as=GetFeedbacksResponse, option=option)
|
28
|
+
|
29
|
+
async def alist(self, request: GetFeedbacksRequest, option: RequestOption | None = None) -> GetFeedbacksResponse:
|
30
|
+
"""Get list of feedbacks - async version"""
|
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
|
@@ -0,0 +1,23 @@
|
|
1
|
+
"""Data source detail models."""
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
|
8
|
+
class UploadFileDetail(BaseModel):
|
9
|
+
"""Upload file detail information."""
|
10
|
+
|
11
|
+
id: Optional[str] = None
|
12
|
+
name: Optional[str] = None
|
13
|
+
size: Optional[int] = None
|
14
|
+
extension: Optional[str] = None
|
15
|
+
mime_type: Optional[str] = None
|
16
|
+
created_by: Optional[str] = None
|
17
|
+
created_at: Optional[float] = None
|
18
|
+
|
19
|
+
|
20
|
+
class DataSourceDetailDict(BaseModel):
|
21
|
+
"""Data source detail dictionary."""
|
22
|
+
|
23
|
+
upload_file: Optional[UploadFileDetail] = None
|
@@ -4,9 +4,10 @@ from typing import Optional
|
|
4
4
|
|
5
5
|
from pydantic import BaseModel
|
6
6
|
|
7
|
-
from .
|
7
|
+
from .dataset_metadata import DatasetMetadata
|
8
8
|
from .external_knowledge_info import ExternalKnowledgeInfo
|
9
|
-
from .
|
9
|
+
from .external_retrieval_model import ExternalRetrievalModel
|
10
|
+
from .knowledge_types import DataSourceType, DocumentForm, IndexingTechnique, Permission
|
10
11
|
from .retrieval_model import RetrievalModel
|
11
12
|
from .tag_info import TagInfo
|
12
13
|
|
@@ -25,18 +26,18 @@ class DatasetInfo(BaseModel):
|
|
25
26
|
document_count: Optional[int] = None
|
26
27
|
word_count: Optional[int] = None
|
27
28
|
created_by: Optional[str] = None
|
28
|
-
created_at: Optional[
|
29
|
+
created_at: Optional[int] = None
|
29
30
|
updated_by: Optional[str] = None
|
30
|
-
updated_at: Optional[
|
31
|
+
updated_at: Optional[int] = None
|
31
32
|
embedding_model: Optional[str] = None
|
32
33
|
embedding_model_provider: Optional[str] = None
|
33
34
|
embedding_available: Optional[bool] = None
|
34
35
|
retrieval_model_dict: Optional[RetrievalModel] = None
|
35
36
|
tags: Optional[list[TagInfo]] = None
|
36
|
-
doc_form: Optional[
|
37
|
+
doc_form: Optional[DocumentForm] = None
|
37
38
|
external_knowledge_info: Optional[ExternalKnowledgeInfo] = None
|
38
|
-
external_retrieval_model: Optional[
|
39
|
-
doc_metadata: Optional[list[
|
39
|
+
external_retrieval_model: Optional[ExternalRetrievalModel] = None
|
40
|
+
doc_metadata: Optional[list[DatasetMetadata]] = None
|
40
41
|
built_in_field_enabled: Optional[bool] = None
|
41
42
|
|
42
43
|
@staticmethod
|
@@ -89,7 +90,7 @@ class DatasetInfoBuilder:
|
|
89
90
|
self._dataset_info.created_by = created_by
|
90
91
|
return self
|
91
92
|
|
92
|
-
def created_at(self, created_at:
|
93
|
+
def created_at(self, created_at: int) -> "DatasetInfoBuilder":
|
93
94
|
self._dataset_info.created_at = created_at
|
94
95
|
return self
|
95
96
|
|
@@ -97,7 +98,7 @@ class DatasetInfoBuilder:
|
|
97
98
|
self._dataset_info.updated_by = updated_by
|
98
99
|
return self
|
99
100
|
|
100
|
-
def updated_at(self, updated_at:
|
101
|
+
def updated_at(self, updated_at: int) -> "DatasetInfoBuilder":
|
101
102
|
self._dataset_info.updated_at = updated_at
|
102
103
|
return self
|
103
104
|
|
@@ -0,0 +1,14 @@
|
|
1
|
+
"""Dataset metadata model."""
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
|
8
|
+
class DatasetMetadata(BaseModel):
|
9
|
+
"""Dataset metadata information."""
|
10
|
+
|
11
|
+
# Based on API response, this is typically an empty array
|
12
|
+
# Can be extended when actual metadata structure is known
|
13
|
+
key: Optional[str] = None
|
14
|
+
value: Optional[str] = None
|
@@ -4,7 +4,9 @@ from typing import Optional
|
|
4
4
|
|
5
5
|
from pydantic import BaseModel
|
6
6
|
|
7
|
+
from .data_source_detail import DataSourceDetailDict
|
7
8
|
from .data_source_info import DataSourceInfo
|
9
|
+
from .document_metadata import DocumentMetadata
|
8
10
|
from .knowledge_types import DataSourceType, DocumentDisplayStatus, DocumentForm, IndexingStatus
|
9
11
|
|
10
12
|
|
@@ -15,23 +17,25 @@ class DocumentInfo(BaseModel):
|
|
15
17
|
position: Optional[int] = None
|
16
18
|
data_source_type: Optional[DataSourceType] = None
|
17
19
|
data_source_info: Optional["DataSourceInfo"] = None
|
20
|
+
data_source_detail_dict: Optional[DataSourceDetailDict] = None
|
18
21
|
dataset_process_rule_id: Optional[str] = None
|
19
22
|
name: Optional[str] = None
|
20
23
|
created_from: Optional[str] = None
|
21
24
|
created_by: Optional[str] = None
|
22
|
-
created_at: Optional[
|
25
|
+
created_at: Optional[int] = None
|
23
26
|
tokens: Optional[int] = None
|
24
27
|
indexing_status: Optional[IndexingStatus] = None
|
25
28
|
error: Optional[str] = None
|
26
29
|
enabled: Optional[bool] = None
|
27
|
-
disabled_at: Optional[
|
30
|
+
disabled_at: Optional[int] = None
|
28
31
|
disabled_by: Optional[str] = None
|
29
32
|
archived: Optional[bool] = None
|
30
33
|
display_status: Optional[DocumentDisplayStatus] = None
|
31
34
|
word_count: Optional[int] = None
|
32
35
|
hit_count: Optional[int] = None
|
33
36
|
doc_form: Optional[DocumentForm] = None
|
34
|
-
|
37
|
+
doc_metadata: Optional[DocumentMetadata] = None
|
38
|
+
updated_at: Optional[int] = None
|
35
39
|
|
36
40
|
@staticmethod
|
37
41
|
def builder() -> "DocumentInfoBuilder":
|
@@ -63,6 +67,10 @@ class DocumentInfoBuilder:
|
|
63
67
|
self._document_info.data_source_info = data_source_info
|
64
68
|
return self
|
65
69
|
|
70
|
+
def data_source_detail_dict(self, data_source_detail_dict: DataSourceDetailDict) -> "DocumentInfoBuilder":
|
71
|
+
self._document_info.data_source_detail_dict = data_source_detail_dict
|
72
|
+
return self
|
73
|
+
|
66
74
|
def dataset_process_rule_id(self, dataset_process_rule_id: str) -> "DocumentInfoBuilder":
|
67
75
|
self._document_info.dataset_process_rule_id = dataset_process_rule_id
|
68
76
|
return self
|
@@ -79,7 +87,7 @@ class DocumentInfoBuilder:
|
|
79
87
|
self._document_info.created_by = created_by
|
80
88
|
return self
|
81
89
|
|
82
|
-
def created_at(self, created_at:
|
90
|
+
def created_at(self, created_at: int) -> "DocumentInfoBuilder":
|
83
91
|
self._document_info.created_at = created_at
|
84
92
|
return self
|
85
93
|
|
@@ -99,7 +107,7 @@ class DocumentInfoBuilder:
|
|
99
107
|
self._document_info.enabled = enabled
|
100
108
|
return self
|
101
109
|
|
102
|
-
def disabled_at(self, disabled_at:
|
110
|
+
def disabled_at(self, disabled_at: int) -> "DocumentInfoBuilder":
|
103
111
|
self._document_info.disabled_at = disabled_at
|
104
112
|
return self
|
105
113
|
|
@@ -127,6 +135,10 @@ class DocumentInfoBuilder:
|
|
127
135
|
self._document_info.doc_form = doc_form
|
128
136
|
return self
|
129
137
|
|
130
|
-
def
|
138
|
+
def doc_metadata(self, doc_metadata: DocumentMetadata) -> "DocumentInfoBuilder":
|
139
|
+
self._document_info.doc_metadata = doc_metadata
|
140
|
+
return self
|
141
|
+
|
142
|
+
def updated_at(self, updated_at: int) -> "DocumentInfoBuilder":
|
131
143
|
self._document_info.updated_at = updated_at
|
132
144
|
return self
|
@@ -8,8 +8,10 @@ from pydantic import BaseModel
|
|
8
8
|
class ExternalKnowledgeInfo(BaseModel):
|
9
9
|
"""External knowledge info model with builder pattern."""
|
10
10
|
|
11
|
-
external_knowledge_api_id: Optional[str] = None
|
12
11
|
external_knowledge_id: Optional[str] = None
|
12
|
+
external_knowledge_api_id: Optional[str] = None
|
13
|
+
external_knowledge_api_name: Optional[str] = None
|
14
|
+
external_knowledge_api_endpoint: Optional[str] = None
|
13
15
|
|
14
16
|
@staticmethod
|
15
17
|
def builder() -> "ExternalKnowledgeInfoBuilder":
|
@@ -32,3 +34,11 @@ class ExternalKnowledgeInfoBuilder:
|
|
32
34
|
def external_knowledge_id(self, external_knowledge_id: str) -> "ExternalKnowledgeInfoBuilder":
|
33
35
|
self._external_knowledge_info.external_knowledge_id = external_knowledge_id
|
34
36
|
return self
|
37
|
+
|
38
|
+
def external_knowledge_api_name(self, external_knowledge_api_name: str) -> "ExternalKnowledgeInfoBuilder":
|
39
|
+
self._external_knowledge_info.external_knowledge_api_name = external_knowledge_api_name
|
40
|
+
return self
|
41
|
+
|
42
|
+
def external_knowledge_api_endpoint(self, external_knowledge_api_endpoint: str) -> "ExternalKnowledgeInfoBuilder":
|
43
|
+
self._external_knowledge_info.external_knowledge_api_endpoint = external_knowledge_api_endpoint
|
44
|
+
return self
|
@@ -0,0 +1,13 @@
|
|
1
|
+
"""External retrieval model for Knowledge Base API."""
|
2
|
+
|
3
|
+
from typing import Optional
|
4
|
+
|
5
|
+
from pydantic import BaseModel
|
6
|
+
|
7
|
+
|
8
|
+
class ExternalRetrievalModel(BaseModel):
|
9
|
+
"""External retrieval model configuration."""
|
10
|
+
|
11
|
+
top_k: Optional[int] = None
|
12
|
+
score_threshold: Optional[float] = None
|
13
|
+
score_threshold_enabled: Optional[bool] = None
|
@@ -15,7 +15,7 @@ SearchMethod = Literal["hybrid_search", "semantic_search", "full_text_search", "
|
|
15
15
|
DocumentStatus = Literal["indexing", "completed", "error", "paused"]
|
16
16
|
|
17
17
|
# Processing mode types
|
18
|
-
ProcessingMode = Literal["automatic", "custom"]
|
18
|
+
ProcessingMode = Literal["automatic", "custom", "hierarchical"]
|
19
19
|
|
20
20
|
# File types
|
21
21
|
FileType = Literal["document", "image", "audio", "video", "custom"]
|
@@ -79,7 +79,7 @@ ExternalKnowledgeProvider = Literal["external_api", "notion", "web_crawler"]
|
|
79
79
|
DocumentCreatedFrom = Literal["api", "web", "upload"]
|
80
80
|
|
81
81
|
# Document display status types
|
82
|
-
DocumentDisplayStatus = Literal["available", "indexing", "error", "paused", "archived"]
|
82
|
+
DocumentDisplayStatus = Literal["available", "indexing", "error", "paused", "archived", "queuing"]
|
83
83
|
|
84
84
|
# Batch processing status types
|
85
85
|
BatchProcessingStatus = Literal["processing", "completed", "failed", "cancelled"]
|
@@ -6,7 +6,6 @@ from pydantic import BaseModel
|
|
6
6
|
|
7
7
|
from .knowledge_types import ProcessingMode
|
8
8
|
from .process_rules import ProcessRules
|
9
|
-
from .segmentation_rule import SegmentationRule
|
10
9
|
|
11
10
|
|
12
11
|
class ProcessRule(BaseModel):
|
@@ -14,7 +13,6 @@ class ProcessRule(BaseModel):
|
|
14
13
|
|
15
14
|
mode: Optional[ProcessingMode] = None
|
16
15
|
rules: Optional[ProcessRules] = None
|
17
|
-
segmentation: Optional[SegmentationRule] = None
|
18
16
|
|
19
17
|
@staticmethod
|
20
18
|
def builder() -> "ProcessRuleBuilder":
|
@@ -37,7 +35,3 @@ class ProcessRuleBuilder:
|
|
37
35
|
def rules(self, rules: ProcessRules) -> "ProcessRuleBuilder":
|
38
36
|
self._process_rule.rules = rules
|
39
37
|
return self
|
40
|
-
|
41
|
-
def segmentation(self, segmentation: SegmentationRule) -> "ProcessRuleBuilder":
|
42
|
-
self._process_rule.segmentation = segmentation
|
43
|
-
return self
|