diff --git a/.gitignore b/.gitignore index af8593a72..f8d30f31b 100644 --- a/.gitignore +++ b/.gitignore @@ -154,3 +154,4 @@ go/coverage_diff.html .gitignore go/appbuilder/coverage_full.html go/appbuilder/coverage_diff.html + diff --git a/docs/API-Reference/Python/PythonAPI.md b/docs/API-Reference/Python/PythonAPI.md new file mode 100644 index 000000000..4801ebacd --- /dev/null +++ b/docs/API-Reference/Python/PythonAPI.md @@ -0,0 +1,7 @@ +# Python API Reference + + +- [基础 API](appbuilder.md) + - [Assistant API](appbuilder.core.assistant.md) + - [Components API](appbuilder.core.components.md) + - [Console API](appbuilder.core.console.md) \ No newline at end of file diff --git a/docs/sphinx_md/appbuilder.core.assistant.assistants.md b/docs/API-Reference/Python/appbuilder.core.assistant.assistants.md similarity index 53% rename from docs/sphinx_md/appbuilder.core.assistant.assistants.md rename to docs/API-Reference/Python/appbuilder.core.assistant.assistants.md index 5ce5c50fe..35606e21b 100644 --- a/docs/sphinx_md/appbuilder.core.assistant.assistants.md +++ b/docs/API-Reference/Python/appbuilder.core.assistant.assistants.md @@ -8,21 +8,21 @@ 基类:`object` -#### create(name: str, description: str, model: str | None = 'ERNIE-4.0-8K', response_format: str | None = 'text', instructions: str | None = '你是百度制作的AI助手', thought_instructions: str | None = '', chat_instructions: str | None = '', tools: list[AssistantTool] | None = [], file_ids: list[str] | None = [], metadata: dict | None = {}) → AssistantCreateResponse +#### create(name: str, description: str, model: str | None = 'ERNIE-4.0T-8K', response_format: str | None = 'text', instructions: str | None = '你是百度制作的AI助手', thought_instructions: str | None = '', chat_instructions: str | None = '', tools: list[AssistantTool] | None = [], file_ids: list[str] | None = [], metadata: dict | None = {}) → AssistantCreateResponse 创建助手实例 * **参数:** - * **name** (*str*) – 助手名称 - * **description** (*str*) – 助手描述 - * **model** (*Optional* *[**str* *]* *,* *optional*) – 模型名称. Defaults to “ERNIE-4.0-8K”. - * **response_format** (*Optional* *[**str* *]* *,* *optional*) – 响应格式. Defaults to ‘text’. - * **instructions** (*Optional* *[**str* *]* *,* *optional*) – 指令. Defaults to “”. - * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) – 思考指令. Defaults to “”. - * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) – 聊天指令. Defaults to “”. - * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) – 工具列表. Defaults to []. - * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) – 文件ID列表. Defaults to []. - * **metadata** (*Optional* *[**dict* *]* *,* *optional*) – 元数据. Defaults to {}. + * **name** (*str*) -- 助手名称 + * **description** (*str*) -- 助手描述 + * **model** (*Optional* *[**str* *]* *,* *optional*) -- 模型名称. Defaults to "ERNIE-4.0T-8K". + * **response_format** (*Optional* *[**str* *]* *,* *optional*) -- 响应格式. Defaults to 'text'. + * **instructions** (*Optional* *[**str* *]* *,* *optional*) -- 指令. Defaults to "". + * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 思考指令. Defaults to "". + * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 聊天指令. Defaults to "". + * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) -- 工具列表. Defaults to []. + * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) -- 文件ID列表. Defaults to []. + * **metadata** (*Optional* *[**dict* *]* *,* *optional*) -- 元数据. Defaults to {}. * **返回:** 助手创建响应 * **返回类型:** @@ -33,13 +33,13 @@ 根据assistant_id删除指定Assitant * **参数:** - **assistant_id** (*Optional* *[**str* *]*) – 待删除的助手实例ID。 + **assistant_id** (*Optional* *[**str* *]*) -- 待删除的助手实例ID。 * **返回:** 删除助手实例后的响应结果。 * **返回类型:** assistant_type.AssistantDeleteResponse * **抛出:** - **HttpRequestError** – 发送HTTP请求时发生错误。 + **HttpRequestError** -- 发送HTTP请求时发生错误。 #### *property* files @@ -57,10 +57,10 @@ 查询当前用户已创建的assistant列表 * **参数:** - * **limit** (*Optional* *[**int* *]* *,* *optional*) – 返回助手列表的最大数量,默认为20。 - * **order** (*Optional* *[**str* *]* *,* *optional*) – 返回助手列表的排序方式,可选值为”asc”或”desc”,默认为”desc”。 - * **after** (*Optional* *[**str* *]* *,* *optional*) – 返回助手列表中id在指定id之后的助手,默认为空字符串。 - * **before** (*Optional* *[**str* *]* *,* *optional*) – 返回助手列表中id在指定id之前的助手,默认为空字符串。 + * **limit** (*Optional* *[**int* *]* *,* *optional*) -- 返回助手列表的最大数量,默认为20。 + * **order** (*Optional* *[**str* *]* *,* *optional*) -- 返回助手列表的排序方式,可选值为"asc"或"desc",默认为"desc"。 + * **after** (*Optional* *[**str* *]* *,* *optional*) -- 返回助手列表中id在指定id之后的助手,默认为空字符串。 + * **before** (*Optional* *[**str* *]* *,* *optional*) -- 返回助手列表中id在指定id之前的助手,默认为空字符串。 * **返回:** 助手列表响应体。 * **返回类型:** @@ -71,8 +71,8 @@ 指定file_id和assistant_id,挂载File到对应的Assistant * **参数:** - * **assistant_id** (*Optional* *[**str* *]*) – 助理ID。 - * **file_id** (*Optional* *[**str* *]*) – 文件ID。 + * **assistant_id** (*Optional* *[**str* *]*) -- 助理ID。 + * **file_id** (*Optional* *[**str* *]*) -- 文件ID。 * **返回:** 助理文件列表响应对象。 * **返回类型:** @@ -83,11 +83,11 @@ 查询Assistant挂载的File列表 * **参数:** - * **assistant_id** (*Optional* *[**str* *]*) – 助手ID,为空时获取当前登录用户的助手文件列表。 - * **limit** (*Optional* *[**int* *]* *,* *optional*) – 每页最多显示多少个文件。默认为20。 - * **order** (*Optional* *[**AssistantListRole* *]* *,* *optional*) – 文件列表排序方式。可选值为 ‘asc’ 或 ‘desc’。默认为 ‘desc’。 - * **after** (*Optional* *[**str* *]* *,* *optional*) – 返回文件ID大于该值的文件列表。默认为空字符串。 - * **before** (*Optional* *[**str* *]* *,* *optional*) – 返回文件ID小于该值的文件列表。默认为空字符串。 + * **assistant_id** (*Optional* *[**str* *]*) -- 助手ID,为空时获取当前登录用户的助手文件列表。 + * **limit** (*Optional* *[**int* *]* *,* *optional*) -- 每页最多显示多少个文件。默认为20。 + * **order** (*Optional* *[**AssistantListRole* *]* *,* *optional*) -- 文件列表排序方式。可选值为 'asc' 或 'desc'。默认为 'desc'。 + * **after** (*Optional* *[**str* *]* *,* *optional*) -- 返回文件ID大于该值的文件列表。默认为空字符串。 + * **before** (*Optional* *[**str* *]* *,* *optional*) -- 返回文件ID小于该值的文件列表。默认为空字符串。 * **返回:** 包含文件列表信息的响应对象。 * **返回类型:** @@ -98,21 +98,21 @@ 根据assistant_id查询Assistant信息 * **参数:** - **assistant_id** (*Optional* *[**str* *]*) – 助手ID + **assistant_id** (*Optional* *[**str* *]*) -- 助手ID * **返回:** 助手查询响应结果 * **返回类型:** assistant_type.AssistantQueryResponse * **抛出:** - **HTTPError** – 请求失败,抛出HTTPError异常 + **HTTPError** -- 请求失败,抛出HTTPError异常 #### unmount_files(assistant_id: str | None, file_id: str | None) → AssistantFilesDeleteResponse 指定assistant_id和file_id,解绑Assistant中对应File的关联 * **参数:** - * **assistant_id** (*Optional* *[**str* *]*) – 助理ID。 - * **file_id** (*Optional* *[**str* *]*) – 文件ID。 + * **assistant_id** (*Optional* *[**str* *]*) -- 助理ID。 + * **file_id** (*Optional* *[**str* *]*) -- 文件ID。 * **返回:** 响应对象。 * **返回类型:** @@ -123,17 +123,17 @@ 根据assistant_id修改一个已创建的Assistant * **参数:** - * **assistant_id** (*str*) – 助手ID。 - * **model** (*Optional* *[**str* *]*) – 助手模型。 - * **name** (*Optional* *[**str* *]*) – 助手名称。 - * **description** (*Optional* *[**str* *]*) – 助手描述。 - * **response_format** (*Optional* *[**str* *]* *,* *optional*) – 响应格式。默认为None。 - * **instructions** (*Optional* *[**str* *]* *,* *optional*) – 助手指令。默认为None。 - * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) – 思考指令。默认为None。 - * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) – 聊天指令。默认为None。 - * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) – 助手工具列表。默认为空列表。 - * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) – 文件ID列表。默认为空列表。 - * **metadata** (*Optional* *[**dict* *]* *,* *optional*) – 助手元数据。默认为空字典。 + * **assistant_id** (*str*) -- 助手ID。 + * **model** (*Optional* *[**str* *]*) -- 助手模型。 + * **name** (*Optional* *[**str* *]*) -- 助手名称。 + * **description** (*Optional* *[**str* *]*) -- 助手描述。 + * **response_format** (*Optional* *[**str* *]* *,* *optional*) -- 响应格式。默认为None。 + * **instructions** (*Optional* *[**str* *]* *,* *optional*) -- 助手指令。默认为None。 + * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 思考指令。默认为None。 + * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 聊天指令。默认为None。 + * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) -- 助手工具列表。默认为空列表。 + * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) -- 文件ID列表。默认为空列表。 + * **metadata** (*Optional* *[**dict* *]* *,* *optional*) -- 助手元数据。默认为空字典。 * **返回:** 助手更新响应。 * **返回类型:** @@ -150,61 +150,61 @@ 获取指定文件的内容 * **参数:** - * **file_id** (*str*) – 文件ID - * **timeout** (*Optional* *[**int* *]* *,* *optional*) – 请求超时时间,单位秒. Defaults to None. + * **file_id** (*str*) -- 文件ID + * **timeout** (*Optional* *[**int* *]* *,* *optional*) -- 请求超时时间,单位秒. Defaults to None. * **返回:** 包含文件内容的响应对象 * **返回类型:** assistant_type.AssistantFilesContentResponse * **抛出:** - * **TypeError** – 当file_id不是字符串类型时引发此异常 - * **FileNotFoundError** – 当指定的文件路径不存在时引发此异常 - * **HTTPConnectionException** – 当请求失败时引发此异常 + * **TypeError** -- 当file_id不是字符串类型时引发此异常 + * **FileNotFoundError** -- 当指定的文件路径不存在时引发此异常 + * **HTTPConnectionException** -- 当请求失败时引发此异常 #### create(file_path: str, purpose: str = 'assistant') → AssistantFilesCreateResponse 上传文件到助理存储中。 * **参数:** - * **file_path** (*str*) – 要上传的文件路径。 - * **purpose** (*str* *,* *optional*) – 上传文件的用途。默认为 “assistant”。 + * **file_path** (*str*) -- 要上传的文件路径。 + * **purpose** (*str* *,* *optional*) -- 上传文件的用途。默认为 "assistant"。 * **返回:** 上传文件后返回的响应对象。 * **返回类型:** assistant_type.AssistantFilesCreateResponse * **抛出:** - **ValueError** – 如果指定的文件路径不存在,则会引发此异常。 + **ValueError** -- 如果指定的文件路径不存在,则会引发此异常。 #### delete(file_id: str) → AssistantFilesDeleteResponse 删除文件 * **参数:** - **file_id** (*str*) – 文件ID + **file_id** (*str*) -- 文件ID * **返回:** 删除文件后的响应对象。 * **返回类型:** assistant_type.AssistantFilesDeleteResponse * **抛出:** - **无** – + **无** -- #### download(file_id: str, file_path: str = '', timeout: int | None = None) 下载文件 * **参数:** - * **file_id** (*str*) – 文件ID - * **file_path** (*str* *,* *optional*) – 文件保存路径,默认为空字符串。如果未指定,则使用文件名的默认值。要求若文件路径不为空,需要以/结尾。 - * **timeout** (*Optional* *[**int* *]* *,* *optional*) – 请求超时时间,单位秒。如果未指定,则使用默认超时时间。 + * **file_id** (*str*) -- 文件ID + * **file_path** (*str* *,* *optional*) -- 文件保存路径,默认为空字符串。如果未指定,则使用文件名的默认值。要求若文件路径不为空,需要以/结尾。 + * **timeout** (*Optional* *[**int* *]* *,* *optional*) -- 请求超时时间,单位秒。如果未指定,则使用默认超时时间。 * **返回:** None * **抛出:** - * **TypeError** – 当file_path或file_id类型不为str时引发此异常。 - * **ValueError** – 当file_id为空或None时,或file_path不是文件目录时引发此异常。 - * **FileNotFoundError** – 当指定的文件路径或文件不存在时引发此异常。 - * **OSError** – 当磁盘空间不足时引发此异常。 - * **HTTPConnectionException** – 当请求失败时引发此异常。 - * **Exception** – 当发生其他异常时引发此异常。 + * **TypeError** -- 当file_path或file_id类型不为str时引发此异常。 + * **ValueError** -- 当file_id为空或None时,或file_path不是文件目录时引发此异常。 + * **FileNotFoundError** -- 当指定的文件路径或文件不存在时引发此异常。 + * **OSError** -- 当磁盘空间不足时引发此异常。 + * **HTTPConnectionException** -- 当请求失败时引发此异常。 + * **Exception** -- 当发生其他异常时引发此异常。 #### list() → AssistantFilesListResponse @@ -217,7 +217,7 @@ **无** * **返回:** 文件列表的响应对象,包含以下属性: - - object (str): 表示对象类型,默认值为 “list” + - object (str): 表示对象类型,默认值为 "list" - data (list[AssistantFilesListData]): 包含文件信息的列表,列表中的每个元素为 AssistantFilesListData 对象。该对象包含以下属性: > - id (str): 文件ID > - bytes (int): 文件大小(字节) @@ -231,18 +231,18 @@ * **返回类型:** assistant_type.AssistantFilesListResponse * **抛出:** - **assistant_type.AssistantError** – 请求发生错误时抛出,具体错误信息可通过 error_msg 属性获取。 + **assistant_type.AssistantError** -- 请求发生错误时抛出,具体错误信息可通过 error_msg 属性获取。 #### query(file_id: str) → AssistantFilesQueryResponse 根据文件ID查询文件信息 * **参数:** - **file_id** (*str*) – 文件ID + **file_id** (*str*) -- 文件ID * **返回:** 文件查询响应对象 * **返回类型:** assistant_type.AssistantFilesQueryResponse * **抛出:** - * **TypeError** – 如果file_id不是str类型 - * **ValueError** – 如果file_id不存在 + * **TypeError** -- 如果file_id不是str类型 + * **ValueError** -- 如果file_id不存在 diff --git a/docs/sphinx_md/appbuilder.core.assistant.md b/docs/API-Reference/Python/appbuilder.core.assistant.md similarity index 100% rename from docs/sphinx_md/appbuilder.core.assistant.md rename to docs/API-Reference/Python/appbuilder.core.assistant.md diff --git a/docs/sphinx_md/appbuilder.core.assistant.threads.md b/docs/API-Reference/Python/appbuilder.core.assistant.threads.md similarity index 93% rename from docs/sphinx_md/appbuilder.core.assistant.threads.md rename to docs/API-Reference/Python/appbuilder.core.assistant.threads.md index beecf5fa4..7b626032e 100644 --- a/docs/sphinx_md/appbuilder.core.assistant.threads.md +++ b/docs/API-Reference/Python/appbuilder.core.assistant.threads.md @@ -74,11 +74,11 @@ 创建一个新的对话线程。 * **参数:** - **messages** – 要发送给助手的消息列表。如果不传入此参数,则会创建一个空对话线程。 + **messages** -- 要发送给助手的消息列表。如果不传入此参数,则会创建一个空对话线程。 * **返回:** 一个ThreadCreateResponse对象,包含新创建的线程的相关信息。 * **抛出:** - **ValueError** – 如果传入的messages参数不是列表类型。 + **ValueError** -- 如果传入的messages参数不是列表类型。 #### delete(thread_id: str) → ThreadDeleteResponse @@ -88,7 +88,7 @@ * **返回:** 一个ThreadDeleteResponse对象,包含对话线程的相关信息。 * **抛出:** - **ValueError** – 如果传入的thread_id参数不是字符串类型。 + **ValueError** -- 如果传入的thread_id参数不是字符串类型。 #### *property* messages *: [Messages](appbuilder.core.assistant.threads.messages.md#appbuilder.core.assistant.threads.messages.messages.Messages)* @@ -106,11 +106,11 @@ 查询对话线程信息。 * **参数:** - **thread_id** – 要查询的对话线程ID。 + **thread_id** -- 要查询的对话线程ID。 * **返回:** 一个ThreadQueryResponse对象,包含对话线程的相关信息。 * **抛出:** - **ValueError** – 如果传入的thread_id参数不是字符串类型。 + **ValueError** -- 如果传入的thread_id参数不是字符串类型。 #### *property* runs *: [Runs](appbuilder.core.assistant.threads.runs.md#appbuilder.core.assistant.threads.runs.runs.Runs)* @@ -128,12 +128,12 @@ 更新线程信息 * **参数:** - * **thread_id** (*str*) – 线程ID - * **metadata** (*Optional* *[**dict* *]* *,* *optional*) – 线程元数据. 默认为空字典. + * **thread_id** (*str*) -- 线程ID + * **metadata** (*Optional* *[**dict* *]* *,* *optional*) -- 线程元数据. 默认为空字典. * **返回:** 线程更新响应 * **返回类型:** thread_type.ThreadUpdateResponse * **抛出:** - * **TypeError** – 如果metadata不是字典类型 - * **ValueError** – 如果metadata的键超过64个字符或值超过512个字符 + * **TypeError** -- 如果metadata不是字典类型 + * **ValueError** -- 如果metadata的键超过64个字符或值超过512个字符 diff --git a/docs/API-Reference/Python/appbuilder.core.assistant.threads.messages.md b/docs/API-Reference/Python/appbuilder.core.assistant.threads.messages.md new file mode 100644 index 000000000..267910805 --- /dev/null +++ b/docs/API-Reference/Python/appbuilder.core.assistant.threads.messages.md @@ -0,0 +1,88 @@ +# appbuilder.core.assistant.threads.messages package + +## Submodules + +## appbuilder.core.assistant.threads.messages.messages module + +### *class* appbuilder.core.assistant.threads.messages.messages.Messages + +基类:`object` + +#### create(thread_id: str, content: str, role: str | None = 'user', file_ids: list[str] | None = []) → AssistantMessageCreateResponse + +创建一条消息。 + +* **参数:** + * **thread_id** (*str*) -- 线程ID。 + * **content** (*str*) -- 消息内容。 + * **role** (*Optional* *[**str* *]* *,* *optional*) -- 角色,可选值为"user"或"assistant"。默认为"user"。 + * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) -- 消息中包含的文件ID列表。默认为空列表。 +* **返回:** + 消息创建响应对象。 +* **返回类型:** + thread_type.AssistantMessageCreateResponse +* **抛出:** + **HttpError** -- 如果请求失败,则抛出HttpError异常。 + +#### files(thread_id: str, message_id: str, limit: int | None = 20, order: str | None = 'desc', after: str | None = '', before: str | None = '') → AssistantMessageFilesResponse + +获取指定消息 ID 的附件信息。 + +* **参数:** + * **thread_id** (*str*) -- 线程 ID。 + * **messsages_id** (*str*) -- 消息 ID。 + * **limit** (*Optional* *[**int* *]* *,* *optional*) -- 返回结果的最大数量,默认为 20。 + * **order** (*Optional* *[**str* *]* *,* *optional*) -- 排序方式,可选值为 "asc" 或 "desc",默认为 "desc"。 + * **after** (*Optional* *[**str* *]* *,* *optional*) -- 返回结果的时间范围,只返回时间晚于该时间戳的消息附件,默认为空。 + * **before** (*Optional* *[**str* *]* *,* *optional*) -- 返回结果的时间范围,只返回时间早于该时间戳的消息附件,默认为空。 +* **返回:** + 附件信息响应对象。 +* **返回类型:** + thread_type.AssistantMessageFilesResponse + +#### list(thread_id: str, limit: int = 20, order: str = 'desc', after: str = '', before: str = '') → AssistantMessageListResponse + +查询指定Thread下的Message列表 + +* **参数:** + * **thread_id** (*str*) -- 线程ID。 + * **limit** (*int* *,* *optional*) -- 返回消息的最大数量,取值范围为[1,20]。默认为-20。 + * **order** (*Optional* *[**str* *]* *,* *optional*) -- 排序方式,可选值为"asc"或"desc"。默认为"desc"。 + * **after** (*Optional* *[**str* *]* *,* *optional*) -- 查询指定message_id之后创建的Message。 + * **before** (*Optional* *[**str* *]* *,* *optional*) -- 查询指定message_id之前创建的Message +* **返回:** + 查询thread下的message列表响应对象。 +* **返回类型:** + thread_type.AssistantMessageListResponse +* **抛出:** + **HttpError** -- 如果请求失败,则抛出HttpError异常。 + +#### query(thread_id: str, message_id: str) → AssistantMessageQueryResponse + +根据message_id查询指定Message的信息 + +* **参数:** + * **thread_id** (*str*) -- 线程ID + * **message_id** (*str*) -- 消息ID +* **返回:** + 消息信息响应 +* **返回类型:** + thread_type.AssistantMessageQueryResponse +* **抛出:** + **HttpError** -- 如果请求失败,则抛出HttpError异常。 + +#### update(thread_id: str, message_id: str, content: str | None, file_ids: list[str] | None = []) → AssistantMessageUpdateResponse + +修改Message对象,允许content和file_ids字段 + +* **参数:** + * **thread_id** (*str*) -- 线程ID。 + * **message_id** (*str*) -- 消息ID。 + * **content** (*Optional* *[**str* *]* *,* *optional*) -- 消息内容。默认为空字符串。 + * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) -- 消息中包含的文件ID列表。默认为空列表。 +* **返回:** + 消息更新响应对象。 +* **返回类型:** + thread_type.AssistantMessageUpdateResponse +* **抛出:** + **HttpError** -- 如果请求失败,则抛出HttpError异常。 diff --git a/docs/sphinx_md/appbuilder.core.assistant.threads.runs.md b/docs/API-Reference/Python/appbuilder.core.assistant.threads.runs.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.assistant.threads.runs.md rename to docs/API-Reference/Python/appbuilder.core.assistant.threads.runs.md index 1bb5428bd..8133643b5 100644 --- a/docs/sphinx_md/appbuilder.core.assistant.threads.runs.md +++ b/docs/API-Reference/Python/appbuilder.core.assistant.threads.runs.md @@ -13,8 +13,8 @@ 取消指定线程的运行 * **参数:** - * **run_id** (*str*) – 运行的ID - * **thread_id** (*str*) – 线程的ID + * **run_id** (*str*) -- 运行的ID + * **thread_id** (*str*) -- 线程的ID * **返回:** 取消运行的结果 * **返回类型:** @@ -25,25 +25,25 @@ 列出对应thread的历史run记录 * **参数:** - * **thread_id** (*str*) – 线程ID - * **limit** (*int* *,* *optional*) – 列表数量限制,默认为20 - * **order** (*str* *,* *optional*) – 排序方式,’asc’为升序,’desc’为降序,默认为’desc’ - * **after** (*str* *,* *optional*) – 返回在指定时间之后的运行列表,默认为空字符串 - * **before** (*str* *,* *optional*) – 返回在指定时间之前的运行列表,默认为空字符串 + * **thread_id** (*str*) -- 线程ID + * **limit** (*int* *,* *optional*) -- 列表数量限制,默认为20 + * **order** (*str* *,* *optional*) -- 排序方式,'asc'为升序,'desc'为降序,默认为'desc' + * **after** (*str* *,* *optional*) -- 返回在指定时间之后的运行列表,默认为空字符串 + * **before** (*str* *,* *optional*) -- 返回在指定时间之前的运行列表,默认为空字符串 * **返回:** 列出对应thread的历史run记录 * **返回类型:** thread_type.RunListResponse * **抛出:** - **无** – + **无** -- #### query(thread_id: str, run_id: str) → RunResult 根据thread_id和run_id,查询run的详情 * **参数:** - * **thread_id** (*str*) – 线程ID。 - * **run_id** (*str*) – 运行ID。 + * **thread_id** (*str*) -- 线程ID。 + * **run_id** (*str*) -- 运行ID。 * **返回:** 查询到的运行结果。 * **返回类型:** @@ -52,26 +52,26 @@ #### run(assistant_id: str, thread_id: str | None = '', thread: AssistantThread | None = None, model: str | None = None, response_format: str | None = 'text', instructions: str | None = '', thought_instructions: str | None = '', chat_instructions: str | None = '', tools: list[AssistantTool] | None = [], metadata: dict | None = {}, tool_output: ToolOutput | None = None, model_parameters: AssistantModelParameters | None = None, user_info: AssistantUserInfo | None = None, user_loc: AssistantUserLoc | None = None) → RunResult * **参数:** - * **assistant_id** (*str*) – 助手id - * **thread_id** (*Optional* *[**str* *]* *,* *optional*) – 对话id. Defaults to “”. - * **thread** (*Optional* *[**thread_type.AssistantThread* *]* *,* *optional*) – 对话信息. Defaults to None. - * **model** (*Optional* *[**str* *]* *,* *optional*) – 模型名称. Defaults to None. - * **response_format** (*Optional* *[**str* *]* *,* *optional*) – 返回格式. Defaults to “text”. - * **instructions** (*Optional* *[**str* *]* *,* *optional*) – 指令信息. Defaults to “”. - * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) – 思考指令信息. Defaults to “”. - * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) – 闲聊指令信息. Defaults to “”. - * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) – 工具列表. Defaults to []. - * **metadata** (*Optional* *[**dict* *]* *,* *optional*) – 元数据. Defaults to {}. - * **tool_output** (*Optional* *[**thread_type.ToolOutput* *]* *,* *optional*) – 工具输出. Defaults to None. - * **model_parameters** (*Optional* *[**public_type.AssistantModelParameters* *]* *,* *optional*) – 模型运行参数. Defaults to None. - * **user_info** (*Optional* *[**public_type.AssistantUserInfo* *]* *,* *optional*) – 用户身份信息. Defaults to None. - * **user_loc** (*Optional* *[**public_type.AssistantUserLoc* *]* *,* *optional*) – 用户定位信息. Defaults to None. + * **assistant_id** (*str*) -- 助手id + * **thread_id** (*Optional* *[**str* *]* *,* *optional*) -- 对话id. Defaults to "". + * **thread** (*Optional* *[**thread_type.AssistantThread* *]* *,* *optional*) -- 对话信息. Defaults to None. + * **model** (*Optional* *[**str* *]* *,* *optional*) -- 模型名称. Defaults to None. + * **response_format** (*Optional* *[**str* *]* *,* *optional*) -- 返回格式. Defaults to "text". + * **instructions** (*Optional* *[**str* *]* *,* *optional*) -- 指令信息. Defaults to "". + * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 思考指令信息. Defaults to "". + * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 闲聊指令信息. Defaults to "". + * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) -- 工具列表. Defaults to []. + * **metadata** (*Optional* *[**dict* *]* *,* *optional*) -- 元数据. Defaults to {}. + * **tool_output** (*Optional* *[**thread_type.ToolOutput* *]* *,* *optional*) -- 工具输出. Defaults to None. + * **model_parameters** (*Optional* *[**public_type.AssistantModelParameters* *]* *,* *optional*) -- 模型运行参数. Defaults to None. + * **user_info** (*Optional* *[**public_type.AssistantUserInfo* *]* *,* *optional*) -- 用户身份信息. Defaults to None. + * **user_loc** (*Optional* *[**public_type.AssistantUserLoc* *]* *,* *optional*) -- 用户定位信息. Defaults to None. * **返回:** 运行结果 * **返回类型:** thread_type.RunResult * **抛出:** - **ValueError** – thread_id和thread不能同时为空,model_parameters的各个参数不在规定范围内 + **ValueError** -- thread_id和thread不能同时为空,model_parameters的各个参数不在规定范围内 #### NOTE 1. 如果thread_id没有传,则thread必须要传值 @@ -94,24 +94,24 @@ 启动一个流式运行的对话,用于处理对话流中的消息。 * **参数:** - * **assistant_id** (*str*) – 助理ID。 - * **thread_id** (*Optional* *[**str* *]* *,* *optional*) – 线程ID,用于恢复历史对话。默认为空字符串。 - * **thread** (*Optional* *[**thread_type.AssistantThread* *]* *,* *optional*) – 线程对象,用于恢复历史对话。默认为None。 - * **model** (*Optional* *[**str* *]* *,* *optional*) – 使用的模型名称。默认为None。 - * **response_format** (*Optional* *[**str* *]* *,* *optional*) – 响应格式,支持”text”和”json”两种格式。默认为”text”。 - * **instructions** (*Optional* *[**str* *]* *,* *optional*) – 指令文本。默认为空字符串。 - * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) – 思考指令文本。默认为空字符串。 - * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) – 聊天指令文本。默认为空字符串。 - * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) – 使用的工具列表。默认为空列表。 - * **metadata** (*Optional* *[**dict* *]* *,* *optional*) – 元数据字典。默认为空字典。 - * **tool_output** (*Optional* *[**thread_type.ToolOutput* *]* *,* *optional*) – 工具输出对象。默认为None。 - * **model_parameters** (*Optional* *[**public_type.AssistantModelParameters* *]* *,* *optional*) – 模型参数对象。默认为None。 + * **assistant_id** (*str*) -- 助理ID。 + * **thread_id** (*Optional* *[**str* *]* *,* *optional*) -- 线程ID,用于恢复历史对话。默认为空字符串。 + * **thread** (*Optional* *[**thread_type.AssistantThread* *]* *,* *optional*) -- 线程对象,用于恢复历史对话。默认为None。 + * **model** (*Optional* *[**str* *]* *,* *optional*) -- 使用的模型名称。默认为None。 + * **response_format** (*Optional* *[**str* *]* *,* *optional*) -- 响应格式,支持"text"和"json"两种格式。默认为"text"。 + * **instructions** (*Optional* *[**str* *]* *,* *optional*) -- 指令文本。默认为空字符串。 + * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 思考指令文本。默认为空字符串。 + * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 聊天指令文本。默认为空字符串。 + * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) -- 使用的工具列表。默认为空列表。 + * **metadata** (*Optional* *[**dict* *]* *,* *optional*) -- 元数据字典。默认为空字典。 + * **tool_output** (*Optional* *[**thread_type.ToolOutput* *]* *,* *optional*) -- 工具输出对象。默认为None。 + * **model_parameters** (*Optional* *[**public_type.AssistantModelParameters* *]* *,* *optional*) -- 模型参数对象。默认为None。 * **返回:** 返回一个迭代器,每次迭代返回一个处理结果对象,可能是 StreamRunStatus 或 StreamRunMessage。 * **返回类型:** Union[thread_type.StreamRunStatus, thread_type.StreamRunMessage, None] * **抛出:** - **ValueError** – 如果thread_id和thread参数同时为空,则会引发ValueError异常。 + **ValueError** -- 如果thread_id和thread参数同时为空,则会引发ValueError异常。 #### NOTE 1. 如果thread_id没有传,则thread必须要传值。 @@ -123,36 +123,36 @@ 使用带有事件处理器的流运行助手 * **参数:** - * **assistant_id** (*str*) – 助手的唯一标识符 - * **thread_id** (*Optional* *[**str* *]* *,* *optional*) – 会话线程的标识符,默认为空字符串. 默认为 “”. - * **thread** (*Optional* *[**thread_type.AssistantThread* *]* *,* *optional*) – 会话线程对象,默认为None. 默认为 None. - * **model** (*Optional* *[**str* *]* *,* *optional*) – 模型标识符,默认为None. 默认为 None. - * **response_format** (*Optional* *[**str* *]* *,* *optional*) – 响应格式,可选值为”text”或”json”,默认为”text”. 默认为 “text”. - * **instructions** (*Optional* *[**str* *]* *,* *optional*) – 主要指令,默认为空字符串. 默认为 “”. - * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) – 思维指令,默认为空字符串. 默认为 “”. - * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) – 聊天指令,默认为空字符串. 默认为 “”. - * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) – 助手工具列表,默认为空列表. 默认为 []. - * **metadata** (*Optional* *[**dict* *]* *,* *optional*) – 元数据字典,默认为空字典. 默认为 {}. - * **tool_output** (*Optional* *[**thread_type.ToolOutput* *]* *,* *optional*) – 工具输出对象,默认为None. 默认为 None. - * **event_handler** (*Optional* *[*[*AssistantEventHandler*](#appbuilder.core.assistant.threads.runs.stream_helper.AssistantEventHandler) *]* *,* *optional*) – 事件处理器对象,默认为None. 默认为 None. - * **model_parameters** (*Optional* *[**public_type.AssistantModelParameters* *]* *,* *optional*) – 模型参数对象,默认为None. 默认为 None. - * **user_info** (*Optional* *[**public_type.AssistantUserInfo* *]* *,* *optional*) – 用户信息对象,默认为None. 默认为 None. - * **user_loc** (*Optional* *[**public_type.AssistantUserLoc* *]* *,* *optional*) – 用户位置信息对象,默认为None. 默认为 None. + * **assistant_id** (*str*) -- 助手的唯一标识符 + * **thread_id** (*Optional* *[**str* *]* *,* *optional*) -- 会话线程的标识符,默认为空字符串. 默认为 "". + * **thread** (*Optional* *[**thread_type.AssistantThread* *]* *,* *optional*) -- 会话线程对象,默认为None. 默认为 None. + * **model** (*Optional* *[**str* *]* *,* *optional*) -- 模型标识符,默认为None. 默认为 None. + * **response_format** (*Optional* *[**str* *]* *,* *optional*) -- 响应格式,可选值为"text"或"json",默认为"text". 默认为 "text". + * **instructions** (*Optional* *[**str* *]* *,* *optional*) -- 主要指令,默认为空字符串. 默认为 "". + * **thought_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 思维指令,默认为空字符串. 默认为 "". + * **chat_instructions** (*Optional* *[**str* *]* *,* *optional*) -- 聊天指令,默认为空字符串. 默认为 "". + * **tools** (*Optional* *[**list* *[**assistant_type.AssistantTool* *]* *]* *,* *optional*) -- 助手工具列表,默认为空列表. 默认为 []. + * **metadata** (*Optional* *[**dict* *]* *,* *optional*) -- 元数据字典,默认为空字典. 默认为 {}. + * **tool_output** (*Optional* *[**thread_type.ToolOutput* *]* *,* *optional*) -- 工具输出对象,默认为None. 默认为 None. + * **event_handler** (*Optional* *[*[*AssistantEventHandler*](#appbuilder.core.assistant.threads.runs.stream_helper.AssistantEventHandler) *]* *,* *optional*) -- 事件处理器对象,默认为None. 默认为 None. + * **model_parameters** (*Optional* *[**public_type.AssistantModelParameters* *]* *,* *optional*) -- 模型参数对象,默认为None. 默认为 None. + * **user_info** (*Optional* *[**public_type.AssistantUserInfo* *]* *,* *optional*) -- 用户信息对象,默认为None. 默认为 None. + * **user_loc** (*Optional* *[**public_type.AssistantUserLoc* *]* *,* *optional*) -- 用户位置信息对象,默认为None. 默认为 None. * **返回:** 返回的流管理器对象 * **返回类型:** [AssistantStreamManager](#appbuilder.core.assistant.threads.runs.stream_helper.AssistantStreamManager) * **抛出:** - **HTTPError** – 如果HTTP响应状态码不为200,则抛出HTTPError异常 + **HTTPError** -- 如果HTTP响应状态码不为200,则抛出HTTPError异常 #### submit_tool_outputs(run_id: str, thread_id: str, tool_outputs: list[ToolOutput] | None) → RunResult 向服务端提交工具输出 * **参数:** - * **run_id** (*str*) – 运行ID - * **thread_id** (*str*) – 线程ID - * **tool_outputs** (*Optional* *[**list* *[**thread_type.ToolOutput* *]* *]*) – 工具输出列表,可选 + * **run_id** (*str*) -- 运行ID + * **thread_id** (*str*) -- 线程ID + * **tool_outputs** (*Optional* *[**list* *[**thread_type.ToolOutput* *]* *]*) -- 工具输出列表,可选 * **返回:** 运行结果 * **返回类型:** @@ -169,12 +169,12 @@ 根据thread_id和run_id,列出对应run的历史step记录 * **参数:** - * **thread_id** (*str*) – 线程ID - * **run_id** (*str*) – 运行ID - * **limit** (*int* *,* *optional*) – 步骤数量限制,默认为20 - * **order** (*str* *,* *optional*) – 排序方式,’asc’表示升序,’desc’表示降序,默认为’desc’ - * **after** (*str* *,* *optional*) – 过滤出时间戳晚于此值的步骤,默认为空 - * **before** (*str* *,* *optional*) – 过滤出时间戳早于此值的步骤,默认为空 + * **thread_id** (*str*) -- 线程ID + * **run_id** (*str*) -- 运行ID + * **limit** (*int* *,* *optional*) -- 步骤数量限制,默认为20 + * **order** (*str* *,* *optional*) -- 排序方式,'asc'表示升序,'desc'表示降序,默认为'desc' + * **after** (*str* *,* *optional*) -- 过滤出时间戳晚于此值的步骤,默认为空 + * **before** (*str* *,* *optional*) -- 过滤出时间戳早于此值的步骤,默认为空 * **返回:** 线程运行步骤列表的响应对象 * **返回类型:** @@ -185,9 +185,9 @@ 根据thread_id,run_id和step_id,查询对应step的信息 * **参数:** - * **thread_id** (*str*) – 线程ID - * **run_id** (*str*) – 运行ID - * **step_id** (*str*) – 步骤ID + * **thread_id** (*str*) -- 线程ID + * **run_id** (*str*) -- 运行ID + * **step_id** (*str*) -- 步骤ID * **返回:** 步骤运行结果 * **返回类型:** @@ -219,7 +219,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 message_creation 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 消息创建状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 消息创建状态事件对象 * **返回:** None @@ -231,7 +231,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 messages 打印事件时回调此函数。 * **参数:** - **messages_event** (*thread_type.StreamRunMessage*) – 包含消息内容的事件对象 + **messages_event** (*thread_type.StreamRunMessage*) -- 包含消息内容的事件对象 * **返回:** None @@ -243,7 +243,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 run_begin 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 运行开始状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 运行开始状态事件对象 * **返回:** None @@ -255,7 +255,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 run_cancelling 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 运行取消状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 运行取消状态事件对象 * **返回:** None @@ -267,7 +267,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 run_end 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 运行结束状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 运行结束状态事件对象 * **返回:** None @@ -279,7 +279,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 tool_calls 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 工具调用状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 工具调用状态事件对象 * **返回:** None @@ -291,7 +291,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 tool_step_begin 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 工具步骤开始状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 工具步骤开始状态事件对象 * **返回:** None @@ -303,7 +303,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 tool_step_end 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 工具步骤结束状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 工具步骤结束状态事件对象 * **返回:** None @@ -315,7 +315,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 当触发 tool_submitted_output 事件时回调此函数。 * **参数:** - **status_event** (*thread_type.StreamRunStatus*) – 工具提交输出状态事件对象 + **status_event** (*thread_type.StreamRunStatus*) -- 工具提交输出状态事件对象 * **返回:** None @@ -331,7 +331,7 @@ Assistant事件处理程序通常与具体的Assistant实例相关联,用于 * **返回:** 无 * **抛出:** - **无** – + **无** -- ### *class* appbuilder.core.assistant.threads.runs.stream_helper.AssistantStreamManager(response, event_handler: [AssistantEventHandler](#appbuilder.core.assistant.threads.runs.stream_helper.AssistantEventHandler)) @@ -454,11 +454,11 @@ StreamRunContext类用于管理和维护流式运行时的上下文信息。 设置当前助手ID。 * **参数:** - **assistant_id** (*str*) – 需要设置的助手ID。 + **assistant_id** (*str*) -- 需要设置的助手ID。 * **返回:** None * **抛出:** - **无** – + **无** -- #### NOTE 如果输入的assistant_id是有效的字符串且长度大于0,则将其设置为当前助手ID;否则,将当前助手ID设置为None。 @@ -468,22 +468,22 @@ StreamRunContext类用于管理和维护流式运行时的上下文信息。 设置当前事件 * **参数:** - **event** (*thread_type.StreamRunStatus* *or* *thread_type.StreamRunMessage*) – 需要设置的事件对象 + **event** (*thread_type.StreamRunStatus* *or* *thread_type.StreamRunMessage*) -- 需要设置的事件对象 * **返回:** None * **抛出:** - **无** – + **无** -- #### set_current_run_id(run_id) 设置当前运行ID。 * **参数:** - **run_id** (*str*) – 运行ID字符串。 + **run_id** (*str*) -- 运行ID字符串。 * **返回:** None * **抛出:** - **无** – + **无** -- 注意事项: : 如果传入的run_id不是字符串类型或长度为0,则不设置当前运行ID,将其设置为None。 @@ -493,11 +493,11 @@ StreamRunContext类用于管理和维护流式运行时的上下文信息。 设置当前运行步骤的ID。 * **参数:** - **run_step_id** (*str*) – 需要设置的运行步骤ID。 + **run_step_id** (*str*) -- 需要设置的运行步骤ID。 * **返回:** None * **抛出:** - **无** – + **无** -- #### NOTE 如果传入的run_step_id是一个非空字符串,则将其设置为当前运行步骤的ID; @@ -508,11 +508,11 @@ StreamRunContext类用于管理和维护流式运行时的上下文信息。 设置当前线程的ID。 * **参数:** - **thread_id** (*str*) – 要设置的线程ID。 + **thread_id** (*str*) -- 要设置的线程ID。 * **返回:** None * **抛出:** - **无** – + **无** -- #### NOTE 如果thread_id不是字符串类型或者长度为0,则不会设置当前线程的ID,并将其设置为None。 @@ -522,8 +522,8 @@ StreamRunContext类用于管理和维护流式运行时的上下文信息。 设置当前工具调用列表。 * **参数:** - **tool_calls** (*list* *of* *thread_type.ToolCall*) – 工具调用列表。 + **tool_calls** (*list* *of* *thread_type.ToolCall*) -- 工具调用列表。 * **返回:** None * **抛出:** - **AssertionError** – 如果 tool_calls 不是 ToolCall 对象的列表。 + **AssertionError** -- 如果 tool_calls 不是 ToolCall 对象的列表。 diff --git a/docs/sphinx_md/appbuilder.core.components.animal_recognize.md b/docs/API-Reference/Python/appbuilder.core.components.animal_recognize.md similarity index 81% rename from docs/sphinx_md/appbuilder.core.components.animal_recognize.md rename to docs/API-Reference/Python/appbuilder.core.components.animal_recognize.md index 1d4ec718d..12cd23ef1 100644 --- a/docs/sphinx_md/appbuilder.core.components.animal_recognize.md +++ b/docs/API-Reference/Python/appbuilder.core.components.animal_recognize.md @@ -34,9 +34,9 @@ print(out.content) 根据输入消息运行动物识别功能 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入的消息对象,其中应包含需要识别的图像数据或URL - * **timeout** (*float* *,* *optional*) – 超时时间,单位为秒。默认为None,表示无超时限制。Defaults to None. - * **retry** (*int* *,* *optional*) – 重试次数。默认为0,表示不重试。Defaults to 0. + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入的消息对象,其中应包含需要识别的图像数据或URL + * **timeout** (*float* *,* *optional*) -- 超时时间,单位为秒。默认为None,表示无超时限制。Defaults to None. + * **retry** (*int* *,* *optional*) -- 重试次数。默认为0,表示不重试。Defaults to 0. * **返回:** 识别结果的消息对象 * **返回类型:** @@ -47,10 +47,10 @@ print(out.content) 用于工具的执行,通过调用底层接口进行动物识别。 * **参数:** - * **name** (*str*) – 工具名。 - * **streaming** (*bool*) – 是否流式返回。 - * **origin_query** (*str*) – 用户原始query。 - * **\*\*kwargs** – 工具调用的额外关键字参数。 + * **name** (*str*) -- 工具名。 + * **streaming** (*bool*) -- 是否流式返回。 + * **origin_query** (*str*) -- 用户原始query。 + * **\*\*kwargs** -- 工具调用的额外关键字参数。 * **返回:** 动物识别结果,包括识别出的动物类别和相应的置信度信息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.asr.md b/docs/API-Reference/Python/appbuilder.core.components.asr.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.components.asr.md rename to docs/API-Reference/Python/appbuilder.core.components.asr.md index 50af740f8..29afeb9ec 100644 --- a/docs/sphinx_md/appbuilder.core.components.asr.md +++ b/docs/API-Reference/Python/appbuilder.core.components.asr.md @@ -36,13 +36,13 @@ print(out.content) # eg: {"result": ["北京科技馆。"]} 执行语音识别操作,并返回识别结果。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息对象,包含待识别的音频数据。该参数为必需项,格式如:Message(content={“raw_audio”: b”…”})。 - * **audio_format** (*str* *,* *optional*) – 音频文件格式,支持pcm/wav/amr/m4a,不区分大小写,推荐使用pcm格式。默认为”pcm”。 - * **rate** (*int* *,* *optional*) – 音频采样率,固定为16000。默认为16000。 - * **timeout** (*float* *,* *optional*) – HTTP请求超时时间。默认为None。 - * **retry** (*int* *,* *optional*) – HTTP请求重试次数。默认为0。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息对象,包含待识别的音频数据。该参数为必需项,格式如:Message(content={"raw_audio": b"..."})。 + * **audio_format** (*str* *,* *optional*) -- 音频文件格式,支持pcm/wav/amr/m4a,不区分大小写,推荐使用pcm格式。默认为"pcm"。 + * **rate** (*int* *,* *optional*) -- 音频采样率,固定为16000。默认为16000。 + * **timeout** (*float* *,* *optional*) -- HTTP请求超时时间。默认为None。 + * **retry** (*int* *,* *optional*) -- HTTP请求重试次数。默认为0。 * **返回:** - 语音识别结果,格式如:Message(content={“result”: [“识别结果”]})。 + 语音识别结果,格式如:Message(content={"result": ["识别结果"]})。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) @@ -51,13 +51,13 @@ print(out.content) # eg: {"result": ["北京科技馆。"]} 评估给定文件名或文件URL的语音识别结果。 * **参数:** - * **name** (*str*) – 函数调用名称。 - * **streaming** (*bool*) – 是否以流的方式返回结果。 - * **\*\*kwargs** – 关键字参数,用于指定文件名、文件URL等参数。 + * **name** (*str*) -- 函数调用名称。 + * **streaming** (*bool*) -- 是否以流的方式返回结果。 + * **\*\*kwargs** -- 关键字参数,用于指定文件名、文件URL等参数。 * **返回:** 如果streaming为True,则通过生成器逐个返回包含识别结果的消息对象; 如果streaming为False,则返回包含识别结果的JSON字符串。 * **抛出:** - **InvalidRequestArgumentError** – 如果未设置文件名或文件URL不存在,则抛出此异常。 + **InvalidRequestArgumentError** -- 如果未设置文件名或文件URL不存在,则抛出此异常。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.dish_recognize.md b/docs/API-Reference/Python/appbuilder.core.components.dish_recognize.md similarity index 83% rename from docs/sphinx_md/appbuilder.core.components.dish_recognize.md rename to docs/API-Reference/Python/appbuilder.core.components.dish_recognize.md index 92bc986db..cddc7d7a5 100644 --- a/docs/sphinx_md/appbuilder.core.components.dish_recognize.md +++ b/docs/API-Reference/Python/appbuilder.core.components.dish_recognize.md @@ -33,10 +33,10 @@ with open("xxxx.jpg", "rb") as f: 根据输入图片进行菜品识别。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入待识别图片,支持传图片二进制流和图片URL。 - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为 None。 - * **retry** (*int* *,* *optional*) – 重试次数,默认为 0。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入待识别图片,支持传图片二进制流和图片URL。 + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为 None。 + * **retry** (*int* *,* *optional*) -- 重试次数,默认为 0。 * **返回:** - 包含菜品识别结果的输出消息。例如,Message(content={‘result’: [{‘name’: ‘剁椒鱼头’, ‘calorie’: ‘127’}]}) + 包含菜品识别结果的输出消息。例如,Message(content={'result': [{'name': '剁椒鱼头', 'calorie': '127'}]}) * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) diff --git a/docs/sphinx_md/appbuilder.core.components.doc_crop_enhance.md b/docs/API-Reference/Python/appbuilder.core.components.doc_crop_enhance.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.components.doc_crop_enhance.md rename to docs/API-Reference/Python/appbuilder.core.components.doc_crop_enhance.md index 9852d77bd..2d4b7d126 100644 --- a/docs/sphinx_md/appbuilder.core.components.doc_crop_enhance.md +++ b/docs/API-Reference/Python/appbuilder.core.components.doc_crop_enhance.md @@ -32,18 +32,18 @@ print(out.content) 文档矫正增强 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行操作。举例: Message(content={“raw_image”: b”…”, - * **"enhance_type"** – 3})或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”})。 - * **enhance_type** (*int* *,* *可选*) – 选择是否开启图像增强功能,如开启可选择增强效果,可选值如下: + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行操作。举例: Message(content={"raw_image": b"...", + * **"enhance_type"** -- 3})或 Message(content={"url": "[https://image/download/url](https://image/download/url)"})。 + * **enhance_type** (*int* *,* *可选*) -- 选择是否开启图像增强功能,如开启可选择增强效果,可选值如下: - 0:默认值,不开启增强功能 - 1:去阴影 - 2:增强并锐化 - 3:黑白滤镜。 - * **timeout** (*float* *,* *可选*) – HTTP超时时间 - * **retry** (*int* *,* *可选*) – HTTP重试次数 + * **timeout** (*float* *,* *可选*) -- HTTP超时时间 + * **retry** (*int* *,* *可选*) -- HTTP重试次数 * **返回:** - 识别结果。举例: Message(name=msg, content={‘image_processed’: ‘…’, - ‘points’: [{‘x’: 220, ‘y’: 705}, {‘x’: 240, ‘y’: 0}, {‘x’: 885, ‘y’: 2}, {‘x’: 980, ‘y’: 759}]}, + 识别结果。举例: Message(name=msg, content={'image_processed': '...', + 'points': [{'x': 220, 'y': 705}, {'x': 240, 'y': 0}, {'x': 885, 'y': 2}, {'x': 980, 'y': 759}]}, mtype=dict) * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) diff --git a/docs/sphinx_md/appbuilder.core.components.doc_format_converter.md b/docs/API-Reference/Python/appbuilder.core.components.doc_format_converter.md similarity index 80% rename from docs/sphinx_md/appbuilder.core.components.doc_format_converter.md rename to docs/API-Reference/Python/appbuilder.core.components.doc_format_converter.md index 820d87730..564426f80 100644 --- a/docs/sphinx_md/appbuilder.core.components.doc_format_converter.md +++ b/docs/API-Reference/Python/appbuilder.core.components.doc_format_converter.md @@ -42,15 +42,15 @@ print(out.content) 将PDF、JPG、PNG、BMP等格式文件转换为Word、Excel格式,并返回转换后的文件URL。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 包含待转换文件路径和页码信息的消息对象。 - * **timeout** (*float* *,* *optional*) – 请求超时时间,单位为秒。默认为None,表示不设置超时时间。 - * **retry** (*int* *,* *optional*) – 请求重试次数。默认为0,表示不重试。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 包含待转换文件路径和页码信息的消息对象。 + * **timeout** (*float* *,* *optional*) -- 请求超时时间,单位为秒。默认为None,表示不设置超时时间。 + * **retry** (*int* *,* *optional*) -- 请求重试次数。默认为0,表示不重试。 * **返回:** 包含转换后文件URL的消息对象。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **AppBuilderServerException** – 文档格式转换服务发生错误时抛出。 + **AppBuilderServerException** -- 文档格式转换服务发生错误时抛出。 #### submitDocFormatConverterTask(request: DocFormatConverterSubmitRequest, timeout: float | None = None, retry: int = 0, request_id: str | None = None) → DocFormatConverterSubmitResponse @@ -65,9 +65,9 @@ print(out.content) 评估工具函数。 * **参数:** - * **streaming** (*bool*) – 是否流式输出。如果为True,则逐个生成文件URL;如果为False,则直接返回结果内容。 - * **origin_query** (*str*) – 原始查询字符串。 - * **\*\*kwargs** – 其他关键字参数,包括但不限于: + * **streaming** (*bool*) -- 是否流式输出。如果为True,则逐个生成文件URL;如果为False,则直接返回结果内容。 + * **origin_query** (*str*) -- 原始查询字符串。 + * **\*\*kwargs** -- 其他关键字参数,包括但不限于: traceid (str): 请求的跟踪ID,用于日志追踪。 file_url (str): 文件的URL地址。如果为空,则从file_urls和file_name中获取。 file_urls (dict): 包含多个文件路径与URL的映射关系的字典。 @@ -76,7 +76,7 @@ print(out.content) * **返回:** 如果streaming为True,则逐个生成包含文件URL的字典;如果streaming为False,则直接返回结果内容。 * **抛出:** - * **InvalidRequestArgumentError** – 如果请求格式错误,如page_num不是整数、file_url为空且无法从file_urls和file_name中获取file_url等。 - * **AppBuilderServerException** – 如果服务执行过程中出现异常。 + * **InvalidRequestArgumentError** -- 如果请求格式错误,如page_num不是整数、file_url为空且无法从file_urls和file_name中获取file_url等。 + * **AppBuilderServerException** -- 如果服务执行过程中出现异常。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.doc_parser.md b/docs/API-Reference/Python/appbuilder.core.components.doc_parser.md similarity index 79% rename from docs/sphinx_md/appbuilder.core.components.doc_parser.md rename to docs/API-Reference/Python/appbuilder.core.components.doc_parser.md index dc0e43787..5e87eadfa 100644 --- a/docs/sphinx_md/appbuilder.core.components.doc_parser.md +++ b/docs/API-Reference/Python/appbuilder.core.components.doc_parser.md @@ -33,7 +33,7 @@ parse_result = parser(msg) 将解析结果的内容转化成ParseResult的结构 * **参数:** - **response** (*Dict*) – 解析后的响应字典,包含文件内容、目录等信息 + **response** (*Dict*) -- 解析后的响应字典,包含文件内容、目录等信息 * **返回:** 转换后的ParseResult结构,包含段落节点树、页面内容和PDF数据 * **返回类型:** @@ -46,22 +46,22 @@ parse_result = parser(msg) 对传入的文件进行解析 * **参数:** - * **input_message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) – 输入为文件的路径 - * **return_raw** (*bool* *,* *optional*) – 是否返回云端服务的原始结果。默认为False。 + * **input_message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) -- 输入为文件的路径 + * **return_raw** (*bool* *,* *optional*) -- 是否返回云端服务的原始结果。默认为False。 * **返回:** 文件的解析结果。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message)[ParseResult] * **抛出:** - * **ValueError** – 如果传入的文件路径不是字符串类型。 - * **AppBuilderServerException** – 如果文件解析过程中出现异常,将抛出该异常。 + * **ValueError** -- 如果传入的文件路径不是字符串类型。 + * **AppBuilderServerException** -- 如果文件解析过程中出现异常,将抛出该异常。 #### set_config(config: ParserConfig) 设置解析配置 * **参数:** - **config** (*ParserConfig*) – 解析配置对象 + **config** (*ParserConfig*) -- 解析配置对象 * **返回:** None diff --git a/docs/sphinx_md/appbuilder.core.components.doc_splitter.md b/docs/API-Reference/Python/appbuilder.core.components.doc_splitter.md similarity index 76% rename from docs/sphinx_md/appbuilder.core.components.doc_splitter.md rename to docs/API-Reference/Python/appbuilder.core.components.doc_splitter.md index 8513b0b79..90037c55b 100644 --- a/docs/sphinx_md/appbuilder.core.components.doc_splitter.md +++ b/docs/API-Reference/Python/appbuilder.core.components.doc_splitter.md @@ -20,10 +20,10 @@ Examples: 不得套取现金。不得用于其他违反国家法律、政策规定的领域,不得用于监管机构禁止银行贷款进入的领域。 切分结果: -: [“贷款资金不得用于从事股本权益性投资,不得用于购买股票、有价证券、期货、理财产品等金融产品。不得用于从事房地产经营, - 不得用于借贷牟取非法收入。不得用于个”, - “不得用于个人或其控制的企业生产经营。不得套取现金。不得用于其他违反国家法律、政策规定的领域, - 不得用于监管机构禁止银行贷款进入的领域。”] +: ["贷款资金不得用于从事股本权益性投资,不得用于购买股票、有价证券、期货、理财产品等金融产品。不得用于从事房地产经营, + 不得用于借贷牟取非法收入。不得用于个", + "不得用于个人或其控制的企业生产经营。不得套取现金。不得用于其他违反国家法律、政策规定的领域, + 不得用于监管机构禁止银行贷款进入的领域。"] #### meta *: [ComponentArguments](appbuilder.core.md#appbuilder.core.component.ComponentArguments)* *= ComponentArguments(name='', tool_desc={'description': 'split data to chunks with max size in doc'})* @@ -34,13 +34,13 @@ Examples: 对输入的解析文档结果,按照最大段落块大小、结尾分隔符等,处理为多个段落结果 * **参数:** - **(****obj** (*message*) – Message): 上游docparser的文档解析结果 + **(****obj** (*message*) -- Message): 上游docparser的文档解析结果 * **返回:** Message: 文档分隔后的段落结果 * **返回类型:** obj * **抛出:** - **ValueError** – 如果 message.content 的类型不是 ParseResult,则抛出 ValueError 异常 + **ValueError** -- 如果 message.content 的类型不是 ParseResult,则抛出 ValueError 异常 Examples: @@ -95,16 +95,16 @@ print(res_paras.content) 运行函数,根据splitter_type将文档分割成多个部分 * **参数:** - **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 包含文档内容的消息对象 + **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 包含文档内容的消息对象 * **返回:** 分割后的文档列表 * **返回类型:** list * **抛出:** - * **ValueError** – 如果message.content不是ParseResult类型,抛出异常 - * **ValueError** – 如果splitter_type为空,抛出异常 - * **ValueError** – 如果ParseResult不包含原始值,抛出异常 - * **ValueError** – 如果splitter_type不是split_by_chunk或split_by_title,抛出异常 + * **ValueError** -- 如果message.content不是ParseResult类型,抛出异常 + * **ValueError** -- 如果splitter_type为空,抛出异常 + * **ValueError** -- 如果ParseResult不包含原始值,抛出异常 + * **ValueError** -- 如果splitter_type不是split_by_chunk或split_by_title,抛出异常 ### *class* appbuilder.core.components.doc_splitter.doc_splitter.TitleSplitter(meta: [ComponentArguments](appbuilder.core.md#appbuilder.core.component.ComponentArguments) | None = ComponentArguments(name='', tool_desc={}), secret_key: str | None = None, gateway: str = '', lazy_certification: bool = False) @@ -126,11 +126,11 @@ print(res_paras.content) 2、抵押房产如有共同所有人,借款人必须为之一,且其他共同所有人必须同意以该房产办理最高额抵押登记,并提供同意抵押的合法有效的书面文件。 切分结果: -: [“一、简介 叠贷业务是指借款人家庭为满足购房、购车、装修、教育、医疗、旅游、日常消费等符合国家法律法规规定的消费用途。”, - “二、申请条件 (一)基本条件 1、年满18周岁的自然人,具有完全民事行为能力,能提供有效身份证明或居留证明; 2、有稳定职业和收入, - 有偿还贷款本息的能力;”, - “二、申请条件 (二)抵押房产所有人的要求 1、抵押房产的所有人应为借款人本人。 2、抵押房产如有共同所有人,借款人必须为之一, - 且其他共同所有人必须同意以该房产办理最高额抵押登记,并提供同意抵押的合法有效的书面文件。”】 +: ["一、简介 叠贷业务是指借款人家庭为满足购房、购车、装修、教育、医疗、旅游、日常消费等符合国家法律法规规定的消费用途。", + "二、申请条件 (一)基本条件 1、年满18周岁的自然人,具有完全民事行为能力,能提供有效身份证明或居留证明; 2、有稳定职业和收入, + 有偿还贷款本息的能力;", + "二、申请条件 (二)抵押房产所有人的要求 1、抵押房产的所有人应为借款人本人。 2、抵押房产如有共同所有人,借款人必须为之一, + 且其他共同所有人必须同意以该房产办理最高额抵押登记,并提供同意抵押的合法有效的书面文件。"】 #### name *: str* *= 'doc_to_title_level'* @@ -139,13 +139,13 @@ print(res_paras.content) 对输入的解析文档结果,按照各标题层级,处理为多个段落结果 * **参数:** - **(****obj** (*input_message*) – Message): 上游docparser的文档解析结果 + **(****obj** (*input_message*) -- Message): 上游docparser的文档解析结果 * **返回:** Message: 文档分隔后的段落结果 * **返回类型:** obj * **抛出:** - **ValueError** – 如果message.content的类型不是ParseResult,则抛出异常 + **ValueError** -- 如果message.content的类型不是ParseResult,则抛出异常 Examples: diff --git a/docs/API-Reference/Python/appbuilder.core.components.document_understanding.md b/docs/API-Reference/Python/appbuilder.core.components.document_understanding.md new file mode 100644 index 000000000..b8a8c9f8f --- /dev/null +++ b/docs/API-Reference/Python/appbuilder.core.components.document_understanding.md @@ -0,0 +1,59 @@ +# appbuilder.core.components.document_understanding package + +## Submodules + +## appbuilder.core.components.document_understanding.component module + +Copyright (c) 2023 Baidu, Inc. All Rights Reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + +> [http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0) + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. + +### *class* appbuilder.core.components.document_understanding.component.DocumentUnderstanding(secret_key: str | None = None, gateway: str = '', lazy_certification: bool = False, instruction: [Message](appbuilder.core.md#appbuilder.core.message.Message) | None = None, addition_instruction: [Message](appbuilder.core.md#appbuilder.core.message.Message) | None = None, file_path: str | None = None, app_id: str | None = None) + +基类:[`Component`](appbuilder.core.md#appbuilder.core.component.Component) + +#### get_addition_instruction(addition_instruction: str) + +拼接addition_instruction + +#### get_conversation_id(app_id: str) + +#### get_file_id(conversation_id: str, app_id: str, file_path: str) + +#### manifests *= [{'description': '该工具支持对图片以及文档内容进行理解,并基于图片以及文档内容对用户的提问进行回答,包括但不限于文档内容问答、总结摘要、内容分析。', 'name': 'document_understanding', 'parameters': {'properties': {'addition_instruction': {'description': '用户增强指令', 'type': 'string'}, 'app_id': {'description': '系统应用ID', 'type': 'string'}, 'file_path': {'description': '用户上传的文档的文件路径', 'type': 'string'}, 'instruction': {'description': '用户指令', 'type': 'string'}, 'query': {'description': '用户输入的query', 'type': 'string'}}, 'required': ['query', 'file_path', 'instruction', 'addition_instruction', 'app_id'], 'type': 'object'}}]* + +#### meta + +`DocumentUnderstandingArgs` 的别名 + +#### name *= 'document_understanding'* + +#### run(message: [Message](appbuilder.core.md#appbuilder.core.message.Message), file_path, instruction='', addition_instruction='', app_id='', stream=False, timeout=None) + +run方法,用于执行长文档理解任务 +:param message: 用户输入query +:param file_path: 用户输入的文件路径 +:param instruction: 用户输入的人设指令 +:param addition_instruction: 用户输入的增强版指令(如有) +:param app_id: 用户输入的app_id + +* **返回:** + 模型运行后的输出消息。 +* **返回类型:** + result ([Message](appbuilder.core.md#appbuilder.core.message.Message)) + +#### tool_eval(message: [Message](appbuilder.core.md#appbuilder.core.message.Message), file_path: str, stream: bool = False, \*\*kwargs) + +用于function call + +#### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.embeddings.md b/docs/API-Reference/Python/appbuilder.core.components.embeddings.md similarity index 88% rename from docs/sphinx_md/appbuilder.core.components.embeddings.md rename to docs/API-Reference/Python/appbuilder.core.components.embeddings.md index 45a1c0c83..cd5cb2113 100644 --- a/docs/sphinx_md/appbuilder.core.components.embeddings.md +++ b/docs/API-Reference/Python/appbuilder.core.components.embeddings.md @@ -14,7 +14,7 @@ Embedding-V1是基于百度文心大模型技术的文本表示模型,将文 #### model -str = “Embedding-V1” +str = "Embedding-V1" ### 示例 @@ -40,7 +40,7 @@ embedding_batch = embedding.batch(Message(["hello", "world"])) 批量处理文本数据。 * **参数:** - **texts** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**str* *]* *]* *,* *List* *[**str* *]* *]*) – 待处理的文本数据,可以是 Message 类型,包含多个文本列表,也可以是普通列表类型,包含多个文本。 + **texts** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**str* *]* *]* *,* *List* *[**str* *]* *]*) -- 待处理的文本数据,可以是 Message 类型,包含多个文本列表,也可以是普通列表类型,包含多个文本。 * **返回:** 处理后的结果,为 Message 类型,包含一个二维浮点数列表,每个子列表对应输入文本列表中一个文本的处理结果。 * **返回类型:** @@ -57,7 +57,7 @@ embedding_batch = embedding.batch(Message(["hello", "world"])) 处理给定的文本或消息对象,并返回包含处理结果的消息对象。 * **参数:** - **text** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]* *,* *str* *]*) – 待处理的文本或消息对象。 + **text** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]* *,* *str* *]*) -- 待处理的文本或消息对象。 * **返回:** 处理后的结果,封装在消息对象中。结果是一个浮点数列表。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.excel2figure.md b/docs/API-Reference/Python/appbuilder.core.components.excel2figure.md similarity index 61% rename from docs/sphinx_md/appbuilder.core.components.excel2figure.md rename to docs/API-Reference/Python/appbuilder.core.components.excel2figure.md index 17630c492..a369ba294 100644 --- a/docs/sphinx_md/appbuilder.core.components.excel2figure.md +++ b/docs/API-Reference/Python/appbuilder.core.components.excel2figure.md @@ -13,10 +13,10 @@ excel2figure component excel2figure 组件类 * **参数:** - * **model** – str - * **secret_key** – Optional[str] - * **gateway** – str - * **lazy_certification** – bool + * **model** -- str + * **secret_key** -- Optional[str] + * **gateway** -- str + * **lazy_certification** -- bool #### excluded_models *: List[str]* *= ['Yi-34B-Chat', 'ChatLaw']* @@ -35,7 +35,7 @@ excel2figure 组件类 执行 excel2figure。 * **参数:** - **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 消息对象,其 content 属性是一个字典,包含以下键值对: + **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 消息对象,其 content 属性是一个字典,包含以下键值对: - query (str): 用户的问题。 - excel_file_url (str): 用户的 Excel 文件地址。 * **返回:** @@ -43,15 +43,15 @@ excel2figure 组件类 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **ValueError** – 当 message.content 解析失败时抛出此异常。 + **ValueError** -- 当 message.content 解析失败时抛出此异常。 #### set_secret_key_and_gateway(\*\*kwargs) 设置密钥和网关地址。 * **参数:** - * **secret_key** (*Optional* *[**str* *]* *,* *optional*) – 密钥,默认为None。如果未指定,则使用实例当前的密钥。 - * **gateway** (*str* *,* *optional*) – 网关地址,默认为空字符串。如果未指定,则使用实例当前的网关地址。 + * **secret_key** (*Optional* *[**str* *]* *,* *optional*) -- 密钥,默认为None。如果未指定,则使用实例当前的密钥。 + * **gateway** (*str* *,* *optional*) -- 网关地址,默认为空字符串。如果未指定,则使用实例当前的网关地址。 * **返回:** None @@ -60,17 +60,17 @@ excel2figure 组件类 对指定的Excel文件进行图表生成和评估。 * **参数:** - * **streaming** (*bool*) – 是否以流式传输方式返回结果。如果为True,则通过生成器返回结果;如果为False,则直接返回结果。 - * **origin_query** (*str*) – 原始查询字符串,用于在缺少其他查询参数时使用。 - * **file_urls** (*dict*) – 包含Excel文件信息的字典,其中键为文件名,值为文件URL。 - * **\*\*kwargs** – 其他关键字参数,可以包括查询字符串等。 + * **streaming** (*bool*) -- 是否以流式传输方式返回结果。如果为True,则通过生成器返回结果;如果为False,则直接返回结果。 + * **origin_query** (*str*) -- 原始查询字符串,用于在缺少其他查询参数时使用。 + * **file_urls** (*dict*) -- 包含Excel文件信息的字典,其中键为文件名,值为文件URL。 + * **\*\*kwargs** -- 其他关键字参数,可以包括查询字符串等。 * **返回:** 如果streaming为True,则通过生成器返回结果。每个结果是一个字典,包含以下键: - - event (str): 事件类型,始终为’excel_to_figure’。 - - type (str): 数据类型,始终为’files’。 + - event (str): 事件类型,始终为'excel_to_figure'。 + - type (str): 数据类型,始终为'files'。 - text (list of str): 包含生成的图表信息的列表。 如果streaming为False,则直接返回一个包含上述信息的字典。 * **抛出:** - * **ValueError** – 如果file_urls的长度不等于1,则抛出异常。 - * **RuntimeError** – 如果Excel文件到图表的转换失败或出现异常,则抛出异常。 + * **ValueError** -- 如果file_urls的长度不等于1,则抛出异常。 + * **RuntimeError** -- 如果Excel文件到图表的转换失败或出现异常,则抛出异常。 diff --git a/docs/sphinx_md/appbuilder.core.components.extract_table.md b/docs/API-Reference/Python/appbuilder.core.components.extract_table.md similarity index 80% rename from docs/sphinx_md/appbuilder.core.components.extract_table.md rename to docs/API-Reference/Python/appbuilder.core.components.extract_table.md index 0dd74ab8c..965b19487 100644 --- a/docs/sphinx_md/appbuilder.core.components.extract_table.md +++ b/docs/API-Reference/Python/appbuilder.core.components.extract_table.md @@ -49,13 +49,13 @@ logger.info("Tables: {}".format( 将文档原始解析结果,请求云端进行表格抽取,返回表格列表。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 文档原始解析结果。 - * **table_max_size** (*int*) – 单个表格的长度的最大值(包含上文),按字符数即len(table_str)统计,默认为800。如果表格超长,则会被拆 分成多个子表格,拆分的最小粒度为表格的行。若单行就超长,则会强制按table_max_size截断。截断时会优先截断上文,尽量保留表格内容。 - * **doc_node_num_before_table** (*int*) – 表格前附加的上文DocParser Node的数量,默认为1。范围:1~10。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 文档原始解析结果。 + * **table_max_size** (*int*) -- 单个表格的长度的最大值(包含上文),按字符数即len(table_str)统计,默认为800。如果表格超长,则会被拆 分成多个子表格,拆分的最小粒度为表格的行。若单行就超长,则会强制按table_max_size截断。截断时会优先截断上文,尽量保留表格内容。 + * **doc_node_num_before_table** (*int*) -- 表格前附加的上文DocParser Node的数量,默认为1。范围:1~10。 * **返回:** 返回解析后的消息实体对象 : Message.content (list): 解析出来的文档表格,list(二维)。解析出来的文档表格,如果元素长度为1,则对应原文档中格式化后的 长度不超过\`table_max_size\`的表格;如果元素长度>1,则是对应原文档中一个大表格,该表格被拆分成的多个子表格,以满足设置 大小。输出结果数据结构样例:[[{table1}], [{table2-part1}, {table2-part2}]] * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **ValueError** – 当输入参数不为文档原始解析结果时,或值不合法时,抛出异常。 + **ValueError** -- 当输入参数不为文档原始解析结果时,或值不合法时,抛出异常。 diff --git a/docs/sphinx_md/appbuilder.core.components.gbi.md b/docs/API-Reference/Python/appbuilder.core.components.gbi.md similarity index 100% rename from docs/sphinx_md/appbuilder.core.components.gbi.md rename to docs/API-Reference/Python/appbuilder.core.components.gbi.md diff --git a/docs/sphinx_md/appbuilder.core.components.gbi.nl2sql.md b/docs/API-Reference/Python/appbuilder.core.components.gbi.nl2sql.md similarity index 89% rename from docs/sphinx_md/appbuilder.core.components.gbi.nl2sql.md rename to docs/API-Reference/Python/appbuilder.core.components.gbi.nl2sql.md index 314004e68..a2121380e 100644 --- a/docs/sphinx_md/appbuilder.core.components.gbi.nl2sql.md +++ b/docs/API-Reference/Python/appbuilder.core.components.gbi.nl2sql.md @@ -21,15 +21,15 @@ gib nl2sql 执行自然语言转SQL操作。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 包含用户问题和会话历史的消息对象。 - message.content 是一个字典,包含以下关键字: > 1. query: 用户问题 > 2. session: 会话历史列表,参考 SessionRecord > 3. column_constraint: 列选约束,参考 ColumnItem 具体定义 - * **timeout** (*float*) – 超时时间,默认为60秒。 - * **retry** (*int*) – 重试次数,默认为0次。 + * **timeout** (*float*) -- 超时时间,默认为60秒。 + * **retry** (*int*) -- 重试次数,默认为0次。 * **返回:** 转换结果以Message对象形式返回,其中content属性包含NL2SqlResult对象。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.gbi.select_table.md b/docs/API-Reference/Python/appbuilder.core.components.gbi.select_table.md similarity index 79% rename from docs/sphinx_md/appbuilder.core.components.gbi.select_table.md rename to docs/API-Reference/Python/appbuilder.core.components.gbi.select_table.md index 438a0eb5d..cdd0ec0c8 100644 --- a/docs/sphinx_md/appbuilder.core.components.gbi.select_table.md +++ b/docs/API-Reference/Python/appbuilder.core.components.gbi.select_table.md @@ -17,17 +17,17 @@ gbi 选表 执行查询操作,返回识别的表名列表。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 包含查询信息的消息对象。 - message.content 字典包含以下 key: > 1. query (str): 用户的问题输入。 > 2. session (list, optional): 对话历史,默认为空列表。 - * **timeout** (*int* *,* *optional*) – 超时时间,默认为 60 秒。 - * **retry** (*int* *,* *optional*) – 重试次数,默认为 0。 + * **timeout** (*int* *,* *optional*) -- 超时时间,默认为 60 秒。 + * **retry** (*int* *,* *optional*) -- 重试次数,默认为 0。 * **返回:** 包含识别出的表名列表的 Message 对象。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message)[List[str]] * **抛出:** - **ValueError** – 如果输入的 message.content 不符合期望的格式,将抛出 ValueError 异常。 + **ValueError** -- 如果输入的 message.content 不符合期望的格式,将抛出 ValueError 异常。 diff --git a/docs/sphinx_md/appbuilder.core.components.general_ocr.md b/docs/API-Reference/Python/appbuilder.core.components.general_ocr.md similarity index 76% rename from docs/sphinx_md/appbuilder.core.components.general_ocr.md rename to docs/API-Reference/Python/appbuilder.core.components.general_ocr.md index f25a153a3..5be1c578b 100644 --- a/docs/sphinx_md/appbuilder.core.components.general_ocr.md +++ b/docs/API-Reference/Python/appbuilder.core.components.general_ocr.md @@ -37,11 +37,11 @@ print(out.content) 执行图片中的文字识别。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行识别操作。举例: Message(content={“raw_image”: b”…”}) 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”})。 - * **timeout** (*float* *,* *可选*) – HTTP超时时间。 - * **retry** (*int* *,* *可选*) – HTTP重试次数。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行识别操作。举例: Message(content={"raw_image": b"..."}) 或 Message(content={"url": "[https://image/download/url](https://image/download/url)"})。 + * **timeout** (*float* *,* *可选*) -- HTTP超时时间。 + * **retry** (*int* *,* *可选*) -- HTTP重试次数。 * **返回:** - 模型识别结果。举例: Message(content={“words_result”:[{“words”:”100”}, {“words”:”G8”}]})。 + 模型识别结果。举例: Message(content={"words_result":[{"words":"100"}, {"words":"G8"}]})。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) @@ -50,9 +50,9 @@ print(out.content) 根据给定的参数执行OCR识别功能。 * **参数:** - * **name** (*str*) – 函数名称,此处未使用,但为保持一致性保留。 - * **streaming** (*bool*) – 是否以流式方式返回结果。如果为True,则逐个返回结果,否则返回全部结果。 - * **kwargs** – 关键字参数,支持以下参数: + * **name** (*str*) -- 函数名称,此处未使用,但为保持一致性保留。 + * **streaming** (*bool*) -- 是否以流式方式返回结果。如果为True,则逐个返回结果,否则返回全部结果。 + * **kwargs** -- 关键字参数,支持以下参数: traceid (str): 请求的唯一标识符,用于追踪请求和响应。 img_url (str): 待识别图片的URL。 file_urls (dict): 包含文件名和对应URL的字典。如果提供了img_url,则忽略此参数。 @@ -61,6 +61,6 @@ print(out.content) 如果streaming为False,则返回包含识别结果的JSON字符串。 如果streaming为True,则逐个返回包含识别结果的字典。 * **抛出:** - **InvalidRequestArgumentError** – 如果请求格式错误(例如未设置文件名或指定文件名对应的URL不存在),则抛出此异常。 + **InvalidRequestArgumentError** -- 如果请求格式错误(例如未设置文件名或指定文件名对应的URL不存在),则抛出此异常。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.handwrite_ocr.md b/docs/API-Reference/Python/appbuilder.core.components.handwrite_ocr.md similarity index 78% rename from docs/sphinx_md/appbuilder.core.components.handwrite_ocr.md rename to docs/API-Reference/Python/appbuilder.core.components.handwrite_ocr.md index e424d5911..535f0f1db 100644 --- a/docs/sphinx_md/appbuilder.core.components.handwrite_ocr.md +++ b/docs/API-Reference/Python/appbuilder.core.components.handwrite_ocr.md @@ -39,9 +39,9 @@ print(out.content) 输入图片并识别其中的文字 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行识别操作.例如: Message(content={“raw_image”: b”…”}) 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”}). - * **timeout** (*float* *,* *optional*) – HTTP超时时间. 默认为None. - * **retry** (*int* *,* *optional*) – HTTP重试次数. 默认为0. + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行识别操作.例如: Message(content={"raw_image": b"..."}) 或 Message(content={"url": "[https://image/download/url](https://image/download/url)"}). + * **timeout** (*float* *,* *optional*) -- HTTP超时时间. 默认为None. + * **retry** (*int* *,* *optional*) -- HTTP重试次数. 默认为0. * **返回:** 手写体模型识别结果. * **返回类型:** @@ -52,15 +52,15 @@ print(out.content) 对指定文件或URL进行手写识别。 * **参数:** - * **name** (*str*) – 任务名称。 - * **streaming** (*bool*) – 是否以流式形式返回结果。 - * **kwargs** – 其他参数,包括: + * **name** (*str*) -- 任务名称。 + * **streaming** (*bool*) -- 是否以流式形式返回结果。 + * **kwargs** -- 其他参数,包括: traceid (str, optional): 请求的traceid,用于标识请求的唯一性。默认为None。 - file_names (List[str], optional): 待识别的文件名列表。默认为None,此时会从kwargs中获取’files’参数。 + file_names (List[str], optional): 待识别的文件名列表。默认为None,此时会从kwargs中获取'files'参数。 file_urls (Dict[str, str], optional): 文件名与URL的映射字典。默认为空字典。 * **返回:** 如果streaming为True,则以生成器形式返回识别结果,否则直接返回结果字符串。 * **抛出:** - **InvalidRequestArgumentError** – 如果请求格式错误,例如指定的文件名对应的URL不存在。 + **InvalidRequestArgumentError** -- 如果请求格式错误,例如指定的文件名对应的URL不存在。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.image_understand.md b/docs/API-Reference/Python/appbuilder.core.components.image_understand.md similarity index 78% rename from docs/sphinx_md/appbuilder.core.components.image_understand.md rename to docs/API-Reference/Python/appbuilder.core.components.image_understand.md index 67b47e5dd..e5559114b 100644 --- a/docs/sphinx_md/appbuilder.core.components.image_understand.md +++ b/docs/API-Reference/Python/appbuilder.core.components.image_understand.md @@ -39,10 +39,10 @@ print(out.content) 执行图像内容理解 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行识别操作. 举例: Message(content={“raw_image”: b”…”, “question”: “图片主要内容是什么?”}) - 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”, “question”: “图片主要内容是什么?”}). - * **timeout** (*float* *,* *optional*) – HTTP超时时间. 默认为 None. - * **retry** (*int* *,* *optional*) – HTTP重试次数. 默认为 0. + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行识别操作. 举例: Message(content={"raw_image": b"...", "question": "图片主要内容是什么?"}) + 或 Message(content={"url": "[https://image/download/url](https://image/download/url)", "question": "图片主要内容是什么?"}). + * **timeout** (*float* *,* *optional*) -- HTTP超时时间. 默认为 None. + * **retry** (*int* *,* *optional*) -- HTTP重试次数. 默认为 0. * **返回:** 模型识别结果. * **返回类型:** @@ -53,10 +53,10 @@ print(out.content) 用于工具的执行,调用底层接口进行图像内容理解 * **参数:** - * **name** (*str*) – 工具名 - * **streaming** (*bool*) – 是否流式返回 - * **origin_query** (*str*) – 用户原始query - * **\*\*kwargs** – 工具调用的额外关键字参数 + * **name** (*str*) -- 工具名 + * **streaming** (*bool*) -- 是否流式返回 + * **origin_query** (*str*) -- 用户原始query + * **\*\*kwargs** -- 工具调用的额外关键字参数 * **返回:** 图片内容理解结果 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.landmark_recognize.md b/docs/API-Reference/Python/appbuilder.core.components.landmark_recognize.md similarity index 75% rename from docs/sphinx_md/appbuilder.core.components.landmark_recognize.md rename to docs/API-Reference/Python/appbuilder.core.components.landmark_recognize.md index 0e94a9140..12395481d 100644 --- a/docs/sphinx_md/appbuilder.core.components.landmark_recognize.md +++ b/docs/API-Reference/Python/appbuilder.core.components.landmark_recognize.md @@ -30,12 +30,12 @@ with open("xxxx.jpg", "rb") as f: 执行地标识别任务 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息对象,包含待识别的图片或图片URL。 - 例如:Message(content={“raw_image”: b”…”}) 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”})。 - * **timeout** (*float* *,* *optional*) – HTTP请求的超时时间。默认为None。 - * **retry** (*int* *,* *optional*) – HTTP请求的重试次数。默认为0。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息对象,包含待识别的图片或图片URL。 + 例如:Message(content={"raw_image": b"..."}) 或 Message(content={"url": "[https://image/download/url](https://image/download/url)"})。 + * **timeout** (*float* *,* *optional*) -- HTTP请求的超时时间。默认为None。 + * **retry** (*int* *,* *optional*) -- HTTP请求的重试次数。默认为0。 * **返回:** 地标识别结果的消息对象。 - : 例如:Message(content={“landmark”: b”狮身人面像”}) + : 例如:Message(content={"landmark": b"狮身人面像"}) * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) diff --git a/docs/sphinx_md/appbuilder.core.components.llms.dialog_summary.md b/docs/API-Reference/Python/appbuilder.core.components.llms.dialog_summary.md similarity index 72% rename from docs/sphinx_md/appbuilder.core.components.llms.dialog_summary.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.dialog_summary.md index 88c6b8db3..3743ecc9f 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.dialog_summary.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.dialog_summary.md @@ -8,7 +8,7 @@ 基类:`CompletionBaseComponent` -会话小结大模型组件, 基于生成式大模型对一段用户与坐席的对话生成总结,结果按{“诉求”: “”, “回应”: “”, “解决情况”: “”}格式输出。 +会话小结大模型组件, 基于生成式大模型对一段用户与坐席的对话生成总结,结果按{"诉求": "", "回应": "", "解决情况": ""}格式输出。 Examples: @@ -36,12 +36,12 @@ print(answer) 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。 默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。 默认值为 0。 * **返回:** diff --git a/docs/sphinx_md/appbuilder.core.components.llms.hallucination_detection.md b/docs/API-Reference/Python/appbuilder.core.components.llms.hallucination_detection.md similarity index 77% rename from docs/sphinx_md/appbuilder.core.components.llms.hallucination_detection.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.hallucination_detection.md index d5400d62d..8a63b5a5d 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.hallucination_detection.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.hallucination_detection.md @@ -46,11 +46,11 @@ print(result) Send a byte array of an audio file to obtain the result of speech recognition. * **参数:** - * **version** (*str*) – API version. - * **base_url** (*str*) – Base URL of the API. - * **request** (*Request*) – Request object containing audio file and other parameters. - * **timeout** (*float* *,* *optional*) – Timeout for the request. Defaults to None. - * **retry** (*int* *,* *optional*) – Number of retries for the request. Defaults to 0. + * **version** (*str*) -- API version. + * **base_url** (*str*) -- Base URL of the API. + * **request** (*Request*) -- Request object containing audio file and other parameters. + * **timeout** (*float* *,* *optional*) -- Timeout for the request. Defaults to None. + * **retry** (*int* *,* *optional*) -- Number of retries for the request. Defaults to 0. * **返回:** Processed response object. * **返回类型:** @@ -69,28 +69,28 @@ Send a byte array of an audio file to obtain the result of speech recognition. 使用给定的输入运行模型并返回结果。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息,包含 query、context 和 answer。是必需的参数。 - * **stream** (*bool* *,* *可选*) – 是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息,包含 query、context 和 answer。是必需的参数。 + * **stream** (*bool* *,* *可选*) -- 是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。 取值范围为 0.0 到 1.0,较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。 取值范围为 0.0 到 1.0,较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** 模型运行后的输出消息。 * **返回类型:** result ([Message](appbuilder.core.md#appbuilder.core.message.Message)) * **抛出:** - * **AssertionError** – 如果输入的 message 中缺少 query、context 或 answer。 - * **AppBuilderServerException** – 如果请求执行失败,将抛出异常,包含服务错误码和错误信息。 + * **AssertionError** -- 如果输入的 message 中缺少 query、context 或 answer。 + * **AppBuilderServerException** -- 如果请求执行失败,将抛出异常,包含服务错误码和错误信息。 #### tool_eval(name: str, stream: bool = False, \*\*kwargs) 调用函数进行工具评估。 * **参数:** - * **name** (*str*) – 函数名,当前方法未使用此参数,预留接口。 - * **stream** (*bool* *,* *optional*) – 是否以流的方式返回结果,默认为False。如果为True,则逐个返回结果;如果为False,则一次性返回所有结果。 - * **\*\*kwargs** – + * **name** (*str*) -- 函数名,当前方法未使用此参数,预留接口。 + * **stream** (*bool* *,* *optional*) -- 是否以流的方式返回结果,默认为False。如果为True,则逐个返回结果;如果为False,则一次性返回所有结果。 + * **\*\*kwargs** -- 关键字参数,包含评估所需的输入参数。 - query (str): 查询语句。 @@ -102,6 +102,6 @@ Send a byte array of an audio file to obtain the result of speech recognition. * **返回:** 如果stream为False,返回包含所有评估结果的列表;如果stream为True,逐个返回评估结果。 * **抛出:** - **ValueError** – 如果缺少query、context或answer参数,将引发此异常。 + **ValueError** -- 如果缺少query、context或answer参数,将引发此异常。 #### version *: str* *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.llms.is_complex_query.md b/docs/API-Reference/Python/appbuilder.core.components.llms.is_complex_query.md similarity index 66% rename from docs/sphinx_md/appbuilder.core.components.llms.is_complex_query.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.is_complex_query.md index ede4feb93..a9c32c1a4 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.is_complex_query.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.is_complex_query.md @@ -41,10 +41,10 @@ print("Answer: \n{}".format(answer.content)) 给定输入(message)到模型运行,同时指定运行参数,并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.llms.md b/docs/API-Reference/Python/appbuilder.core.components.llms.md similarity index 100% rename from docs/sphinx_md/appbuilder.core.components.llms.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.md diff --git a/docs/sphinx_md/appbuilder.core.components.llms.mrc.md b/docs/API-Reference/Python/appbuilder.core.components.llms.mrc.md similarity index 58% rename from docs/sphinx_md/appbuilder.core.components.llms.mrc.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.mrc.md index 685a4b635..08ef170d8 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.mrc.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.mrc.md @@ -48,16 +48,16 @@ print(result) 运行阅读理解问答模型并返回结果。 * **参数:** - * **(****obj** (*context_list*) – Message): 输入消息,包含用户提出的问题。这是一个必需的参数。 - * **(****obj** – Message): 用户输入的问题对应的段落文本列表。这是一个必需的参数。 - * **reject** (*bool* *,* *可选*) – 拒答开关,如果为 True,则启用拒答能力。默认为 False。 - * **clarify** (*bool* *,* *可选*) – 澄清开关,如果为 True,则启用澄清能力。默认为 False。 - * **highlight** (*bool* *,* *可选*) – 重点强调开关,如果为 True,则启用重点强调能力。默认为 False。 - * **friendly** (*bool* *,* *可选*) – 友好性提升开关,如果为 True,则启用友好性提升能力。默认为 False。 - * **cite** (*bool* *,* *可选*) – 溯源开关,如果为 True,则启用溯源能力。默认为 False。 - * **stream** (*bool* *,* *可选*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*context_list*) -- Message): 输入消息,包含用户提出的问题。这是一个必需的参数。 + * **(****obj** -- Message): 用户输入的问题对应的段落文本列表。这是一个必需的参数。 + * **reject** (*bool* *,* *可选*) -- 拒答开关,如果为 True,则启用拒答能力。默认为 False。 + * **clarify** (*bool* *,* *可选*) -- 澄清开关,如果为 True,则启用澄清能力。默认为 False。 + * **highlight** (*bool* *,* *可选*) -- 重点强调开关,如果为 True,则启用重点强调能力。默认为 False。 + * **friendly** (*bool* *,* *可选*) -- 友好性提升开关,如果为 True,则启用友好性提升能力。默认为 False。 + * **cite** (*bool* *,* *可选*) -- 溯源开关,如果为 True,则启用溯源能力。默认为 False。 + * **stream** (*bool* *,* *可选*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.llms.nl2pandas.md b/docs/API-Reference/Python/appbuilder.core.components.llms.nl2pandas.md similarity index 65% rename from docs/sphinx_md/appbuilder.core.components.llms.nl2pandas.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.nl2pandas.md index d9bf1d518..3913aa222 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.nl2pandas.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.nl2pandas.md @@ -42,11 +42,11 @@ answer = nl2pandas(query, table_info = table_info) 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*table_info*) – Message): 输入问题,通常是针对表格信息的提问,如’海淀区的小学有哪些’。这是一个必需的参数。 - * **(****obj** – Message, optional): 表格信息,包括表格列名、对应列名的示例和释义。默认值为 None,但这是一个必需的参数。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*table_info*) -- Message): 输入问题,通常是针对表格信息的提问,如'海淀区的小学有哪些'。这是一个必需的参数。 + * **(****obj** -- Message, optional): 表格信息,包括表格列名、对应列名的示例和释义。默认值为 None,但这是一个必需的参数。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.llms.oral_query_generation.md b/docs/API-Reference/Python/appbuilder.core.components.llms.oral_query_generation.md similarity index 74% rename from docs/sphinx_md/appbuilder.core.components.llms.oral_query_generation.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.oral_query_generation.md index 02a51f76b..cfe950bb8 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.oral_query_generation.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.oral_query_generation.md @@ -50,13 +50,13 @@ Send a byte array of an audio file to obtain the result of speech recognition. 使用给定的输入运行模型并返回结果。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息,包含query、context和answer等信息。这是一个必需的参数。 - * **query_type** (*str* *,* *可选*) – 待生成的query类型,包括问题、短语和全部(问题+短语)。默认为全部。 - * **output_format** (*str* *,* *可选*) – 输出格式,包括json和str,当stream为True时,只能以json形式输出。默认为str。 - * **stream** (*bool* *,* *可选*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息,包含query、context和answer等信息。这是一个必需的参数。 + * **query_type** (*str* *,* *可选*) -- 待生成的query类型,包括问题、短语和全部(问题+短语)。默认为全部。 + * **output_format** (*str* *,* *可选*) -- 输出格式,包括json和str,当stream为True时,只能以json形式输出。默认为str。 + * **stream** (*bool* *,* *可选*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** 模型运行后的输出消息。 @@ -68,17 +68,17 @@ Send a byte array of an audio file to obtain the result of speech recognition. 调用函数进行工具评估。 * **参数:** - * **name** (*str*) – 评估工具的名称。 - * **stream** (*bool* *,* *optional*) – 是否以流的形式返回结果。默认为False。 - * **\*\*kwargs** – 关键字参数,可以包含以下参数: + * **name** (*str*) -- 评估工具的名称。 + * **stream** (*bool* *,* *optional*) -- 是否以流的形式返回结果。默认为False。 + * **\*\*kwargs** -- 关键字参数,可以包含以下参数: text (str): 需要评估的文本。 - query_type (str, optional): 查询类型,默认为’全部’。 - output_format (str, optional): 输出格式,默认为’str’。 + query_type (str, optional): 查询类型,默认为'全部'。 + output_format (str, optional): 输出格式,默认为'str'。 model_configs (dict, optional): 模型配置,默认为空字典。 * **返回:** 如果stream为False,则返回评估结果列表; 如果stream为True,则逐个返回评估结果。 * **抛出:** - **ValueError** – 如果未提供text参数,则抛出ValueError异常。 + **ValueError** -- 如果未提供text参数,则抛出ValueError异常。 #### version *: str* *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.llms.playground.md b/docs/API-Reference/Python/appbuilder.core.components.llms.playground.md similarity index 61% rename from docs/sphinx_md/appbuilder.core.components.llms.playground.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.playground.md index 11f92c75b..2c4fe647a 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.playground.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.playground.md @@ -34,18 +34,18 @@ play(appbuilder.Message({"name": "小明", "bot_name": "小红", "bot_type": " 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **stream** (*bool* *,* *可选*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **stream** (*bool* *,* *可选*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 - * **max_output_tokens** (*int* *,* *可选*) – 指定生成的文本的最大长度,默认最大输出token数为1024, 最小为2, + * **max_output_tokens** (*int* *,* *可选*) -- 指定生成的文本的最大长度,默认最大输出token数为1024, 最小为2, 最大输出token与选择的模型有关。 - * **disable_search** (*bool* *,* *可选*) – 是否强制关闭实时搜索功能,默认为 True,表示关闭。 - * **response_format** (*str* *,* *可选*) – 指定返回的消息格式,默认为 ‘text’,以文本模式返回。 - 可选 ‘json_object’,以 json 格式返回,但可能存在不满足效果的情况。 - * **stop** (*list* *[**str* *]* *,* *可选*) – 生成停止标识,当模型生成结果以 stop 中某个元素结尾时,停止文本生成。 + * **disable_search** (*bool* *,* *可选*) -- 是否强制关闭实时搜索功能,默认为 True,表示关闭。 + * **response_format** (*str* *,* *可选*) -- 指定返回的消息格式,默认为 'text',以文本模式返回。 + 可选 'json_object',以 json 格式返回,但可能存在不满足效果的情况。 + * **stop** (*list* *[**str* *]* *,* *可选*) -- 生成停止标识,当模型生成结果以 stop 中某个元素结尾时,停止文本生成。 每个元素长度不超过 20 字符,最多 4 个元素。 * **返回:** Message: 模型运行后的输出消息。 diff --git a/docs/sphinx_md/appbuilder.core.components.llms.qa_pair_mining.md b/docs/API-Reference/Python/appbuilder.core.components.llms.qa_pair_mining.md similarity index 55% rename from docs/sphinx_md/appbuilder.core.components.llms.qa_pair_mining.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.qa_pair_mining.md index 72dbbc898..b24b8d971 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.qa_pair_mining.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.qa_pair_mining.md @@ -23,10 +23,10 @@ Examples: 给定输入(message)到模型运行,同时指定运行参数,并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.llms.query_decomposition.md b/docs/API-Reference/Python/appbuilder.core.components.llms.query_decomposition.md similarity index 66% rename from docs/sphinx_md/appbuilder.core.components.llms.query_decomposition.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.query_decomposition.md index fe98c5896..e809a4290 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.query_decomposition.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.query_decomposition.md @@ -41,10 +41,10 @@ print("Answer: \n{}".format(answer.content)) 给定输入(message)到模型运行,同时指定运行参数,并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.llms.query_rewrite.md b/docs/API-Reference/Python/appbuilder.core.components.llms.query_rewrite.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.components.llms.query_rewrite.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.query_rewrite.md index 43fd6aa1b..5afe91de3 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.query_rewrite.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.query_rewrite.md @@ -38,14 +38,14 @@ answer = query_rewrite(appbuilder.Message(['我应该怎么办理护照?', 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **rewrite_type** (*str* *,* *可选*) – 改写类型选项,可选值为 ‘带机器人回复’(改写时参考user查询历史和assistant回复历史), - ‘仅用户查询’(改写时参考user查询历史)。默认为”带机器人回复”。 - * **stream** (*bool* *,* *可选*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **rewrite_type** (*str* *,* *可选*) -- 改写类型选项,可选值为 '带机器人回复'(改写时参考user查询历史和assistant回复历史), + '仅用户查询'(改写时参考user查询历史)。默认为"带机器人回复"。 + * **stream** (*bool* *,* *可选*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。 默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。 默认值为 0。 * **返回:** @@ -53,6 +53,6 @@ answer = query_rewrite(appbuilder.Message(['我应该怎么办理护照?', * **返回类型:** obj * **抛出:** - **ValueError** – 如果输入消息为空或不符合要求,将抛出 ValueError 异常。 + **ValueError** -- 如果输入消息为空或不符合要求,将抛出 ValueError 异常。 #### version *: str* *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.llms.similar_question.md b/docs/API-Reference/Python/appbuilder.core.components.llms.similar_question.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.components.llms.similar_question.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.similar_question.md index 06fa9b57a..1dead46a1 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.similar_question.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.similar_question.md @@ -42,10 +42,10 @@ print("Answer: \n{}".format(answer.content)) 给定输入(message)到模型运行,同时指定运行参数,并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **stream** (*bool* *,* *可选*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **stream** (*bool* *,* *可选*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** @@ -56,9 +56,9 @@ print("Answer: \n{}".format(answer.content)) 执行函数调用的评估工具。 * **参数:** - * **name** (*str*) – 函数名。 - * **streaming** (*bool* *,* *optional*) – 是否以流式方式输出结果。默认为False。 - * **\*\*kwargs** – + * **name** (*str*) -- 函数名。 + * **streaming** (*bool* *,* *optional*) -- 是否以流式方式输出结果。默认为False。 + * **\*\*kwargs** -- 其他关键字参数,包括: traceid (str, optional): 请求的追踪ID。 @@ -70,6 +70,6 @@ print("Answer: \n{}".format(answer.content)) 如果streaming为False,则返回评估结果的字符串表示。 如果streaming为True,则生成评估结果的字符串表示的迭代器。 * **抛出:** - **ValueError** – 如果未提供query参数,则抛出此异常。 + **ValueError** -- 如果未提供query参数,则抛出此异常。 #### version *: str* *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.llms.style_rewrite.md b/docs/API-Reference/Python/appbuilder.core.components.llms.style_rewrite.md similarity index 62% rename from docs/sphinx_md/appbuilder.core.components.llms.style_rewrite.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.style_rewrite.md index 10567fb42..a77e7dea5 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.style_rewrite.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.style_rewrite.md @@ -34,11 +34,11 @@ answer = style_rewrite(appbuilder.Message("文心大模型发布新版本"), sty 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **style** (*str* *,* *optional*) – 想要转换的文本风格,目前有营销、客服、直播、激励及教学五种话术可选。默认为”营销话术”。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **style** (*str* *,* *optional*) -- 想要转换的文本风格,目前有营销、客服、直播、激励及教学五种话术可选。默认为"营销话术"。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** @@ -49,14 +49,14 @@ answer = style_rewrite(appbuilder.Message("文心大模型发布新版本"), sty 执行工具评估函数 * **参数:** - * **name** (*str*) – 函数名称,本函数不使用该参数,但保留以符合某些框架的要求。 - * **streaming** (*bool* *,* *optional*) – 是否以流的形式返回结果。默认为 False,即一次性返回结果。如果设置为 True,则以生成器形式逐个返回结果。 - * **\*\*kwargs** – + * **name** (*str*) -- 函数名称,本函数不使用该参数,但保留以符合某些框架的要求。 + * **streaming** (*bool* *,* *optional*) -- 是否以流的形式返回结果。默认为 False,即一次性返回结果。如果设置为 True,则以生成器形式逐个返回结果。 + * **\*\*kwargs** -- 其他参数,包含但不限于: traceid (str): 请求的跟踪ID,用于日志记录和跟踪。 query (str): 待评估的文本。 - style (str, optional): 评估风格,可选值为 [‘营销话术’, ‘客服话术’, ‘直播话术’, ‘激励话术’, ‘教学话术’]。默认为 ‘营销话术’。 + style (str, optional): 评估风格,可选值为 ['营销话术', '客服话术', '直播话术', '激励话术', '教学话术']。默认为 '营销话术'。 model_configs (dict, optional): 模型配置参数,可选的键包括: > temperature (float, optional): 温度参数,用于控制生成文本的随机性。默认为 1e-10。 > top_p (float, optional): top_p 采样参数,用于控制生成文本的多样性。默认为 0.0。 @@ -64,6 +64,6 @@ answer = style_rewrite(appbuilder.Message("文心大模型发布新版本"), sty 如果 streaming 为 False,则直接返回评估结果字符串。 如果 streaming 为 True,则以生成器形式逐个返回评估结果字符串。 * **抛出:** - **ValueError** – 如果缺少参数 ‘query’。 + **ValueError** -- 如果缺少参数 'query'。 #### version *: str* *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.llms.style_writing.md b/docs/API-Reference/Python/appbuilder.core.components.llms.style_writing.md similarity index 76% rename from docs/sphinx_md/appbuilder.core.components.llms.style_writing.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.style_writing.md index d33f64173..f33e8621c 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.style_writing.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.style_writing.md @@ -35,13 +35,13 @@ answer = style_writing(appbuilder.Message("帮我写一篇关于人体工学椅 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*message*) – Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 - * **style_query** (*str*) – 风格查询选项,用于指定写作风格。有效的选项包括 ‘B站’, ‘小红书’, ‘通用’。默认值为 ‘通用’。 - * **length** (*int*) – 输出内容的长度。有效的选项包括 100(短),300(中),600(长)。默认值为 100。 - * **stream** (*bool* *,* *optional*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *optional*) – 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 - * **top_p** (*float* *,* *optional*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 - * **request_id** (*str* *,* *optional*) – 请求ID,用于跟踪和识别请求。 + * **(****obj** (*message*) -- Message): 输入消息,用于模型的主要输入内容。这是一个必需的参数。 + * **style_query** (*str*) -- 风格查询选项,用于指定写作风格。有效的选项包括 'B站', '小红书', '通用'。默认值为 '通用'。 + * **length** (*int*) -- 输出内容的长度。有效的选项包括 100(短),300(中),600(长)。默认值为 100。 + * **stream** (*bool* *,* *optional*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *optional*) -- 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 + * **top_p** (*float* *,* *optional*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0。 + * **request_id** (*str* *,* *optional*) -- 请求ID,用于跟踪和识别请求。 * **返回:** Message: 模型运行后的输出消息。 * **返回类型:** @@ -52,15 +52,15 @@ answer = style_writing(appbuilder.Message("帮我写一篇关于人体工学椅 对指定的工具进行函数调用评估。 * **参数:** - * **name** (*str*) – 工具名称。 - * **streaming** (*bool* *,* *optional*) – 是否以流的方式返回结果。默认为False。 - * **\*\*kwargs** – 其他参数。 + * **name** (*str*) -- 工具名称。 + * **streaming** (*bool* *,* *optional*) -- 是否以流的方式返回结果。默认为False。 + * **\*\*kwargs** -- 其他参数。 * **返回:** 如果 streaming 为 False,则返回评估结果字符串;如果 streaming 为 True,则返回一个生成器,每次迭代返回评估结果字符串的一部分。 * **返回类型:** str 或 generator * **抛出:** - **ValueError** – 如果未提供必要的参数 ‘query’。 + **ValueError** -- 如果未提供必要的参数 'query'。 #### version *: str* *= 'v1'* @@ -72,21 +72,21 @@ answer = style_writing(appbuilder.Message("帮我写一篇关于人体工学椅 #### message -Message = Field(…) +Message = Field(...) * **Type:** [appbuilder.core.message.Message](appbuilder.core.md#appbuilder.core.message.Message) #### style_query -StyleQueryChoices = Field(…) +StyleQueryChoices = Field(...) * **Type:** appbuilder.core.components.llms.style_writing.base.StyleQueryChoices #### length -LengthChoices = Field(…) +LengthChoices = Field(...) * **Type:** appbuilder.core.components.llms.style_writing.base.LengthChoices diff --git a/docs/sphinx_md/appbuilder.core.components.llms.tag_extraction.md b/docs/API-Reference/Python/appbuilder.core.components.llms.tag_extraction.md similarity index 76% rename from docs/sphinx_md/appbuilder.core.components.llms.tag_extraction.md rename to docs/API-Reference/Python/appbuilder.core.components.llms.tag_extraction.md index 1fbb62f50..c9a4ffc68 100644 --- a/docs/sphinx_md/appbuilder.core.components.llms.tag_extraction.md +++ b/docs/API-Reference/Python/appbuilder.core.components.llms.tag_extraction.md @@ -32,12 +32,12 @@ answer = tag_extraction(appbuilder.Message("从这段文本中抽取关键标签 使用给定的输入运行模型并返回结果。 * **参数:** - * **(****obj** (*message*) – Message, 必选): 输入消息,用于模型的主要输入内容。 - * **stream** (*bool* *,* *可选*) – 指定是否以流式形式返回响应。默认为 False。 - * **temperature** (*float* *,* *可选*) – 模型配置的温度参数,用于调整模型的生成概率。 + * **(****obj** (*message*) -- Message, 必选): 输入消息,用于模型的主要输入内容。 + * **stream** (*bool* *,* *可选*) -- 指定是否以流式形式返回响应。默认为 False。 + * **temperature** (*float* *,* *可选*) -- 模型配置的温度参数,用于调整模型的生成概率。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。 默认值为 1e-10。 - * **top_p** (*float* *,* *可选*) – 影响输出文本的多样性,取值越大,生成文本的多样性越强。 + * **top_p** (*float* *,* *可选*) -- 影响输出文本的多样性,取值越大,生成文本的多样性越强。 取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。 默认值为 0。 * **返回:** diff --git a/docs/sphinx_md/appbuilder.core.components.matching.md b/docs/API-Reference/Python/appbuilder.core.components.matching.md similarity index 82% rename from docs/sphinx_md/appbuilder.core.components.matching.md rename to docs/API-Reference/Python/appbuilder.core.components.matching.md index 6ed34d843..ff369bd44 100644 --- a/docs/sphinx_md/appbuilder.core.components.matching.md +++ b/docs/API-Reference/Python/appbuilder.core.components.matching.md @@ -41,9 +41,9 @@ print(contexts_matched.content) 根据给定的查询和上下文,返回匹配的上下文列表。 * **参数:** - * **query** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]* *,* *str* *]*) – 查询字符串或Message对象,包含查询字符串。 - * **contexts** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**str* *]* *]* *,* *List* *[**str* *]* *]*) – 上下文字符串列表或Message对象,包含上下文字符串列表。 - * **return_score** (*bool* *,* *optional*) – 是否返回匹配得分。默认为False。 + * **query** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]* *,* *str* *]*) -- 查询字符串或Message对象,包含查询字符串。 + * **contexts** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**str* *]* *]* *,* *List* *[**str* *]* *]*) -- 上下文字符串列表或Message对象,包含上下文字符串列表。 + * **return_score** (*bool* *,* *optional*) -- 是否返回匹配得分。默认为False。 * **返回:** 匹配的上下文列表。如果return_score为True,则返回包含得分和上下文的元组列表;否则仅返回上下文列表。 * **返回类型:** @@ -54,8 +54,8 @@ print(contexts_matched.content) 计算query和context的相似度 * **参数:** - * **query_embedding** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**float* *]* *]* *,* *List* *[**float* *]* *]*) – query的embedding,长度为n的数组 - * **context_embeddings** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**List* *[**float* *]* *]* *]* *,* *List* *[**List* *[**float* *]* *]* *]*) – context的embedding,长度为m x n的矩阵,其中m表示候选context的数量 + * **query_embedding** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**float* *]* *]* *,* *List* *[**float* *]* *]*) -- query的embedding,长度为n的数组 + * **context_embeddings** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**List* *[**float* *]* *]* *]* *,* *List* *[**List* *[**float* *]* *]* *]*) -- context的embedding,长度为m x n的矩阵,其中m表示候选context的数量 * **返回:** query和所有候选context的相似度列表 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.md b/docs/API-Reference/Python/appbuilder.core.components.md similarity index 94% rename from docs/sphinx_md/appbuilder.core.components.md rename to docs/API-Reference/Python/appbuilder.core.components.md index 55b6048b6..04801185b 100644 --- a/docs/sphinx_md/appbuilder.core.components.md +++ b/docs/API-Reference/Python/appbuilder.core.components.md @@ -69,6 +69,19 @@ * [`TitleSplitter.name`](appbuilder.core.components.doc_splitter.md#appbuilder.core.components.doc_splitter.doc_splitter.TitleSplitter.name) * [`TitleSplitter.run()`](appbuilder.core.components.doc_splitter.md#appbuilder.core.components.doc_splitter.doc_splitter.TitleSplitter.run) * [`TitleSplitter.tool_desc`](appbuilder.core.components.doc_splitter.md#appbuilder.core.components.doc_splitter.doc_splitter.TitleSplitter.tool_desc) +* [appbuilder.core.components.document_understanding package](appbuilder.core.components.document_understanding.md) + * [Submodules](appbuilder.core.components.document_understanding.md#submodules) + * [appbuilder.core.components.document_understanding.component module](appbuilder.core.components.document_understanding.md#module-appbuilder.core.components.document_understanding.component) + * [`DocumentUnderstanding`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding) + * [`DocumentUnderstanding.get_addition_instruction()`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.get_addition_instruction) + * [`DocumentUnderstanding.get_conversation_id()`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.get_conversation_id) + * [`DocumentUnderstanding.get_file_id()`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.get_file_id) + * [`DocumentUnderstanding.manifests`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.manifests) + * [`DocumentUnderstanding.meta`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.meta) + * [`DocumentUnderstanding.name`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.name) + * [`DocumentUnderstanding.run()`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.run) + * [`DocumentUnderstanding.tool_eval()`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.tool_eval) + * [`DocumentUnderstanding.version`](appbuilder.core.components.document_understanding.md#appbuilder.core.components.document_understanding.component.DocumentUnderstanding.version) * [appbuilder.core.components.embeddings package](appbuilder.core.components.embeddings.md) * [Submodules](appbuilder.core.components.embeddings.md#submodules) * [appbuilder.core.components.embeddings.component module](appbuilder.core.components.embeddings.md#module-appbuilder.core.components.embeddings.component) @@ -365,6 +378,15 @@ * [`Translation.run()`](appbuilder.core.components.translate.md#appbuilder.core.components.translate.component.Translation.run) * [`Translation.tool_eval()`](appbuilder.core.components.translate.md#appbuilder.core.components.translate.component.Translation.tool_eval) * [`Translation.version`](appbuilder.core.components.translate.md#appbuilder.core.components.translate.component.Translation.version) +* [appbuilder.core.components.tree_mind package](appbuilder.core.components.tree_mind.md) + * [Submodules](appbuilder.core.components.tree_mind.md#submodules) + * [appbuilder.core.components.tree_mind.component module](appbuilder.core.components.tree_mind.md#module-appbuilder.core.components.tree_mind.component) + * [`TreeMind`](appbuilder.core.components.tree_mind.md#appbuilder.core.components.tree_mind.component.TreeMind) + * [`TreeMind.manifests`](appbuilder.core.components.tree_mind.md#appbuilder.core.components.tree_mind.component.TreeMind.manifests) + * [`TreeMind.name`](appbuilder.core.components.tree_mind.md#appbuilder.core.components.tree_mind.component.TreeMind.name) + * [`TreeMind.run()`](appbuilder.core.components.tree_mind.md#appbuilder.core.components.tree_mind.component.TreeMind.run) + * [`TreeMind.tool_eval()`](appbuilder.core.components.tree_mind.md#appbuilder.core.components.tree_mind.component.TreeMind.tool_eval) + * [`TreeMind.version`](appbuilder.core.components.tree_mind.md#appbuilder.core.components.tree_mind.component.TreeMind.version) * [appbuilder.core.components.tts package](appbuilder.core.components.tts.md) * [Submodules](appbuilder.core.components.tts.md#submodules) * [appbuilder.core.components.tts.component module](appbuilder.core.components.tts.md#module-appbuilder.core.components.tts.component) diff --git a/docs/sphinx_md/appbuilder.core.components.mix_card_ocr.md b/docs/API-Reference/Python/appbuilder.core.components.mix_card_ocr.md similarity index 73% rename from docs/sphinx_md/appbuilder.core.components.mix_card_ocr.md rename to docs/API-Reference/Python/appbuilder.core.components.mix_card_ocr.md index f5397f15a..df7942037 100644 --- a/docs/sphinx_md/appbuilder.core.components.mix_card_ocr.md +++ b/docs/API-Reference/Python/appbuilder.core.components.mix_card_ocr.md @@ -42,10 +42,10 @@ print(out.content) 执行身份证识别操作 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 包含待识别图片或图片下载URL的Message对象. - 示例: Message(content={“raw_image”: b”…”}) 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”}). - * **timeout** (*float* *,* *可选*) – HTTP请求的超时时间,默认为None. - * **retry** (*int* *,* *可选*) – HTTP请求的重试次数,默认为0. + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 包含待识别图片或图片下载URL的Message对象. + 示例: Message(content={"raw_image": b"..."}) 或 Message(content={"url": "[https://image/download/url](https://image/download/url)"}). + * **timeout** (*float* *,* *可选*) -- HTTP请求的超时时间,默认为None. + * **retry** (*int* *,* *可选*) -- HTTP请求的重试次数,默认为0. * **返回:** 包含身份证识别结果的Message对象. * **返回类型:** @@ -56,16 +56,16 @@ print(out.content) 对指定文件进行OCR识别。 * **参数:** - * **name** (*str*) – API名称。 - * **streaming** (*bool*) – 是否流式输出。如果为True,则逐个返回识别结果;如果为False,则一次性返回所有识别结果。 - * **\*\*kwargs** – 其他参数。 + * **name** (*str*) -- API名称。 + * **streaming** (*bool*) -- 是否流式输出。如果为True,则逐个返回识别结果;如果为False,则一次性返回所有识别结果。 + * **\*\*kwargs** -- 其他参数。 * **返回:** 如果streaming为False,则返回包含所有识别结果的JSON字符串。 如果streaming为True,则逐个返回包含识别结果的字典,每个字典包含以下字段: - > type (str): 消息类型,固定为”text”。 + > type (str): 消息类型,固定为"text"。 > text (str): 识别结果的JSON字符串。 - > visible_scope (str): 消息可见范围,可以是”llm”或”user”。 + > visible_scope (str): 消息可见范围,可以是"llm"或"user"。 * **抛出:** - **InvalidRequestArgumentError** – 如果请求格式错误,即文件URL不存在时抛出。 + **InvalidRequestArgumentError** -- 如果请求格式错误,即文件URL不存在时抛出。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.object_recognize.md b/docs/API-Reference/Python/appbuilder.core.components.object_recognize.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.components.object_recognize.md rename to docs/API-Reference/Python/appbuilder.core.components.object_recognize.md index 8cae40ecb..ed5f25984 100644 --- a/docs/sphinx_md/appbuilder.core.components.object_recognize.md +++ b/docs/API-Reference/Python/appbuilder.core.components.object_recognize.md @@ -35,15 +35,15 @@ print(out.content) 通用物体识别 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行识别操作。 - 例如: Message(content={“raw_image”: b”…”}) 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”})。 - * **timeout** (*float* *,* *optional*) – HTTP超时时间,默认为None。 - * **retry** (*int* *,* *optional*) – HTTP重试次数,默认为0。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行识别操作。 + 例如: Message(content={"raw_image": b"..."}) 或 Message(content={"url": "[https://image/download/url](https://image/download/url)"})。 + * **timeout** (*float* *,* *optional*) -- HTTP超时时间,默认为None。 + * **retry** (*int* *,* *optional*) -- HTTP重试次数,默认为0。 * **返回:** 模型识别结果。 - : 例如: Message(content={“result”:[{“keyword”:”苹果”, - : ”score”:0.94553,”root”:”植物-蔷薇科”},{“keyword”:”姬娜果”,”score”:0.730442,”root”:”植物-其它”}, - {“keyword”:”红富士”,”score”:0.505194,”root”:”植物-其它”}]}) + : 例如: Message(content={"result":[{"keyword":"苹果", + : "score":0.94553,"root":"植物-蔷薇科"},{"keyword":"姬娜果","score":0.730442,"root":"植物-其它"}, + {"keyword":"红富士","score":0.505194,"root":"植物-其它"}]}) * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) @@ -52,9 +52,9 @@ print(out.content) 评估并识别传入图像中的物体或场景。 * **参数:** - * **name** (*str*) – 调用此方法的对象名称。 - * **streaming** (*bool*) – 是否以流式方式返回结果。如果是True,则以生成器形式返回结果;如果是False,则直接返回字符串形式的识别结果。 - * **\*\*kwargs** – 任意关键字参数,支持以下参数: + * **name** (*str*) -- 调用此方法的对象名称。 + * **streaming** (*bool*) -- 是否以流式方式返回结果。如果是True,则以生成器形式返回结果;如果是False,则直接返回字符串形式的识别结果。 + * **\*\*kwargs** -- 任意关键字参数,支持以下参数: traceid (str, optional): 请求的追踪ID,用于追踪请求处理流程。默认为None。 img_url (str, optional): 待识别图像的URL地址。默认为None,如果未指定,则尝试从file_urls和img_name参数中获取图像路径。 file_urls (dict, optional): 包含文件名和对应URL的字典。默认为空字典。 @@ -62,12 +62,12 @@ print(out.content) score_threshold (float, optional): 置信度阈值,低于此阈值的识别结果将被忽略。默认为0.5。 * **返回:** 如果streaming为True,则返回一个生成器,生成器中的元素为包含识别结果的字典,字典包含以下键: - : type (str): 结果类型,固定为”text”。 + : type (str): 结果类型,固定为"text"。 text (str): 识别结果的JSON字符串表示。 - visible_scope (str): 结果的可见范围,’llm’表示仅对LLM可见,’user’表示对用户可见。 + visible_scope (str): 结果的可见范围,'llm'表示仅对LLM可见,'user'表示对用户可见。 如果streaming为False,则直接返回识别结果的JSON字符串表示。 * **抛出:** - **InvalidRequestArgumentError** – 如果请求格式错误(如未设置文件名或文件URL不存在),则抛出此异常。 + **InvalidRequestArgumentError** -- 如果请求格式错误(如未设置文件名或文件URL不存在),则抛出此异常。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.plant_recognize.md b/docs/API-Reference/Python/appbuilder.core.components.plant_recognize.md similarity index 81% rename from docs/sphinx_md/appbuilder.core.components.plant_recognize.md rename to docs/API-Reference/Python/appbuilder.core.components.plant_recognize.md index 93b8f33b1..77333ed07 100644 --- a/docs/sphinx_md/appbuilder.core.components.plant_recognize.md +++ b/docs/API-Reference/Python/appbuilder.core.components.plant_recognize.md @@ -45,10 +45,10 @@ print(out.content) 输入图片并识别其中的植物 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行识别操作. 举例: Message(content={“raw_image”: b”…”}) - * **Message****(****content={"url"** ( *或*) – “[https://image/download/uel](https://image/download/uel)”}). - * **timeout** (*float* *,* *optional*) – HTTP超时时间,默认为None - * **retry** (*int* *,* *optional*) – HTTP重试次数,默认为0 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行识别操作. 举例: Message(content={"raw_image": b"..."}) + * **Message****(****content={"url"** ( *或*) -- "[https://image/download/uel](https://image/download/uel)"}). + * **timeout** (*float* *,* *optional*) -- HTTP超时时间,默认为None + * **retry** (*int* *,* *optional*) -- HTTP重试次数,默认为0 * **返回:** 模型识别结果 * **返回类型:** @@ -59,10 +59,10 @@ print(out.content) 用于工具的执行,通过调用底层接口进行植物识别 * **参数:** - * **name** (*str*) – 工具名 - * **streaming** (*bool*) – 是否流式返回 - * **origin_query** (*str*) – 用户原始query - * **\*\*kwargs** – 工具调用的额外关键字参数 + * **name** (*str*) -- 工具名 + * **streaming** (*bool*) -- 是否流式返回 + * **origin_query** (*str*) -- 用户原始query + * **\*\*kwargs** -- 工具调用的额外关键字参数 * **返回:** 植物识别结果,包括识别出的植物类别和相应的置信度信息 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.ppt_generation_from_file.md b/docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_file.md similarity index 68% rename from docs/sphinx_md/appbuilder.core.components.ppt_generation_from_file.md rename to docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_file.md index 736863a2c..5b0b3cec3 100644 --- a/docs/sphinx_md/appbuilder.core.components.ppt_generation_from_file.md +++ b/docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_file.md @@ -31,14 +31,14 @@ print(answer.content) 获取PPT下载链接 * **参数:** - * **job_id** (*str*) – 任务ID - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None。 + * **job_id** (*str*) -- 任务ID + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None。 * **返回:** PPT下载链接 * **返回类型:** str * **抛出:** - **Exception** – PPT生成请求错误 + **Exception** -- PPT生成请求错误 #### get_ppt_download_link_url *= '/ppt/text2ppt/apps/ppt-download'* @@ -47,16 +47,16 @@ print(answer.content) 轮询查看PPT生成状态 * **参数:** - * **job_id** (*str*) – PPT生成任务的唯一标识符 - * **request_times** (*int* *,* *optional*) – 轮询请求次数,默认为60次。 - * **request_interval** (*int* *,* *optional*) – 每次轮询请求的间隔时间(秒),默认为5秒。 - * **timeout** (*float* *,* *optional*) – 请求的超时时间(秒),默认为None,即无超时限制。 + * **job_id** (*str*) -- PPT生成任务的唯一标识符 + * **request_times** (*int* *,* *optional*) -- 轮询请求次数,默认为60次。 + * **request_interval** (*int* *,* *optional*) -- 每次轮询请求的间隔时间(秒),默认为5秒。 + * **timeout** (*float* *,* *optional*) -- 请求的超时时间(秒),默认为None,即无超时限制。 * **返回:** PPT生成状态码,1表示正在生成,2表示生成完成,3表示生成失败。 * **返回类型:** int * **抛出:** - **Exception** – 如果PPT生成状态码不为2(生成完成),则抛出异常。 + **Exception** -- 如果PPT生成状态码不为2(生成完成),则抛出异常。 #### get_ppt_generation_status_url *= '/ppt/text2ppt/apps/ppt-result'* @@ -73,14 +73,14 @@ print(answer.content) 创建PPT生成任务 * **参数:** - * **post_data** (*dict*) – 包含PPT生成任务所需数据的字典 - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None,表示不设置超时时间。 + * **post_data** (*dict*) -- 包含PPT生成任务所需数据的字典 + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None,表示不设置超时时间。 * **返回:** PPT生成任务的Job ID * **返回类型:** str * **抛出:** - **Exception** – 如果PPT生成任务请求失败,抛出异常 + **Exception** -- 如果PPT生成任务请求失败,抛出异常 #### ppt_generation_url *= '/ppt/text2ppt/apps/ppt-create-file'* @@ -89,9 +89,9 @@ print(answer.content) 使用给定的输入运行模型并返回结果。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息,用于传入请求参数。 - * **poll_request_times** (*int*) – 轮询请求结果次数。 - * **poll_request_interval** (*int*) – 轮询请求的间隔时间(秒)。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息,用于传入请求参数。 + * **poll_request_times** (*int*) -- 轮询请求结果次数。 + * **poll_request_interval** (*int*) -- 轮询请求的间隔时间(秒)。 * **返回:** 模型运行后的输出消息。 * **返回类型:** @@ -102,13 +102,13 @@ print(answer.content) 用于执行function call的功能。 * **参数:** - * **stream** (*bool* *,* *optional*) – 是否以生成器的方式返回结果,默认为False。 - * **\*\*kwargs** – 任意关键字参数,目前只支持’file_url’。 + * **stream** (*bool* *,* *optional*) -- 是否以生成器的方式返回结果,默认为False。 + * **\*\*kwargs** -- 任意关键字参数,目前只支持'file_url'。 * **返回:** 如果stream为False,则返回一个字符串,表示ppt下载链接。 如果stream为True,则返回一个生成器,生成器产生一个字符串,表示ppt下载链接。 * **抛出:** - **ValueError** – 如果’file_url’为空,则抛出异常。 + **ValueError** -- 如果'file_url'为空,则抛出异常。 #### uniform_prefix *= '/api/v1/component/component'* diff --git a/docs/sphinx_md/appbuilder.core.components.ppt_generation_from_instruction.md b/docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_instruction.md similarity index 67% rename from docs/sphinx_md/appbuilder.core.components.ppt_generation_from_instruction.md rename to docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_instruction.md index 5bfcdea93..b2d888aa6 100644 --- a/docs/sphinx_md/appbuilder.core.components.ppt_generation_from_instruction.md +++ b/docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_instruction.md @@ -34,14 +34,14 @@ print(answer.content) 获取PPT下载链接 * **参数:** - * **job_id** (*str*) – 作业ID - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None。 + * **job_id** (*str*) -- 作业ID + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None。 * **返回:** PPT下载链接 * **返回类型:** str * **抛出:** - **Exception** – 当PPT生成请求失败时抛出异常 + **Exception** -- 当PPT生成请求失败时抛出异常 #### get_ppt_download_link_url *= '/ppt/text2ppt/apps/ppt-download'* @@ -50,10 +50,10 @@ print(answer.content) 轮询查看PPT生成状态 * **参数:** - * **job_id** (*str*) – PPT生成任务的唯一标识符 - * **request_times** (*int* *,* *optional*) – 轮询请求的次数,默认为60次。 - * **request_interval** (*int* *,* *optional*) – 每次轮询请求之间的间隔时间(秒),默认为5秒。 - * **timeout** (*float* *,* *optional*) – 请求的超时时间(秒)。如果未设置,则使用http_client的默认超时时间。 + * **job_id** (*str*) -- PPT生成任务的唯一标识符 + * **request_times** (*int* *,* *optional*) -- 轮询请求的次数,默认为60次。 + * **request_interval** (*int* *,* *optional*) -- 每次轮询请求之间的间隔时间(秒),默认为5秒。 + * **timeout** (*float* *,* *optional*) -- 请求的超时时间(秒)。如果未设置,则使用http_client的默认超时时间。 * **返回:** PPT生成状态码。 : - 1:正在生成 @@ -62,7 +62,7 @@ print(answer.content) * **返回类型:** int * **抛出:** - **Exception** – PPT生成过程中出现异常时抛出。 + **Exception** -- PPT生成过程中出现异常时抛出。 #### get_ppt_generation_status_url *= '/ppt/text2ppt/apps/ppt-result'* @@ -79,14 +79,14 @@ print(answer.content) 创建PPT生成任务 * **参数:** - * **post_data** (*dict*) – 请求数据 - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None. + * **post_data** (*dict*) -- 请求数据 + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None. * **返回:** 任务ID * **返回类型:** str * **抛出:** - **Exception** – PPT生成请求失败 + **Exception** -- PPT生成请求失败 #### ppt_generation_url *= '/ppt/text2ppt/apps/ppt-create'* @@ -95,9 +95,9 @@ print(answer.content) 使用给定的输入运行模型并返回结果。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息,用于传入请求参数。 - * **poll_request_times** (*int* *,* *optional*) – 轮询请求结果次数,默认为60。 - * **poll_request_interval** (*int* *,* *optional*) – 轮询请求的间隔时间(秒),默认为5。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息,用于传入请求参数。 + * **poll_request_times** (*int* *,* *optional*) -- 轮询请求结果次数,默认为60。 + * **poll_request_interval** (*int* *,* *optional*) -- 轮询请求的间隔时间(秒),默认为5。 * **返回:** 模型运行后的输出消息,包含PPT下载链接。 * **返回类型:** @@ -108,12 +108,12 @@ print(answer.content) 评估给定的文本内容。 * **参数:** - * **stream** (*bool* *,* *optional*) – 是否以生成器形式返回结果,默认为False。如果为True,则逐个生成下载链接;如果为False,则直接返回下载链接。 - * **\*\*kwargs** – 关键字参数,可以传递其他参数,但当前只使用 ‘text’ 参数。 + * **stream** (*bool* *,* *optional*) -- 是否以生成器形式返回结果,默认为False。如果为True,则逐个生成下载链接;如果为False,则直接返回下载链接。 + * **\*\*kwargs** -- 关键字参数,可以传递其他参数,但当前只使用 'text' 参数。 * **返回:** 如果 stream 为 False,则返回一个包含下载链接的字符串;如果 stream 为 True,则逐个生成下载链接。 * **抛出:** - **ValueError** – 如果 ‘text’ 参数为空,则抛出此异常。 + **ValueError** -- 如果 'text' 参数为空,则抛出此异常。 #### uniform_prefix *= '/api/v1/component/component'* diff --git a/docs/sphinx_md/appbuilder.core.components.ppt_generation_from_paper.md b/docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_paper.md similarity index 67% rename from docs/sphinx_md/appbuilder.core.components.ppt_generation_from_paper.md rename to docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_paper.md index 4ef1c6a6b..cd355a311 100644 --- a/docs/sphinx_md/appbuilder.core.components.ppt_generation_from_paper.md +++ b/docs/API-Reference/Python/appbuilder.core.components.ppt_generation_from_paper.md @@ -31,14 +31,14 @@ print(answer.content) 获取PPT下载链接 * **参数:** - * **job_id** (*str*) – 任务ID - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None. + * **job_id** (*str*) -- 任务ID + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None. * **返回:** PPT下载链接 * **返回类型:** str * **抛出:** - **Exception** – PPT生成请求失败 + **Exception** -- PPT生成请求失败 #### get_ppt_download_link_url *= '/ppt/text2ppt/apps/ppt-download'* @@ -47,10 +47,10 @@ print(answer.content) 轮询查看PPT生成状态 * **参数:** - * **job_id** (*str*) – 任务ID - * **request_times** (*int* *,* *optional*) – 请求次数,默认为60次。 - * **request_interval** (*int* *,* *optional*) – 请求间隔时间,默认为5秒。 - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None,即不设置超时时间。 + * **job_id** (*str*) -- 任务ID + * **request_times** (*int* *,* *optional*) -- 请求次数,默认为60次。 + * **request_interval** (*int* *,* *optional*) -- 请求间隔时间,默认为5秒。 + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None,即不设置超时时间。 * **返回:** PPT生成状态码。 : - 1: PPT正在生成中 @@ -59,7 +59,7 @@ print(answer.content) * **返回类型:** int * **抛出:** - **Exception** – PPT生成失败或请求失败时抛出异常。 + **Exception** -- PPT生成失败或请求失败时抛出异常。 #### get_ppt_generation_status_url *= '/ppt/text2ppt/apps/ppt-result'* @@ -76,14 +76,14 @@ print(answer.content) 创建PPT生成任务 * **参数:** - * **post_data** (*dict*) – 发送的POST请求体数据 - * **timeout** (*float* *,* *optional*) – 请求超时时间,默认为None。 + * **post_data** (*dict*) -- 发送的POST请求体数据 + * **timeout** (*float* *,* *optional*) -- 请求超时时间,默认为None。 * **返回:** 返回的任务ID * **返回类型:** str * **抛出:** - **Exception** – 如果PPT生成请求失败,抛出异常 + **Exception** -- 如果PPT生成请求失败,抛出异常 #### ppt_generation_url *= '/ppt/text2ppt/apps/ppt-create-thesis'* @@ -92,28 +92,28 @@ print(answer.content) 使用给定的输入运行模型并返回结果。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入消息,用于传入请求参数。 - * **poll_request_times** (*int*) – 轮询请求结果次数,默认为60次。 - * **poll_request_interval** (*int*) – 轮询请求的间隔时间(秒),默认为5秒。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入消息,用于传入请求参数。 + * **poll_request_times** (*int*) -- 轮询请求结果次数,默认为60次。 + * **poll_request_interval** (*int*) -- 轮询请求的间隔时间(秒),默认为5秒。 * **返回:** 模型运行后的输出消息,包含PPT下载链接。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **Exception** – 当输入参数中缺少必要的键时,抛出异常。 + **Exception** -- 当输入参数中缺少必要的键时,抛出异常。 #### tool_eval(stream: bool = False, \*\*kwargs) 使用指定的file_key来评估并获取相应的结果。 * **参数:** - * **stream** (*bool* *,* *optional*) – 是否以生成器的方式逐项返回结果,默认为False。 - * **\*\*kwargs** – 关键字参数,用于传递其他参数,目前仅支持file_key。 + * **stream** (*bool* *,* *optional*) -- 是否以生成器的方式逐项返回结果,默认为False。 + * **\*\*kwargs** -- 关键字参数,用于传递其他参数,目前仅支持file_key。 * **返回:** 如果stream为False,则直接返回结果。 如果stream为True,则逐个返回结果。 * **抛出:** - **ValueError** – 如果参数file_key为空,则抛出异常。 + **ValueError** -- 如果参数file_key为空,则抛出异常。 #### uniform_prefix *= '/api/v1/component/component'* diff --git a/docs/sphinx_md/appbuilder.core.components.qrcode_ocr.md b/docs/API-Reference/Python/appbuilder.core.components.qrcode_ocr.md similarity index 62% rename from docs/sphinx_md/appbuilder.core.components.qrcode_ocr.md rename to docs/API-Reference/Python/appbuilder.core.components.qrcode_ocr.md index 723fd30fd..78c18175f 100644 --- a/docs/sphinx_md/appbuilder.core.components.qrcode_ocr.md +++ b/docs/API-Reference/Python/appbuilder.core.components.qrcode_ocr.md @@ -34,40 +34,40 @@ print(out.content) 执行二维码识别操作。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入的图片或图片URL下载地址,用于执行识别操作。例如: - Message(content={“raw_image”: b”…”, “location”: “”}) 或 - Message(content={“url”: “[https://image/download/url](https://image/download/url)”})。 - * **location** (*str* *,* *可选*) – 是否需要返回二维码位置信息,默认为 “true”。 - * **timeout** (*float* *,* *可选*) – HTTP请求的超时时间。 - * **retry** (*int* *,* *可选*) – HTTP请求的重试次数。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入的图片或图片URL下载地址,用于执行识别操作。例如: + Message(content={"raw_image": b"...", "location": ""}) 或 + Message(content={"url": "[https://image/download/url](https://image/download/url)"})。 + * **location** (*str* *,* *可选*) -- 是否需要返回二维码位置信息,默认为 "true"。 + * **timeout** (*float* *,* *可选*) -- HTTP请求的超时时间。 + * **retry** (*int* *,* *可选*) -- HTTP请求的重试次数。 * **返回:** 识别结果,包含识别到的二维码信息。例如: - : Message(name=msg, content={‘codes_result’: [{‘type’: ‘QR_CODE’, ‘text’: [’[http://weixin.qq.com/r/cS7M1PHE5qyZrbW393tj](http://weixin.qq.com/r/cS7M1PHE5qyZrbW393tj)’], - : ’location’: {‘top’: 63, ‘left’: 950, ‘width’: 220, ‘height’: 211}}, …]}, mtype=dict) + : Message(name=msg, content={'codes_result': [{'type': 'QR_CODE', 'text': ['[http://weixin.qq.com/r/cS7M1PHE5qyZrbW393tj](http://weixin.qq.com/r/cS7M1PHE5qyZrbW393tj)'], + : 'location': {'top': 63, 'left': 950, 'width': 220, 'height': 211}}, ...]}, mtype=dict) * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **InvalidRequestArgumentError** – 如果 location 参数非法,将抛出该异常。 + **InvalidRequestArgumentError** -- 如果 location 参数非法,将抛出该异常。 #### tool_eval(name: str, streaming: bool, \*\*kwargs) 评估工具函数 * **参数:** - * **name** (*str*) – 工具名称 - * **streaming** (*bool*) – 是否流式输出 - * **\*\*kwargs** – 其他关键字参数 + * **name** (*str*) -- 工具名称 + * **streaming** (*bool*) -- 是否流式输出 + * **\*\*kwargs** -- 其他关键字参数 * **关键字参数:** - * **traceid** (*str*) – 请求的traceid - * **file_names** (*List* *[**str* *]*) – 文件名列表 - * **locations** (*str*) – 是否需要获取位置信息,可选值为’true’或’false’,默认为’false’ - * **file_urls** (*Dict* *[**str* *,* *str* *]*) – 文件名到文件URL的映射 + * **traceid** (*str*) -- 请求的traceid + * **file_names** (*List* *[**str* *]*) -- 文件名列表 + * **locations** (*str*) -- 是否需要获取位置信息,可选值为'true'或'false',默认为'false' + * **file_urls** (*Dict* *[**str* *,* *str* *]*) -- 文件名到文件URL的映射 * **返回:** 如果streaming为True,则返回一个生成器,生成两个字典,分别代表LLM和用户可见的内容; : 如果streaming为False,则返回一个JSON字符串,包含评估结果 * **返回类型:** Union[str, Generator[Dict[str, Any], None, None]] * **抛出:** - **InvalidRequestArgumentError** – 如果请求格式错误,或者位置信息不合法,则抛出该异常 + **InvalidRequestArgumentError** -- 如果请求格式错误,或者位置信息不合法,则抛出该异常 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.rag_with_baidu_search.md b/docs/API-Reference/Python/appbuilder.core.components.rag_with_baidu_search.md similarity index 50% rename from docs/sphinx_md/appbuilder.core.components.rag_with_baidu_search.md rename to docs/API-Reference/Python/appbuilder.core.components.rag_with_baidu_search.md index 790c6bbe2..52c3092f3 100644 --- a/docs/sphinx_md/appbuilder.core.components.rag_with_baidu_search.md +++ b/docs/API-Reference/Python/appbuilder.core.components.rag_with_baidu_search.md @@ -17,21 +17,21 @@ 执行模型推理 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 用户输入的消息对象 - * **instruction** (*Instruction* *,* *optional*) – 用户提供的指令信息,默认为None。如果未提供,则使用默认的指令信息。 - * **reject** (*bool* *,* *optional*) – 是否拒绝执行,默认为None。如果未提供,则使用默认设置。 - * **clarify** (*bool* *,* *optional*) – 是否需要澄清,默认为None。如果未提供,则使用默认设置。 - * **highlight** (*bool* *,* *optional*) – 是否高亮显示,默认为None。如果未提供,则使用默认设置。 - * **friendly** (*bool* *,* *optional*) – 是否以友好的方式回答,默认为None。如果未提供,则使用默认设置。 - * **cite** (*bool* *,* *optional*) – 是否引用原始信息,默认为None。如果未提供,则使用默认设置。 - * **stream** (*bool* *,* *optional*) – 是否以流式方式返回结果,默认为False。 - * **temperature** (*float* *,* *optional*) – 温度参数,用于控制生成文本的多样性,默认为1e-10。 - * **top_p** (*float* *,* *optional*) – 截断概率阈值,用于控制生成文本的多样性,默认为1e-10。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 用户输入的消息对象 + * **instruction** (*Instruction* *,* *optional*) -- 用户提供的指令信息,默认为None。如果未提供,则使用默认的指令信息。 + * **reject** (*bool* *,* *optional*) -- 是否拒绝执行,默认为None。如果未提供,则使用默认设置。 + * **clarify** (*bool* *,* *optional*) -- 是否需要澄清,默认为None。如果未提供,则使用默认设置。 + * **highlight** (*bool* *,* *optional*) -- 是否高亮显示,默认为None。如果未提供,则使用默认设置。 + * **friendly** (*bool* *,* *optional*) -- 是否以友好的方式回答,默认为None。如果未提供,则使用默认设置。 + * **cite** (*bool* *,* *optional*) -- 是否引用原始信息,默认为None。如果未提供,则使用默认设置。 + * **stream** (*bool* *,* *optional*) -- 是否以流式方式返回结果,默认为False。 + * **temperature** (*float* *,* *optional*) -- 温度参数,用于控制生成文本的多样性,默认为1e-10。 + * **top_p** (*float* *,* *optional*) -- 截断概率阈值,用于控制生成文本的多样性,默认为1e-10。 * **返回:** 推理结果消息对象 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **AppBuilderServerException** – 如果输入消息内容过长(超过72个字符)或推理结果中存在错误,则抛出异常。 + **AppBuilderServerException** -- 如果输入消息内容过长(超过72个字符)或推理结果中存在错误,则抛出异常。 #### version *: str* *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.rag_with_baidu_search_pro.md b/docs/API-Reference/Python/appbuilder.core.components.rag_with_baidu_search_pro.md similarity index 70% rename from docs/sphinx_md/appbuilder.core.components.rag_with_baidu_search_pro.md rename to docs/API-Reference/Python/appbuilder.core.components.rag_with_baidu_search_pro.md index 5d4e818d3..437bc3f90 100644 --- a/docs/sphinx_md/appbuilder.core.components.rag_with_baidu_search_pro.md +++ b/docs/API-Reference/Python/appbuilder.core.components.rag_with_baidu_search_pro.md @@ -19,28 +19,28 @@ RagWithBaiduSearchPro 组件 执行模型推理。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 待处理的信息对象。 - * **stream** (*bool* *,* *optional*) – 是否以流的形式接收响应数据。默认为False。 - * **instruction** (*Instruction* *,* *optional*) – 指令信息对象。默认为None。 - * **model** (*str* *,* *optional*) – 模型名称。默认为None,表示使用当前实例的模型。 - * **temperature** (*float* *,* *optional*) – 温度参数,控制生成文本的随机性。默认为1e-10。 - * **top_p** (*float* *,* *optional*) – 累积概率阈值,用于控制生成文本的多样性。默认为1e-10。 - * **search_top_k** (*int* *,* *optional*) – 搜索候选结果的数量。默认为4。 - * **hide_corner_markers** (*bool* *,* *optional*) – 是否隐藏响应中的边界标记。默认为True。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 待处理的信息对象。 + * **stream** (*bool* *,* *optional*) -- 是否以流的形式接收响应数据。默认为False。 + * **instruction** (*Instruction* *,* *optional*) -- 指令信息对象。默认为None。 + * **model** (*str* *,* *optional*) -- 模型名称。默认为None,表示使用当前实例的模型。 + * **temperature** (*float* *,* *optional*) -- 温度参数,控制生成文本的随机性。默认为1e-10。 + * **top_p** (*float* *,* *optional*) -- 累积概率阈值,用于控制生成文本的多样性。默认为1e-10。 + * **search_top_k** (*int* *,* *optional*) -- 搜索候选结果的数量。默认为4。 + * **hide_corner_markers** (*bool* *,* *optional*) -- 是否隐藏响应中的边界标记。默认为True。 * **返回:** 处理后的信息对象。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **AppBuilderServerException** – 如果输入信息或指令过长,将抛出此异常。 + **AppBuilderServerException** -- 如果输入信息或指令过长,将抛出此异常。 #### set_secret_key_and_gateway(\*\*kwargs) 设置密钥和网关地址。 * **参数:** - * **secret_key** (*Optional* *[**str* *]* *,* *optional*) – 密钥,默认为None。如果未指定,则使用实例当前的密钥。 - * **gateway** (*str* *,* *optional*) – 网关地址,默认为空字符串。如果未指定,则使用实例当前的网关地址。 + * **secret_key** (*Optional* *[**str* *]* *,* *optional*) -- 密钥,默认为None。如果未指定,则使用实例当前的密钥。 + * **gateway** (*str* *,* *optional*) -- 网关地址,默认为空字符串。如果未指定,则使用实例当前的网关地址。 * **返回:** None @@ -53,7 +53,7 @@ RagWithBaiduSearchPro 组件 RagWithBaiduSearchPro 的参数 * **参数:** - **query** (*str*) – 用户的 query 输入 + **query** (*str*) -- 用户的 query 输入 #### model_computed_fields *: ClassVar[dict[str, ComputedFieldInfo]]* *= {}* @@ -143,7 +143,7 @@ A dictionary of computed field names and their corresponding ComputedFieldInfo o Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict]. -#### model_fields *: ClassVar[dict[str, FieldInfo]]* *= {'hide_corner_markers': FieldInfo(annotation=bool, required=False, default=True), 'instruction': FieldInfo(annotation=str, required=True), 'message': FieldInfo(annotation=object, required=True), 'model': FieldInfo(annotation=Union[str, NoneType], required=False), 'search_top_k': FieldInfo(annotation=int, required=False, default=4, description='search_top_k必须是大于等于1的整数', metadata=[None, Interval(gt=None, ge=1, lt=None, le=None), None]), 'stream': FieldInfo(annotation=bool, required=False, default=False), 'temperature': FieldInfo(annotation=float, required=False, default=1e-10, description='temperature范围在0到1之间', metadata=[None, Interval(gt=None, ge=0, lt=None, le=1), None, None]), 'top_p': FieldInfo(annotation=float, required=False, default=1e-10, description='top_p范围在0到1之间', metadata=[None, Interval(gt=None, ge=0, lt=None, le=1), None, None])}* +#### model_fields *: ClassVar[dict[str, FieldInfo]]* *= {'hide_corner_markers': FieldInfo(annotation=bool, required=False, default=True), 'instruction': FieldInfo(annotation=str, required=True), 'message': FieldInfo(annotation=object, required=True), 'model': FieldInfo(annotation=Union[str, NoneType], required=False, default=None), 'search_top_k': FieldInfo(annotation=int, required=False, default=4, description='search_top_k必须是大于等于1的整数', metadata=[None, Interval(gt=None, ge=1, lt=None, le=None), None]), 'stream': FieldInfo(annotation=bool, required=False, default=False), 'temperature': FieldInfo(annotation=float, required=False, default=1e-10, description='temperature范围在0到1之间', metadata=[None, Interval(gt=None, ge=0, lt=None, le=1), None, None]), 'top_p': FieldInfo(annotation=float, required=False, default=1e-10, description='top_p范围在0到1之间', metadata=[None, Interval(gt=None, ge=0, lt=None, le=1), None, None])}* Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo]. diff --git a/docs/sphinx_md/appbuilder.core.components.retriever.baidu_vdb.md b/docs/API-Reference/Python/appbuilder.core.components.retriever.baidu_vdb.md similarity index 64% rename from docs/sphinx_md/appbuilder.core.components.retriever.baidu_vdb.md rename to docs/API-Reference/Python/appbuilder.core.components.retriever.baidu_vdb.md index e789cdf18..d1d4c6b0c 100644 --- a/docs/sphinx_md/appbuilder.core.components.retriever.baidu_vdb.md +++ b/docs/API-Reference/Python/appbuilder.core.components.retriever.baidu_vdb.md @@ -38,15 +38,15 @@ res = retriever(query) 根据query进行查询 * **参数:** - * **query** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) – 需要查询的内容,类型为Message,包含要查询的文本。 - * **top_k** (*int* *,* *optional*) – 查询结果中匹配度最高的top_k个结果,默认为1。 + * **query** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) -- 需要查询的内容,类型为Message,包含要查询的文本。 + * **top_k** (*int* *,* *optional*) -- 查询结果中匹配度最高的top_k个结果,默认为1。 * **返回:** 查询到的结果,包含文本和匹配得分。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message)[Dict] * **抛出:** - * **TypeError** – 如果query不是Message类型,或者top_k不是整数类型。 - * **ValueError** – 如果top_k不是正整数,或者query的内容为空字符串,或者长度超过512个字符。 + * **TypeError** -- 如果query不是Message类型,或者top_k不是整数类型。 + * **ValueError** -- 如果top_k不是正整数,或者query的内容为空字符串,或者长度超过512个字符。 #### tool_desc *: Dict[str, Any]* *= {'description': 'a retriever based on Baidu VectorDB'}* @@ -61,12 +61,12 @@ Baidu VDB向量存储检索工具 向bes中插入数据段 * **参数:** - * **segments** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 需要插入的数据段。 - * **metadata** (*str* *,* *optional*) – 元数据,默认为空字符串。 + * **segments** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 需要插入的数据段。 + * **metadata** (*str* *,* *optional*) -- 元数据,默认为空字符串。 * **返回:** 无返回值 * **抛出:** - **ValueError** – 如果segments为空,则抛出此异常。 + **ValueError** -- 如果segments为空,则抛出此异常。 #### as_retriever() @@ -95,14 +95,14 @@ Baidu VDB向量存储检索工具 从参数中实例化类。 * **参数:** - * **cls** (*type*) – 类对象,即当前函数所属的类。 - * **instance_id** (*str*) – 实例ID。 - * **api_key** (*str*) – API密钥。 - * **account** (*str* *,* *optional*) – 账户名,默认为’root’。 Defaults to DEFAULT_ACCOUNT. - * **database_name** (*str* *,* *optional*) – 数据库名,默认为’AppBuilderDatabase’。 Defaults to DEFAULT_DATABASE_NAME. - * **table_name** (*str* *,* *optional*) – 表名,默认为’AppBuilderTable’。 Defaults to DEFAULT_TABLE_NAME. - * **drop_exists** (*bool* *,* *optional*) – 是否删除已存在的表,默认为False。 Defaults to False. - * **\*\*kwargs** – 其他参数,可选的维度参数dimension默认为384。 + * **cls** (*type*) -- 类对象,即当前函数所属的类。 + * **instance_id** (*str*) -- 实例ID。 + * **api_key** (*str*) -- API密钥。 + * **account** (*str* *,* *optional*) -- 账户名,默认为'root'。 Defaults to DEFAULT_ACCOUNT. + * **database_name** (*str* *,* *optional*) -- 数据库名,默认为'AppBuilderDatabase'。 Defaults to DEFAULT_DATABASE_NAME. + * **table_name** (*str* *,* *optional*) -- 表名,默认为'AppBuilderTable'。 Defaults to DEFAULT_TABLE_NAME. + * **drop_exists** (*bool* *,* *optional*) -- 是否删除已存在的表,默认为False。 Defaults to False. + * **\*\*kwargs** -- 其他参数,可选的维度参数dimension默认为384。 * **返回:** 类实例,包含实例ID、账户名、API密钥、数据库名、表参数等属性。 * **返回类型:** @@ -119,11 +119,11 @@ See the following documentation for details: [https://cloud.baidu.com/doc/VDB/s/mlrsob0p6](https://cloud.baidu.com/doc/VDB/s/mlrsob0p6) * **参数:** - * **int** (*partition*) – The dimension of vector. - * **int** – The number of replicas in the table. - * **int** – The number of partitions in the table. - * **index_type** (*Optional* *[**str* *]*) – HNSW, FLAT… Default value is “HNSW” - * **metric_type** (*Optional* *[**str* *]*) – L2, COSINE, IP. Default value is “L2” - * **drop_exists** (*Optional* *[**bool* *]*) – Delete the existing Table. Default value is False. - * **vector_params** (*Optional* *[**Dict* *]*) – if HNSW set parameters: M and efConstruction, for example {‘M’: 16, efConstruction: 200} + * **int** (*partition*) -- The dimension of vector. + * **int** -- The number of replicas in the table. + * **int** -- The number of partitions in the table. + * **index_type** (*Optional* *[**str* *]*) -- HNSW, FLAT... Default value is "HNSW" + * **metric_type** (*Optional* *[**str* *]*) -- L2, COSINE, IP. Default value is "L2" + * **drop_exists** (*Optional* *[**bool* *]*) -- Delete the existing Table. Default value is False. + * **vector_params** (*Optional* *[**Dict* *]*) -- if HNSW set parameters: M and efConstruction, for example {'M': 16, efConstruction: 200} default is HNSW diff --git a/docs/sphinx_md/appbuilder.core.components.retriever.bes.md b/docs/API-Reference/Python/appbuilder.core.components.retriever.bes.md similarity index 79% rename from docs/sphinx_md/appbuilder.core.components.retriever.bes.md rename to docs/API-Reference/Python/appbuilder.core.components.retriever.bes.md index f2e35797c..51c03a9b6 100644 --- a/docs/sphinx_md/appbuilder.core.components.retriever.bes.md +++ b/docs/API-Reference/Python/appbuilder.core.components.retriever.bes.md @@ -36,8 +36,8 @@ res = retriever(query) 根据query进行查询 * **参数:** - * **query** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) – 需要查询的内容,以Message对象的形式传递。 - * **top_k** (*int* *,* *optional*) – 查询结果中匹配度最高的top_k个结果。默认为1。 + * **query** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) -- 需要查询的内容,以Message对象的形式传递。 + * **top_k** (*int* *,* *optional*) -- 查询结果中匹配度最高的top_k个结果。默认为1。 * **返回:** 查询到的结果,包含文本、元数据以及匹配得分,以Message对象的形式返回。 * **返回类型:** @@ -56,8 +56,8 @@ BES向量存储检索工具 向BES中插入数据 * **参数:** - * **segments** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) – 需要插入的内容,包含多个文本段 - * **metadata** (*str* *,* *optional*) – 元数据,默认为空字符串。 + * **segments** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]*) -- 需要插入的内容,包含多个文本段 + * **metadata** (*str* *,* *optional*) -- 元数据,默认为空字符串。 * **返回:** 无返回值 @@ -79,8 +79,8 @@ BES向量存储检索工具 创建索引的mapping * **参数:** - * **index_type** (*str*) – 索引类型,如”hnsw” - * **vector_dims** (*int*) – 向量的维度 + * **index_type** (*str*) -- 索引类型,如"hnsw" + * **vector_dims** (*int*) -- 向量的维度 * **返回:** 索引的mapping配置 * **返回类型:** @@ -109,12 +109,12 @@ BES向量存储检索工具 根据段落创建一个bes向量索引。 * **参数:** - * **segments** (*list*) – 切分的文本段落列表。 - * **cluster_id** (*str*) – bes集群ID。 - * **user_name** (*str*) – bes用户名。 - * **password** (*str*) – bes用户密码。 - * **embedding** ([*Embedding*](appbuilder.core.components.embeddings.md#appbuilder.core.components.embeddings.component.Embedding) *,* *optional*) – 文本段落embedding工具,默认为None,使用默认的Embedding类。 - * **\*\*kwargs** – 其他初始化参数。 + * **segments** (*list*) -- 切分的文本段落列表。 + * **cluster_id** (*str*) -- bes集群ID。 + * **user_name** (*str*) -- bes用户名。 + * **password** (*str*) -- bes用户密码。 + * **embedding** ([*Embedding*](appbuilder.core.components.embeddings.md#appbuilder.core.components.embeddings.component.Embedding) *,* *optional*) -- 文本段落embedding工具,默认为None,使用默认的Embedding类。 + * **\*\*kwargs** -- 其他初始化参数。 * **返回:** bes索引实例。 * **返回类型:** @@ -125,7 +125,7 @@ BES向量存储检索工具 生成随机的ID。 * **参数:** - **length** (*int* *,* *optional*) – 生成ID的长度,默认为16。 + **length** (*int* *,* *optional*) -- 生成ID的长度,默认为16。 * **返回:** 生成的随机ID。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.retriever.md b/docs/API-Reference/Python/appbuilder.core.components.retriever.md similarity index 100% rename from docs/sphinx_md/appbuilder.core.components.retriever.md rename to docs/API-Reference/Python/appbuilder.core.components.retriever.md diff --git a/docs/sphinx_md/appbuilder.core.components.retriever.reranker.md b/docs/API-Reference/Python/appbuilder.core.components.retriever.reranker.md similarity index 87% rename from docs/sphinx_md/appbuilder.core.components.retriever.reranker.md rename to docs/API-Reference/Python/appbuilder.core.components.retriever.reranker.md index dc239e53a..fb14caab8 100644 --- a/docs/sphinx_md/appbuilder.core.components.retriever.reranker.md +++ b/docs/API-Reference/Python/appbuilder.core.components.retriever.reranker.md @@ -39,8 +39,8 @@ print(ranked_1) 运行查询,对给定的文本集合进行批量处理,并返回处理后的结果列表。 * **参数:** - * **query** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]* *,* *str* *]*) – 查询条件,可以是字符串或Message对象。 - * **texts** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**str* *]* *]* *,* *List* *[**str* *]* *]*) – 待处理的文本集合,可以是字符串列表或包含字符串列表的Message对象。 + * **query** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**str* *]* *,* *str* *]*) -- 查询条件,可以是字符串或Message对象。 + * **texts** (*Union* *[*[*Message*](appbuilder.core.md#appbuilder.core.message.Message) *[**List* *[**str* *]* *]* *,* *List* *[**str* *]* *]*) -- 待处理的文本集合,可以是字符串列表或包含字符串列表的Message对象。 * **返回:** 处理后的结果列表,每个元素是一个字典,包含处理后的文本信息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.table_ocr.md b/docs/API-Reference/Python/appbuilder.core.components.table_ocr.md similarity index 54% rename from docs/sphinx_md/appbuilder.core.components.table_ocr.md rename to docs/API-Reference/Python/appbuilder.core.components.table_ocr.md index a25af836d..ec67cc225 100644 --- a/docs/sphinx_md/appbuilder.core.components.table_ocr.md +++ b/docs/API-Reference/Python/appbuilder.core.components.table_ocr.md @@ -31,7 +31,7 @@ print(out.content) 将表格识别结果转换为Markdown格式。 * **参数:** - **tables_result** (*list*) – 表格识别结果列表,每个元素是一个包含表格数据的字典,其中包含表格体(body)等字段。 + **tables_result** (*list*) -- 表格识别结果列表,每个元素是一个包含表格数据的字典,其中包含表格体(body)等字段。 * **返回:** 包含Markdown格式表格的字符串列表。 * **返回类型:** @@ -46,24 +46,24 @@ print(out.content) 表格文字识别 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 输入图片或图片url下载地址用于执行识别操作。 - 举例: Message(content={“raw_image”: b”…”}) - 或 Message(content={“url”: “[https://image/download/url](https://image/download/url)”})。 - * **timeout** (*float* *,* *可选*) – HTTP超时时间。 - * **retry** (*int* *,* *可选*) – HTTP重试次数。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 输入图片或图片url下载地址用于执行识别操作。 + 举例: Message(content={"raw_image": b"..."}) + 或 Message(content={"url": "[https://image/download/url](https://image/download/url)"})。 + * **timeout** (*float* *,* *可选*) -- HTTP超时时间。 + * **retry** (*int* *,* *可选*) -- HTTP重试次数。 * **返回:** 识别结果。 - : 举例: Message(name=msg, content={‘tables_result’: [{ - ‘table_location’: [{‘x’: 15, ‘y’: 15}, {‘x’: 371, ‘y’: 15}, {‘x’: 371, ‘y’: 98}, {‘x’: 15, - ‘y’: 98}], ‘header’: [], ‘body’: [{‘cell_location’: [{‘x’: 15, ‘y’: 15}, {‘x’: 120, ‘y’: 15}, - {‘x’: 120, ‘y’: 58}, {‘x’: 15, ‘y’: 58}], ‘row_start’: 0, ‘row_end’: 1, ‘col_start’: 0, - ‘col_end’: 1, ‘words’: ‘参数’}, {‘cell_location’: [{‘x’: 120, ‘y’: 15}, {‘x’: 371, ‘y’: 15}, - {‘x’: 371, ‘y’: 58}, {‘x’: 120, ‘y’: 58}], ‘row_start’: 0, ‘row_end’: 1, ‘col_start’: 1, - ‘col_end’: 2, ‘words’: ‘值’}, {‘cell_location’: [{‘x’: 15, ‘y’: 58}, {‘x’: 120, ‘y’: 58}, - {‘x’: 120, ‘y’: 98}, {‘x’: 15, ‘y’: 98}], ‘row_start’: 1, ‘row_end’: 2, ‘col_start’: 0, - ‘col_end’: 1, ‘words’: ‘Content-Type’}, {‘cell_location’: [{‘x’: 120, ‘y’: 58}, {‘x’: 371, - ‘y’: 58}, {‘x’: 371, ‘y’: 98}, {‘x’: 120, ‘y’: 98}], ‘row_start’: 1, ‘row_end’: 2, ‘col_start’: - 1, ‘col_end’: 2, ‘words’: ‘application/x-www-form-urlencoded’}], ‘footer’: []}]}, mtype=dict) + : 举例: Message(name=msg, content={'tables_result': [{ + 'table_location': [{'x': 15, 'y': 15}, {'x': 371, 'y': 15}, {'x': 371, 'y': 98}, {'x': 15, + 'y': 98}], 'header': [], 'body': [{'cell_location': [{'x': 15, 'y': 15}, {'x': 120, 'y': 15}, + {'x': 120, 'y': 58}, {'x': 15, 'y': 58}], 'row_start': 0, 'row_end': 1, 'col_start': 0, + 'col_end': 1, 'words': '参数'}, {'cell_location': [{'x': 120, 'y': 15}, {'x': 371, 'y': 15}, + {'x': 371, 'y': 58}, {'x': 120, 'y': 58}], 'row_start': 0, 'row_end': 1, 'col_start': 1, + 'col_end': 2, 'words': '值'}, {'cell_location': [{'x': 15, 'y': 58}, {'x': 120, 'y': 58}, + {'x': 120, 'y': 98}, {'x': 15, 'y': 98}], 'row_start': 1, 'row_end': 2, 'col_start': 0, + 'col_end': 1, 'words': 'Content-Type'}, {'cell_location': [{'x': 120, 'y': 58}, {'x': 371, + 'y': 58}, {'x': 371, 'y': 98}, {'x': 120, 'y': 98}], 'row_start': 1, 'row_end': 2, 'col_start': + 1, 'col_end': 2, 'words': 'application/x-www-form-urlencoded'}], 'footer': []}]}, mtype=dict) * **返回类型:** message ([Message](appbuilder.core.md#appbuilder.core.message.Message)) @@ -72,17 +72,17 @@ print(out.content) 对传入文件进行处理,并返回处理结果。 * **参数:** - * **name** (*str*) – 工具的名称。 - * **streaming** (*bool*) – 是否为流式处理。若为True,则以生成器形式返回结果;若为False,则直接返回结果。 - * **\*\*kwargs** – 关键字参数,包含以下参数: + * **name** (*str*) -- 工具的名称。 + * **streaming** (*bool*) -- 是否为流式处理。若为True,则以生成器形式返回结果;若为False,则直接返回结果。 + * **\*\*kwargs** -- 关键字参数,包含以下参数: traceid (str): 请求的唯一标识符。 file_names (List[str]): 文件名列表,表示需要处理的文件名。 files (List[str]): 同file_names,用于兼容老版本接口。 file_urls (Dict[str, str]): 文件名和对应URL的映射字典。 * **返回:** - 若streaming为True,则以生成器形式返回处理结果,每个元素为包含type和text的字典,type固定为”text”,text为处理结果的JSON字符串。 + 若streaming为True,则以生成器形式返回处理结果,每个元素为包含type和text的字典,type固定为"text",text为处理结果的JSON字符串。 若streaming为False,则直接返回处理结果的JSON字符串。 * **抛出:** - **InvalidRequestArgumentError** – 若传入文件名在file_urls中未找到对应的URL,则抛出此异常。 + **InvalidRequestArgumentError** -- 若传入文件名在file_urls中未找到对应的URL,则抛出此异常。 #### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.text_to_image.md b/docs/API-Reference/Python/appbuilder.core.components.text_to_image.md similarity index 58% rename from docs/sphinx_md/appbuilder.core.components.text_to_image.md rename to docs/API-Reference/Python/appbuilder.core.components.text_to_image.md index ea5773e2d..413d6a87d 100644 --- a/docs/sphinx_md/appbuilder.core.components.text_to_image.md +++ b/docs/API-Reference/Python/appbuilder.core.components.text_to_image.md @@ -30,10 +30,10 @@ print(out.content) # eg: {"img_urls": ["xxx"]} 检查服务错误信息 * **参数:** - * **request_id** (*str*) – 请求ID - * **data** (*dict*) – 响应数据 + * **request_id** (*str*) -- 请求ID + * **data** (*dict*) -- 响应数据 * **抛出:** - **AppBuilderServerException** – 如果响应数据中包含错误信息,则抛出异常 + **AppBuilderServerException** -- 如果响应数据中包含错误信息,则抛出异常 * **返回:** None @@ -42,7 +42,7 @@ print(out.content) # eg: {"img_urls": ["xxx"]} 从作画生成的返回结果中提取图片url。 * **参数:** - **(****obj** (*response*) – Text2ImageQueryResponse): 作画生成的返回结果。 + **(****obj** (*response*) -- Text2ImageQueryResponse): 作画生成的返回结果。 * **返回:** 从返回体中提取的图片url列表。 * **返回类型:** @@ -55,10 +55,10 @@ print(out.content) # eg: {"img_urls": ["xxx"]} 将文本查询请求转换为图像数据。 * **参数:** - * **request** (*Text2ImageQueryRequest*) – 输入请求,必填参数。 - * **timeout** (*float* *,* *optional*) – 请求的超时时间,默认为None。 - * **retry** (*int* *,* *optional*) – 请求的重试次数,默认为0。 - * **request_id** (*str* *,* *optional*) – 请求的唯一标识符,默认为None。 + * **request** (*Text2ImageQueryRequest*) -- 输入请求,必填参数。 + * **timeout** (*float* *,* *optional*) -- 请求的超时时间,默认为None。 + * **retry** (*int* *,* *optional*) -- 请求的重试次数,默认为0。 + * **request_id** (*str* *,* *optional*) -- 请求的唯一标识符,默认为None。 * **返回:** 接口返回的输出消息。 * **返回类型:** @@ -69,35 +69,35 @@ print(out.content) # eg: {"img_urls": ["xxx"]} 执行文本到图像的生成任务。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 包含任务相关信息的消息对象。 - * **width** (*int* *,* *optional*) – 生成的图像的宽度,默认为1024。 - * **height** (*int* *,* *optional*) – 生成的图像的高度,默认为1024。 - * **image_num** (*int* *,* *optional*) – 生成图像的数量,默认为1。 - * **image** (*Optional* *[**str* *]* *,* *optional*) – 参考图像的路径或URL,默认为None。 - * **url** (*Optional* *[**str* *]* *,* *optional*) – 参考图像的URL,默认为None。 - * **pdf_file** (*Optional* *[**str* *]* *,* *optional*) – 参考PDF文件的路径,默认为None。 - * **pdf_file_num** (*Optional* *[**str* *]* *,* *optional*) – 参考PDF文件中的页码范围,默认为None。 - * **change_degree** (*Optional* *[**int* *]* *,* *optional*) – 图像变换的程度,默认为None。 - * **text_content** (*Optional* *[**str* *]* *,* *optional*) – 需要转换的文本内容,默认为None。 - * **task_time_out** (*Optional* *[**int* *]* *,* *optional*) – 任务超时时间,默认为None。 - * **text_check** (*Optional* *[**int* *]* *,* *optional*) – 是否进行文本内容检查,默认为1。 - * **request_id** (*Optional* *[**str* *]* *,* *optional*) – 请求的唯一标识,默认为None。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 包含任务相关信息的消息对象。 + * **width** (*int* *,* *optional*) -- 生成的图像的宽度,默认为1024。 + * **height** (*int* *,* *optional*) -- 生成的图像的高度,默认为1024。 + * **image_num** (*int* *,* *optional*) -- 生成图像的数量,默认为1。 + * **image** (*Optional* *[**str* *]* *,* *optional*) -- 参考图像的路径或URL,默认为None。 + * **url** (*Optional* *[**str* *]* *,* *optional*) -- 参考图像的URL,默认为None。 + * **pdf_file** (*Optional* *[**str* *]* *,* *optional*) -- 参考PDF文件的路径,默认为None。 + * **pdf_file_num** (*Optional* *[**str* *]* *,* *optional*) -- 参考PDF文件中的页码范围,默认为None。 + * **change_degree** (*Optional* *[**int* *]* *,* *optional*) -- 图像变换的程度,默认为None。 + * **text_content** (*Optional* *[**str* *]* *,* *optional*) -- 需要转换的文本内容,默认为None。 + * **task_time_out** (*Optional* *[**int* *]* *,* *optional*) -- 任务超时时间,默认为None。 + * **text_check** (*Optional* *[**int* *]* *,* *optional*) -- 是否进行文本内容检查,默认为1。 + * **request_id** (*Optional* *[**str* *]* *,* *optional*) -- 请求的唯一标识,默认为None。 * **返回:** 包含生成图像URL的消息对象。 * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) * **抛出:** - **HTTPError** – 请求失败时抛出异常。 + **HTTPError** -- 请求失败时抛出异常。 #### submitText2ImageTask(request: Text2ImageSubmitRequest, timeout: float | None = None, retry: int = 0, request_id: str | None = None) → Text2ImageSubmitResponse 使用给定的输入并返回文生图的任务信息。 * **参数:** - * **(****obj** (*request*) – Text2ImageSubmitRequest): 输入请求,这是一个必需的参数。 - * **timeout** (*float* *,* *optional*) – 请求的超时时间。默认为None。 - * **retry** (*int* *,* *optional*) – 请求的重试次数。默认为0。 - * **request_id** (*str* *,* *optional*) – 请求的唯一标识符。默认为None。 + * **(****obj** (*request*) -- Text2ImageSubmitRequest): 输入请求,这是一个必需的参数。 + * **timeout** (*float* *,* *optional*) -- 请求的超时时间。默认为None。 + * **retry** (*int* *,* *optional*) -- 请求的重试次数。默认为0。 + * **request_id** (*str* *,* *optional*) -- 请求的唯一标识符。默认为None。 * **返回:** Text2ImageSubmitResponse: 接口返回的输出消息。 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.components.translate.md b/docs/API-Reference/Python/appbuilder.core.components.translate.md similarity index 81% rename from docs/sphinx_md/appbuilder.core.components.translate.md rename to docs/API-Reference/Python/appbuilder.core.components.translate.md index c5b4659d0..6d1ab6c65 100644 --- a/docs/sphinx_md/appbuilder.core.components.translate.md +++ b/docs/API-Reference/Python/appbuilder.core.components.translate.md @@ -36,14 +36,14 @@ print(resp.content) 根据提供的文本以及语种参数执行文本翻译 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 翻译文本。 - * **from_lang** (*str*) – 翻译的源语言。默认为 “auto”。 - * **to_lang** (*str*) – 翻译的目标语言。默认为 “en”。 - * **timeout** (*float* *,* *optional*) – 翻译请求的超时时间。 - * **retry** (*int* *,* *optional*) – 重试次数。 + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 翻译文本。 + * **from_lang** (*str*) -- 翻译的源语言。默认为 "auto"。 + * **to_lang** (*str*) -- 翻译的目标语言。默认为 "en"。 + * **timeout** (*float* *,* *optional*) -- 翻译请求的超时时间。 + * **retry** (*int* *,* *optional*) -- 重试次数。 * **返回:** 返回的文本翻译结果。 - 例如,Message(content={‘from_lang’: ‘zh’, ‘to_lang’: ‘en’, ‘trans_result’: [{‘src’: ‘你好’, ‘dst’: ‘hello’}]}) + 例如,Message(content={'from_lang': 'zh', 'to_lang': 'en', 'trans_result': [{'src': '你好', 'dst': 'hello'}]}) * **返回类型:** [Message](appbuilder.core.md#appbuilder.core.message.Message) @@ -52,16 +52,16 @@ print(resp.content) 工具函数,用于翻译指定的文本。 * **参数:** - * **name** (*str*) – 函数名称,此参数在本函数中未使用。 - * **streaming** (*bool*) – 是否流式输出翻译结果。 - * **\*\*kwargs** – 关键字参数,可以包含以下参数: + * **name** (*str*) -- 函数名称,此参数在本函数中未使用。 + * **streaming** (*bool*) -- 是否流式输出翻译结果。 + * **\*\*kwargs** -- 关键字参数,可以包含以下参数: - traceid (str, optional): 请求的唯一标识符,默认为None。 - q (str): 待翻译的文本。 - - to_lang (str, optional): 目标语言代码,默认为”en”。 + - to_lang (str, optional): 目标语言代码,默认为"en"。 * **返回:** 如果streaming为True,则返回生成器,生成包含翻译结果的字典; 如果streaming为False,则返回包含翻译结果的JSON字符串。 * **抛出:** - **InvalidRequestArgumentError** – 如果未设置参数”q”,则抛出此异常。 + **InvalidRequestArgumentError** -- 如果未设置参数"q",则抛出此异常。 #### version *= 'v1'* diff --git a/docs/API-Reference/Python/appbuilder.core.components.tree_mind.md b/docs/API-Reference/Python/appbuilder.core.components.tree_mind.md new file mode 100644 index 000000000..a068a7b00 --- /dev/null +++ b/docs/API-Reference/Python/appbuilder.core.components.tree_mind.md @@ -0,0 +1,53 @@ +# appbuilder.core.components.tree_mind package + +## Submodules + +## appbuilder.core.components.tree_mind.component module + +树图工具 + +### *class* appbuilder.core.components.tree_mind.component.TreeMind(meta: [ComponentArguments](appbuilder.core.md#appbuilder.core.component.ComponentArguments) | None = ComponentArguments(name='', tool_desc={}), secret_key: str | None = None, gateway: str = '', lazy_certification: bool = False) + +基类:[`Component`](appbuilder.core.md#appbuilder.core.component.Component) + +树图工具,提供智能思维导图制作工具和丰富的模板,支持脑图、逻辑图、树形图、鱼骨图、组织架构图、时间轴、时间线等多种专业格式。 +.. code-block:: python + +> import os +> import requests +> import appbuilder +> # 请前往千帆AppBuilder官网创建密钥,流程详见:[https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5) +> os.environ["GATEWAY_URL"] = "..." +> os.environ["APPBUILDER_TOKEN"] = "..." +> treemind = appbuilder.TreeMind() +> resp = treemind.run(appbuilder.Message("生成一份年度总结的思维导图"), to_lang="en") +> print(resp.content) +> # 输出 {'from_lang':'zh', 'to_lang':'en', 'trans_result':[{'src':'你好','dst':'hello'},{'src':'中国','dst':'China'}]} + +#### manifests *= [{'description': '根据用户输入的信息,生成详细智能思维导图、脑图、逻辑图、树形图、鱼骨图、组织架构图、时间轴、时间线等多种专业格式思维导图', 'name': 'tree_mind', 'parameters': {'properties': {'query': {'description': '用户想要生成思维导图的内容', 'type': 'string'}}, 'required': ['query'], 'type': 'object'}}]* + +#### name *= 'tree_mind'* + +#### run(message: [Message](appbuilder.core.md#appbuilder.core.message.Message), \*\*kwargs) → [Message](appbuilder.core.md#appbuilder.core.message.Message) + +运行组件 +:param message: 消息对象 +:type message: Message + +* **返回:** + 返回消息对象 +* **返回类型:** + [Message](appbuilder.core.md#appbuilder.core.message.Message) + +#### tool_eval(query, \*\*kwargs) + +调用树图查询接口 +:param query: 用户想要生成思维导图的内容 +:type query: string + +* **返回:** + 返回生成的思维导图的图片链接和跳转链接 +* **返回类型:** + dict + +#### version *= 'v1'* diff --git a/docs/sphinx_md/appbuilder.core.components.tts.md b/docs/API-Reference/Python/appbuilder.core.components.tts.md similarity index 63% rename from docs/sphinx_md/appbuilder.core.components.tts.md rename to docs/API-Reference/Python/appbuilder.core.components.tts.md index 3a50839f7..b82357296 100644 --- a/docs/sphinx_md/appbuilder.core.components.tts.md +++ b/docs/API-Reference/Python/appbuilder.core.components.tts.md @@ -41,25 +41,25 @@ with open("sample.wav", "wb") as f: 执行文本转语音。 * **参数:** - * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) – 待转为语音的文本。 - 举例: Message(content={“text”: “欢迎使用百度语音”})如果选择baidu-tts模型,text最大文本长度为1024 GBK编码长度,大约为512个中英文字符;如果选择paddlespeech-tts模型, text最大文本长度是510个字符。 - * **model** (*str* *,* *可选*) – 默认是\`baidu-tts\`模型,可设置为\`paddlespeech-tts\`。 - * **speed** (*int* *,* *可选*) – 语音语速,默认是5中等语速,取值范围在0~15之间, + * **message** ([*Message*](appbuilder.core.md#appbuilder.core.message.Message)) -- 待转为语音的文本。 + 举例: Message(content={"text": "欢迎使用百度语音"})如果选择baidu-tts模型,text最大文本长度为1024 GBK编码长度,大约为512个中英文字符;如果选择paddlespeech-tts模型, text最大文本长度是510个字符。 + * **model** (*str* *,* *可选*) -- 默认是\`baidu-tts\`模型,可设置为\`paddlespeech-tts\`。 + * **speed** (*int* *,* *可选*) -- 语音语速,默认是5中等语速,取值范围在0~15之间, 如果选择模型为paddlespeech-tts,参数自动失效。 - * **pitch** (*int* *,* *可选*) – 语音音调,默认是5中等音调,取值范围在0~15之间, + * **pitch** (*int* *,* *可选*) -- 语音音调,默认是5中等音调,取值范围在0~15之间, 如果选择模型为paddlespeech-tts,参数自动失效。 - * **volume** (*int* *,* *音量*) – 语音音量,默认是5中等音量,取值范围在0~15之间, + * **volume** (*int* *,* *音量*) -- 语音音量,默认是5中等音量,取值范围在0~15之间, 如果选择模型为paddlespeech-tts,参数自动失效。 - * **person** (*int* *,* *可选*) – 语音人物特征,默认是0, + * **person** (*int* *,* *可选*) -- 语音人物特征,默认是0, 可选值包括度小宇=1 度小美=0 度逍遥(基础)=3 度丫丫=4 度逍遥(精品)=5003 度小鹿=5118 度博文=106 度小童=110 度小萌=111 度米朵=103 度小娇=5, 如果选择模型为paddlespeech-tts,参数自动失效。 - * **audio_type** (*str* *,* *可选*) – 音频文件格式,默认是\`mp3\`, + * **audio_type** (*str* *,* *可选*) -- 音频文件格式,默认是\`mp3\`, 如果选择\`paddlespeech-tts\`模型,参数只能设为\`wav\`。 - * **timeout** (*float* *,* *可选*) – HTTP超时时间。 - * **retry** (*int* *,* *可选*) – HTTP重试次数。 - * **stream** (*bool* *,* *可选*) – 是否以流的形式返回音频数据,默认为False。 + * **timeout** (*float* *,* *可选*) -- HTTP超时时间。 + * **retry** (*int* *,* *可选*) -- HTTP重试次数。 + * **stream** (*bool* *,* *可选*) -- 是否以流的形式返回音频数据,默认为False。 * **返回:** - 文本转语音结果。举例: Message(content={“audio_binary”: b”xxx”, “audio_type”: “mp3”}) + 文本转语音结果。举例: Message(content={"audio_binary": b"xxx", "audio_type": "mp3"}) * **返回类型:** message ([Message](appbuilder.core.md#appbuilder.core.message.Message)) diff --git a/docs/sphinx_md/appbuilder.core.console.appbuilder_client.md b/docs/API-Reference/Python/appbuilder.core.console.appbuilder_client.md similarity index 61% rename from docs/sphinx_md/appbuilder.core.console.appbuilder_client.md rename to docs/API-Reference/Python/appbuilder.core.console.appbuilder_client.md index ff843e12f..6569c7aa4 100644 --- a/docs/sphinx_md/appbuilder.core.console.appbuilder_client.md +++ b/docs/API-Reference/Python/appbuilder.core.console.appbuilder_client.md @@ -71,15 +71,15 @@ print(message.content) 运行智能体应用 * **参数:** - * **query** (*str*) – query内容 - * **conversation_id** (*str*) – 唯一会话ID,如需开始新的会话,请使用self.create_conversation创建新的会话 - * **file_ids** (*list* *[**str* *]*) – 文件ID列表 - * **stream** (*bool*) – 为True时,流式返回,需要将message.content.answer拼接起来才是完整的回答;为False时,对应非流式返回 - * **tools** (*list* *[**data_class.Tools* *]*) – 一个Tools组成的列表,其中每个Tools对应一个工具的配置, 默认为None - * **tool_outputs** (*list* *[**data_class.ToolOutput* *]*) – 工具输出列表,格式为list[ToolOutput], ToolOutputd内容为本地的工具执行结果,以自然语言/json dump str描述,默认为None - * **tool_choice** (*data_class.ToolChoice*) – 控制大模型使用组件的方式,默认为None - * **end_user_id** (*str*) – 用户ID,用于区分不同用户 - * **kwargs** – 其他参数 + * **query** (*str*) -- query内容 + * **conversation_id** (*str*) -- 唯一会话ID,如需开始新的会话,请使用self.create_conversation创建新的会话 + * **file_ids** (*list* *[**str* *]*) -- 文件ID列表 + * **stream** (*bool*) -- 为True时,流式返回,需要将message.content.answer拼接起来才是完整的回答;为False时,对应非流式返回 + * **tools** (*list* *[**data_class.Tools* *]*) -- 一个Tools组成的列表,其中每个Tools对应一个工具的配置, 默认为None + * **tool_outputs** (*list* *[**data_class.ToolOutput* *]*) -- 工具输出列表,格式为list[ToolOutput], ToolOutputd内容为本地的工具执行结果,以自然语言/json dump str描述,默认为None + * **tool_choice** (*data_class.ToolChoice*) -- 控制大模型使用组件的方式,默认为None + * **end_user_id** (*str*) -- 用户ID,用于区分不同用户 + * **kwargs** -- 其他参数 * **返回:** 对话结果,一个Message对象,使用message.content获取内容。 * **返回类型:** @@ -90,13 +90,13 @@ print(message.content) 运行智能体应用,并通过事件处理器处理事件 * **参数:** - * **conversation_id** (*str*) – 唯一会话ID,如需开始新的会话,请使用self.create_conversation创建新的会话 - * **query** (*str*) – 查询字符串 - * **file_ids** (*list*) – 文件ID列表 - * **tools** (*list* *[**data_class.Tools* *]* *,* *可选*) – 一个Tools组成的列表,其中每个Tools对应一个工具的配置, 默认为None - * **stream** (*bool*) – 是否流式响应 - * **event_handler** (*EventHandler*) – 事件处理器 - * **kwargs** – 其他参数 + * **conversation_id** (*str*) -- 唯一会话ID,如需开始新的会话,请使用self.create_conversation创建新的会话 + * **query** (*str*) -- 查询字符串 + * **file_ids** (*list*) -- 文件ID列表 + * **tools** (*list* *[**data_class.Tools* *]* *,* *可选*) -- 一个Tools组成的列表,其中每个Tools对应一个工具的配置, 默认为None + * **stream** (*bool*) -- 是否流式响应 + * **event_handler** (*EventHandler*) -- 事件处理器 + * **kwargs** -- 其他参数 * **返回:** 事件处理器 * **返回类型:** @@ -109,13 +109,27 @@ print(message.content) 该接口用于在对话中上传文件供大模型处理,文件的有效期为7天并且不超过对话的有效期。一次只能上传一个文件。 * **参数:** - * **conversation_id** (*str*) – 会话ID - * **local_file_path** (*str*) – 本地文件路径 + * **conversation_id** (*str*) -- 会话ID + * **local_file_path** (*str*) -- 本地文件路径 * **返回:** 唯一文件ID * **返回类型:** response (str) +### appbuilder.core.console.appbuilder_client.appbuilder_client.describe_apps(marker: str | None = None, maxKeys: int = 10, secret_key: str | None = None, gateway: str | None = None) → list[AppOverview] + +该接口查询用户下状态为已发布的应用列表 + +* **参数:** + * **maxKeys** (*int* *,* *optional*) -- 返回结果的最大数量,默认值为10,最大为100。 + * **marker** (*str* *,* *optional*) -- 起始位置,即从哪个游标开始查询,默认值为空字符串。 + * **secret_key** (*Optional* *[**str* *]* *,* *optional*) -- 认证密钥。如果未指定,则使用默认的密钥。默认值为None。 + * **gateway** (*Optional* *[**str* *]* *,* *optional*) -- 网关地址。如果未指定,则使用默认的地址。默认值为None。 +* **返回:** + 应用列表。 +* **返回类型:** + DescribeAppsResponse + ### appbuilder.core.console.appbuilder_client.appbuilder_client.get_all_apps() 获取所有应用列表。 @@ -133,11 +147,11 @@ print(message.content) 该接口查询用户下状态为已发布的应用列表 * **参数:** - * **limit** (*int* *,* *optional*) – 返回结果的最大数量,默认值为10。 - * **after** (*str* *,* *optional*) – 返回结果中第一个应用的游标值,用于分页查询。默认值为空字符串。 - * **before** (*str* *,* *optional*) – 返回结果中最后一个应用的游标值,用于分页查询。默认值为空字符串。 - * **secret_key** (*Optional* *[**str* *]* *,* *optional*) – 认证密钥。如果未指定,则使用默认的密钥。默认值为None。 - * **gateway_v2** (*Optional* *[**str* *]* *,* *optional*) – 网关地址。如果未指定,则使用默认的地址。默认值为None。 + * **limit** (*int* *,* *optional*) -- 返回结果的最大数量,默认值为10。 + * **after** (*str* *,* *optional*) -- 返回结果中第一个应用的游标值,用于分页查询。默认值为空字符串。 + * **before** (*str* *,* *optional*) -- 返回结果中最后一个应用的游标值,用于分页查询。默认值为空字符串。 + * **secret_key** (*Optional* *[**str* *]* *,* *optional*) -- 认证密钥。如果未指定,则使用默认的密钥。默认值为None。 + * **gateway_v2** (*Optional* *[**str* *]* *,* *optional*) -- 网关地址。如果未指定,则使用默认的地址。默认值为None。 * **返回:** 应用列表。 * **返回类型:** @@ -162,14 +176,14 @@ print(message.content) 初始化类实例并设置相关参数。 * **参数:** - * **appbuilder_client** (*object*) – AppBuilder客户端实例对象。 - * **conversation_id** (*str*) – 对话ID。 - * **query** (*str*) – 用户输入的查询语句。 - * **file_ids** (*list* *,* *optional*) – 文件ID列表,默认为None。 - * **tools** (*list* *,* *optional*) – 工具列表,默认为None。 - * **stream** (*bool* *,* *optional*) – 是否使用流式处理,默认为False。 - * **event_handler** (*callable* *,* *optional*) – 事件处理函数,默认为None。 - * **\*\*kwargs** – 其他可选参数。 + * **appbuilder_client** (*object*) -- AppBuilder客户端实例对象。 + * **conversation_id** (*str*) -- 对话ID。 + * **query** (*str*) -- 用户输入的查询语句。 + * **file_ids** (*list* *,* *optional*) -- 文件ID列表,默认为None。 + * **tools** (*list* *,* *optional*) -- 工具列表,默认为None。 + * **stream** (*bool* *,* *optional*) -- 是否使用流式处理,默认为False。 + * **event_handler** (*callable* *,* *optional*) -- 事件处理函数,默认为None。 + * **\*\*kwargs** -- 其他可选参数。 * **返回:** None diff --git a/docs/sphinx_md/appbuilder.core.console.dataset.md b/docs/API-Reference/Python/appbuilder.core.console.dataset.md similarity index 51% rename from docs/sphinx_md/appbuilder.core.console.dataset.md rename to docs/API-Reference/Python/appbuilder.core.console.dataset.md index 2e6d7f29d..82b41e3a0 100644 --- a/docs/sphinx_md/appbuilder.core.console.dataset.md +++ b/docs/API-Reference/Python/appbuilder.core.console.dataset.md @@ -37,14 +37,14 @@ dataset.delete_documents(document_ids) 向知识库中添加文档 * **参数:** - * **file_path_list** – 文档路径列表 - * **is_custom_process_rule** – 是否使用自定义文档处理规则, 默认为False, 使用平台的默认规则,为True时使用自定义规则 - * **custom_process_rule** – 自定义文档规则,当is_custom_process_rule为True时生效,格式示例如下: - * **{** – “separators”: [”。”, “,”], # 文本切分符,支持这几种[ , , “?”, , “!”, “?”, “……”] - “target_length”: 300, # 文本切片片段长度,取值范围[300, 800] - “overlap_rate”: 0.3 # 文本片段重叠率,取值范围[0, 0.3] + * **file_path_list** -- 文档路径列表 + * **is_custom_process_rule** -- 是否使用自定义文档处理规则, 默认为False, 使用平台的默认规则,为True时使用自定义规则 + * **custom_process_rule** -- 自定义文档规则,当is_custom_process_rule为True时生效,格式示例如下: + * **{** -- "separators": ["。", ","], # 文本切分符,支持这几种[ , , "?", , "!", "?", "……"] + "target_length": 300, # 文本切片片段长度,取值范围[300, 800] + "overlap_rate": 0.3 # 文本片段重叠率,取值范围[0, 0.3] * **}** - * **is_enhanced** – 是否开启知识增强, 默认为False,在检索问答时通过知识点来索引到对应的切片,大模型根据切片内容生成答案,开启知识增强会调用大模型抽取更加丰富的知识点,增加切片的召回率 + * **is_enhanced** -- 是否开启知识增强, 默认为False,在检索问答时通过知识点来索引到对应的切片,大模型根据切片内容生成答案,开启知识增强会调用大模型抽取更加丰富的知识点,增加切片的召回率 * **返回:** 添加文档的响应结果,包含以下属性: - dataset_id (str): 知识库id @@ -59,7 +59,7 @@ dataset.delete_documents(document_ids) 创建知识库 * **参数:** - **dataset_name** – 知识库名称 + **dataset_name** -- 知识库名称 * **返回:** 创建成功的知识库实例 * **返回类型:** @@ -72,7 +72,7 @@ dataset.delete_documents(document_ids) 删除知识库中的文档 * **参数:** - **document_ids** – 文档id列表 + **document_ids** -- 文档id列表 * **返回:** None @@ -83,34 +83,34 @@ dataset.delete_documents(document_ids) 获取知识库中的文档列表 * **参数:** - * **page** – 第几页 - * **limit** – 每页文档数 - * **keyword** – 文件名关键字,支持模糊查询 + * **page** -- 第几页 + * **limit** -- 每页文档数 + * **keyword** -- 文件名关键字,支持模糊查询 * **返回:** DocumentListResponses实例,返回示例: { - “data”: [ + "data": [ > { - > : “id”:”d2d1bc1a-1763-4162-88b2-0dad225da16f”, # 文档id - > “name”: “唐诗三百首(全集)全新编辑版.pdf”, # 文档名称 - > “created_from”: “web”, # 创建来源 - > “created_by”: “76efed91-cf19-435d-993c-cdd901d6d13c”, # 创建人 - > “created_at”: 1705958975, # 创建时间 - > “indexing_status”: “indexing”, # 文档处理状态 - > “error”: null, # 文档处理错误信息 - > “enabled”: true, # 文档是否启用 - > “disabled_at”: null, # 文档禁用时间 - > “disabled_by”: null, # 文档禁用人 - > “display_status”: “indexing”, # 文档显示状态,和前端展示状态一致 - > “word_count”: 5024 # 文档字数 + > : "id":"d2d1bc1a-1763-4162-88b2-0dad225da16f", # 文档id + > "name": "唐诗三百首(全集)全新编辑版.pdf", # 文档名称 + > "created_from": "web", # 创建来源 + > "created_by": "76efed91-cf19-435d-993c-cdd901d6d13c", # 创建人 + > "created_at": 1705958975, # 创建时间 + > "indexing_status": "indexing", # 文档处理状态 + > "error": null, # 文档处理错误信息 + > "enabled": true, # 文档是否启用 + > "disabled_at": null, # 文档禁用时间 + > "disabled_by": null, # 文档禁用人 + > "display_status": "indexing", # 文档显示状态,和前端展示状态一致 + > "word_count": 5024 # 文档字数 > } ], - “has_more”: false, # 是否还有下一页 - “limit”: 10, # 每页文档数 - “total”: 1, # 总页数 - “page”: 1 # 当前页 + "has_more": false, # 是否还有下一页 + "limit": 10, # 每页文档数 + "total": 1, # 总页数 + "page": 1 # 当前页 } #### get_file_list_url *: str* *= '/v1/ai_engine/agi_platform/v1/datasets/documents/list_page'* diff --git a/docs/sphinx_md/appbuilder.core.console.knowledge_base.md b/docs/API-Reference/Python/appbuilder.core.console.knowledge_base.md similarity index 58% rename from docs/sphinx_md/appbuilder.core.console.knowledge_base.md rename to docs/API-Reference/Python/appbuilder.core.console.knowledge_base.md index 0f0e79ac0..02ac2d384 100644 --- a/docs/sphinx_md/appbuilder.core.console.knowledge_base.md +++ b/docs/API-Reference/Python/appbuilder.core.console.knowledge_base.md @@ -26,12 +26,12 @@ print("文档列表: ", list_res) 添加文档到知识库 * **参数:** - * **content_type** (*str*) – 内容类型,可选值有”raw_text”, “qa”。 - * **file_ids** (*List* *[**str* *]* *,* *optional*) – 文件ID列表。默认为空列表。 - * **is_enhanced** (*bool* *,* *optional*) – 是否增强。默认为False。 - * **custom_process_rule** (*Optional* *[**data_class.CustomProcessRule* *]* *,* *optional*) – 自定义处理规则。默认为None。 - * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID。默认为None,此时使用当前类的knowledge_id属性。 - * **client_token** (*str*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **content_type** (*str*) -- 内容类型,可选值有"raw_text", "qa"。 + * **file_ids** (*List* *[**str* *]* *,* *optional*) -- 文件ID列表。默认为空列表。 + * **is_enhanced** (*bool* *,* *optional*) -- 是否增强。默认为False。 + * **custom_process_rule** (*Optional* *[**data_class.CustomProcessRule* *]* *,* *optional*) -- 自定义处理规则。默认为None。 + * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID。默认为None,此时使用当前类的knowledge_id属性。 + * **client_token** (*str*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 添加文档的相应结果。包含以下属性: - request_id (str): 请求ID @@ -45,29 +45,31 @@ print("文档列表: ", list_res) 创建文档块 * **参数:** - * **documentId** (*str*) – 文档ID - * **content** (*str*) – 内容 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **documentId** (*str*) -- 文档ID + * **content** (*str*) -- 内容 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 创建文档块的相应消息, 包含以下属性: - id (str): 切片ID * **返回类型:** CreateChunkResponse -#### create_documents(id: str | None = None, contentFormat: str = '', source: DocumentSource | None = None, processOption: DocumentProcessOption | None = None, client_token: str | None = None) +#### create_documents(id: str | None = None, contentFormat: str = '', source: DocumentSource | None = None, processOption: DocumentProcessOption | None = None, client_token: str | None = None) → KnowledgeBaseCreateDocumentsResponse 创建文档 * **参数:** - * **id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 - * **contentFormat** (*str* *,* *optional*) – 文档内容格式,可以是”rawText”, “qa”之一。默认值为””。 - * **source** (*data_class.DocumentSource* *,* *optional*) – 文档源数据。默认值为None。 - * **processOption** (*data_class.DocumentProcessOption* *,* *optional*) – 文档处理选项。默认值为None。 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 + * **contentFormat** (*str* *,* *optional*) -- 文档内容格式,可以是"rawText", "qa"之一。默认值为""。 + * **source** (*data_class.DocumentSource* *,* *optional*) -- 文档源数据。默认值为None。 + * **processOption** (*data_class.DocumentProcessOption* *,* *optional*) -- 文档处理选项。默认值为None。 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** - 响应数据,包含请求ID: requestId + 创建知识库文档的响应消息,返回一个KnowledgeBaseCreateDocumentsResponse对象,包含以下属性: + - requestId (str): 请求ID + - documentIds (list[str]): 文档ID列表 * **返回类型:** - dict + KnowledgeBaseCreateDocumentsResponse #### *classmethod* create_knowledge(knowledge_name: str) → [KnowledgeBase](#appbuilder.core.console.knowledge_base.knowledge_base.KnowledgeBase) @@ -76,7 +78,7 @@ print("文档列表: ", list_res) Deprecated: use create_knowledge_base instead * **参数:** - **knowledge_name** (*str*) – 知识库名称 + **knowledge_name** (*str*) -- 知识库名称 * **返回:** 返回一个KnowledgeBase对象 * **返回类型:** @@ -87,13 +89,13 @@ Deprecated: use create_knowledge_base instead 创建知识库 * **参数:** - * **name** (*str*) – 知识库名称。 - * **description** (*str*) – 知识库描述。 - * **type** (*str* *,* *optional*) – 知识库类型。默认为”public”。 - * **esUrl** (*str* *,* *optional*) – Elasticsearch服务器地址。默认为None。 - * **esUserName** (*str* *,* *optional*) – Elasticsearch用户名。默认为None。 - * **esPassword** (*str* *,* *optional*) – Elasticsearch密码。默认为None。 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **name** (*str*) -- 知识库名称。 + * **description** (*str*) -- 知识库描述。 + * **type** (*str* *,* *optional*) -- 知识库类型。默认为"public"。 + * **esUrl** (*str* *,* *optional*) -- Elasticsearch服务器地址。默认为None。 + * **esUserName** (*str* *,* *optional*) -- Elasticsearch用户名。默认为None。 + * **esPassword** (*str* *,* *optional*) -- Elasticsearch密码。默认为None。 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 创建知识库的响应消息,包含以下属性: - id (str): 知识库ID @@ -108,8 +110,8 @@ Deprecated: use create_knowledge_base instead 删除文档块 * **参数:** - * **chunkId** (*str*) – 文档块ID - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **chunkId** (*str*) -- 文档块ID + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 响应数据,包含请求ID: requestId * **返回类型:** @@ -120,9 +122,9 @@ Deprecated: use create_knowledge_base instead 删除知识库中的文档 * **参数:** - * **document_id** (*str*) – 文档ID - * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID。默认为None,此时使用当前类的knowledge_id属性。 - * **client_token** (*str*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **document_id** (*str*) -- 文档ID + * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID。默认为None,此时使用当前类的knowledge_id属性。 + * **client_token** (*str*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 删除文档的响应消息,包含以下属性: - request_id (str): 请求ID @@ -134,8 +136,8 @@ Deprecated: use create_knowledge_base instead 删除知识库 * **参数:** - * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** requestId * **返回类型:** @@ -146,7 +148,7 @@ Deprecated: use create_knowledge_base instead 获取文档块详情 * **参数:** - **chunkId** (*str*) – 文档块ID + **chunkId** (*str*) -- 文档块ID * **返回:** 文档块详情,一个DescribeChunkResponse对象,包含以下属性: - id (str): 切片ID @@ -169,10 +171,10 @@ Deprecated: use create_knowledge_base instead 获取文档块列表 * **参数:** - * **documentId** (*str*) – 文档ID - * **marker** (*str* *,* *optional*) – 分页标记,用于指定从哪个位置开始返回结果。默认为None,表示从头开始返回结果。 - * **maxKeys** (*int* *,* *optional*) – 最大返回数量,用于限制每次请求返回的最大文档块数目。默认为None,表示不限制返回数量。 - * **type** (*str* *,* *optional*) – 文档块类型。默认为None,表示不限定类型。 + * **documentId** (*str*) -- 文档ID + * **marker** (*str* *,* *optional*) -- 分页标记,用于指定从哪个位置开始返回结果。默认为None,表示从头开始返回结果。 + * **maxKeys** (*int* *,* *optional*) -- 最大返回数量,用于限制每次请求返回的最大文档块数目。默认为None,表示不限制返回数量。 + * **type** (*str* *,* *optional*) -- 文档块类型。默认为None,表示不限定类型。 * **返回:** 文档块列表,一个DescribeChunksResponse对象,包含以下属性: - data (list[DescribeChunkResponse]): 切片列表 @@ -188,23 +190,23 @@ Deprecated: use create_knowledge_base instead 获取知识库中所有文档。 * **参数:** - **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库的ID。如果为None,则使用当前实例的knowledge_id。默认为None。 + **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库的ID。如果为None,则使用当前实例的knowledge_id。默认为None。 * **返回:** 包含所有文档的列表。 * **返回类型:** list * **抛出:** - **ValueError** – 如果knowledge_base_id为空,且当前实例没有已创建的knowledge_id时抛出。 + **ValueError** -- 如果knowledge_base_id为空,且当前实例没有已创建的knowledge_id时抛出。 #### get_documents_list(limit: int = 10, after: str | None = '', before: str | None = '', knowledge_base_id: str | None = None) → KnowledgeBaseGetDocumentsListResponse 获取知识库中的文档列表 * **参数:** - * **limit** (*int* *,* *optional*) – 限制数量。默认为10。 - * **after** (*Optional* *[**str* *]* *,* *optional*) – 起始位置。默认为空字符串””。 - * **before** (*Optional* *[**str* *]* *,* *optional*) – 结束位置。默认为空字符串””。 - * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID。默认为None,此时使用当前类的knowledge_id属性。 + * **limit** (*int* *,* *optional*) -- 限制数量。默认为10。 + * **after** (*Optional* *[**str* *]* *,* *optional*) -- 起始位置。默认为空字符串""。 + * **before** (*Optional* *[**str* *]* *,* *optional*) -- 结束位置。默认为空字符串""。 + * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID。默认为None,此时使用当前类的knowledge_id属性。 * **返回:** 知识库文档列表服务的响应消息,包含以下属性: - request_id (str): 请求ID @@ -217,7 +219,7 @@ Deprecated: use create_knowledge_base instead 获取知识库详情 * **参数:** - **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 + **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 * **返回:** 知识库详情,返回一个KnowledgeBaseDetailResponse对象,包含以下属性: - id (str): 知识库ID @@ -232,9 +234,9 @@ Deprecated: use create_knowledge_base instead 获取知识库列表 * **参数:** - * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 - * **maxKeys** (*int* *,* *optional*) – 最大键数。默认值为10。 - * **keyword** (*Optional* *[**str* *]* *,* *optional*) – 关键字。默认值为None。 + * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 + * **maxKeys** (*int* *,* *optional*) -- 最大键数。默认值为10。 + * **keyword** (*Optional* *[**str* *]* *,* *optional*) -- 关键字。默认值为None。 * **返回:** 获取知识库列表的响应消息,返回一个KnowledgeBaseGetListResponse对象,包含以下属性: - requestId (str): 请求ID @@ -251,9 +253,9 @@ Deprecated: use create_knowledge_base instead 修改文档块 * **参数:** - * **chunkId** (*str*) – 文档块ID - * **content** (*str*) – 内容 - * **enable** (*bool*) – 是否启用 + * **chunkId** (*str*) -- 文档块ID + * **content** (*str*) -- 内容 + * **enable** (*bool*) -- 是否启用 * **返回:** 响应数据,包含请求ID: requestId * **返回类型:** @@ -264,37 +266,39 @@ Deprecated: use create_knowledge_base instead 修改知识库信息 * **参数:** - * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 - * **name** (*Optional* *[**str* *]* *,* *optional*) – 新的知识库名称。默认值为None。 - * **description** (*Optional* *[**str* *]* *,* *optional*) – 新的知识库描述。默认值为None。 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **knowledge_base_id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 + * **name** (*Optional* *[**str* *]* *,* *optional*) -- 新的知识库名称。默认值为None。 + * **description** (*Optional* *[**str* *]* *,* *optional*) -- 新的知识库描述。默认值为None。 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 响应数据,包含请求ID: requestId。 * **返回类型:** dict -#### upload_documents(file_path: str, content_format: str = 'rawText', id: str | None = None, processOption: DocumentProcessOption | None = None, client_token: str | None = None) +#### upload_documents(file_path: str, content_format: str = 'rawText', id: str | None = None, processOption: DocumentProcessOption | None = None, client_token: str | None = None) → KnowledgeBaseUploadDocumentsResponse 上传文档 * **参数:** - * **file_path** (*str*) – 文件路径 - * **content_format** (*str* *,* *optional*) – 内容格式。默认值为”rawText”。 - * **id** (*Optional* *[**str* *]* *,* *optional*) – 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 - * **processOption** (*data_class.DocumentProcessOption* *,* *optional*) – 文档处理选项。默认值为None。 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **file_path** (*str*) -- 文件路径 + * **content_format** (*str* *,* *optional*) -- 内容格式。默认值为"rawText"。 + * **id** (*Optional* *[**str* *]* *,* *optional*) -- 知识库ID,如果不指定则使用当前实例的knowledge_id属性。默认值为None。 + * **processOption** (*data_class.DocumentProcessOption* *,* *optional*) -- 文档处理选项。默认值为None。 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** - 响应数据,包含请求ID: requestId + 创建知识库文档的响应消息,返回一个KnowledgeBaseUploadDocumentsResponse对象,包含以下属性: + - requestId (str): 请求ID + - documentId (str): 文档ID * **返回类型:** - dict + KnowledgeBaseUploadDocumentsResponse #### upload_file(file_path: str, client_token: str | None = None) → KnowledgeBaseUploadFileResponse 上传文件到知识库 * **参数:** - * **file_path** (*str*) – 文件路径 - * **client_token** (*str* *,* *optional*) – 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 + * **file_path** (*str*) -- 文件路径 + * **client_token** (*str* *,* *optional*) -- 客户端令牌。默认为None,此时会自动生成一个随机UUID作为客户端令牌。 * **返回:** 返回一个KnowledgeBaseUploadFileResponse对象,包含以下属性: - request_id (int): 请求id diff --git a/docs/sphinx_md/appbuilder.core.console.md b/docs/API-Reference/Python/appbuilder.core.console.md similarity index 98% rename from docs/sphinx_md/appbuilder.core.console.md rename to docs/API-Reference/Python/appbuilder.core.console.md index edee8f3d3..c81532990 100644 --- a/docs/sphinx_md/appbuilder.core.console.md +++ b/docs/API-Reference/Python/appbuilder.core.console.md @@ -11,6 +11,7 @@ * [`AppBuilderClient.run()`](appbuilder.core.console.appbuilder_client.md#appbuilder.core.console.appbuilder_client.appbuilder_client.AppBuilderClient.run) * [`AppBuilderClient.run_with_handler()`](appbuilder.core.console.appbuilder_client.md#appbuilder.core.console.appbuilder_client.appbuilder_client.AppBuilderClient.run_with_handler) * [`AppBuilderClient.upload_local_file()`](appbuilder.core.console.appbuilder_client.md#appbuilder.core.console.appbuilder_client.appbuilder_client.AppBuilderClient.upload_local_file) + * [`describe_apps()`](appbuilder.core.console.appbuilder_client.md#appbuilder.core.console.appbuilder_client.appbuilder_client.describe_apps) * [`get_all_apps()`](appbuilder.core.console.appbuilder_client.md#appbuilder.core.console.appbuilder_client.appbuilder_client.get_all_apps) * [`get_app_list()`](appbuilder.core.console.appbuilder_client.md#appbuilder.core.console.appbuilder_client.appbuilder_client.get_app_list) * [appbuilder.core.console.appbuilder_client.data_class module](appbuilder.core.console.appbuilder_client.md#module-appbuilder.core.console.appbuilder_client.event_handler) diff --git a/docs/sphinx_md/appbuilder.core.console.rag.md b/docs/API-Reference/Python/appbuilder.core.console.rag.md similarity index 91% rename from docs/sphinx_md/appbuilder.core.console.rag.md rename to docs/API-Reference/Python/appbuilder.core.console.rag.md index 8587a8a37..7ee93457a 100644 --- a/docs/sphinx_md/appbuilder.core.console.rag.md +++ b/docs/API-Reference/Python/appbuilder.core.console.rag.md @@ -54,9 +54,9 @@ print(answer.extra) # 获取结果来源 RAG问答 * **参数:** - * **query** – 用户输入的文本 - * **stream** – 是否开启流式模式 - * **conversation_id** – 会话ID,不传表示新建对话 + * **query** -- 用户输入的文本 + * **stream** -- 是否开启流式模式 + * **conversation_id** -- 会话ID,不传表示新建对话 * **返回:** rag答案 * **返回类型:** diff --git a/docs/sphinx_md/appbuilder.core.md b/docs/API-Reference/Python/appbuilder.core.md similarity index 85% rename from docs/sphinx_md/appbuilder.core.md rename to docs/API-Reference/Python/appbuilder.core.md index acd1d9004..6b00f0fdc 100644 --- a/docs/sphinx_md/appbuilder.core.md +++ b/docs/API-Reference/Python/appbuilder.core.md @@ -24,10 +24,10 @@ AgentRuntime 是对组件调用的服务化封装,开发者不是必须要用 此外,结合 Component 和 Message 自带的运行和调试接口,可以方便开发者快速获得一个调试 Agent 的服务。 * **参数:** - * **component** ([*Component*](#appbuilder.core.component.Component)) – 可运行的 Component, 需要实现 run(message, stream, args) 方法 - * **user_session_config** (*sqlalchemy.engine.URL* *|**str* *|**None*) – Session 输出存储配置字符串。默认使用 sqlite:///user_session.db + * **component** ([*Component*](#appbuilder.core.component.Component)) -- 可运行的 Component, 需要实现 run(message, stream, args) 方法 + * **user_session_config** (*sqlalchemy.engine.URL* *|**str* *|**None*) -- Session 输出存储配置字符串。默认使用 sqlite:///user_session.db 遵循 sqlalchemy 后端定义,参考文档:https://docs.sqlalchemy.org/en/20/core/engines.html#backend-specific-urls - * **tool_choice** (*ToolChoice*) – 可用于Agent强制执行的组件工具 + * **tool_choice** (*ToolChoice*) -- 可用于Agent强制执行的组件工具 ### 示例 @@ -209,8 +209,8 @@ conn.close() 将 appbuilder client 服务化,提供 chainlit demo 页面 * **参数:** - * **host** (*str*) – 服务 host - * **port** (*int*) – 服务 port + * **host** (*str*) -- 服务 host + * **port** (*int*) -- 服务 port * **返回:** None @@ -219,8 +219,8 @@ conn.close() 将 component 服务化,提供 chainlit demo 页面 * **参数:** - * **host** (*str*) – 服务 host - * **port** (*int*) – 服务 port + * **host** (*str*) -- 服务 host + * **port** (*int*) -- 服务 port * **返回:** None @@ -229,9 +229,9 @@ conn.close() 执行一次对话 * **参数:** - * **message** ([*Message*](#appbuilder.core.message.Message)) – 该次对话用户输入的 Message - * **stream** (*bool*) – 是否流式请求 - * **\*\*args** – 其他参数,会被透传到 component + * **message** ([*Message*](#appbuilder.core.message.Message)) -- 该次对话用户输入的 Message + * **stream** (*bool*) -- 是否流式请求 + * **\*\*args** -- 其他参数,会被透传到 component * **返回:** 返回的 Message * **返回类型:** @@ -253,7 +253,7 @@ conn.close() 初始化 AgentRuntime,UserSession 会在这里被初始化 * **参数:** - **values** (*Dict*) – 初始化参数 + **values** (*Dict*) -- 初始化参数 * **返回:** None @@ -265,7 +265,7 @@ A dictionary of computed field names and their corresponding ComputedFieldInfo o Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict]. -#### model_fields *: ClassVar[dict[str, FieldInfo]]* *= {'component': FieldInfo(annotation=Component, required=True), 'tool_choice': FieldInfo(annotation=ToolChoice, required=False), 'user_session': FieldInfo(annotation=Union[Any, NoneType], required=False), 'user_session_config': FieldInfo(annotation=Union[Any, str, NoneType], required=False)}* +#### model_fields *: ClassVar[dict[str, FieldInfo]]* *= {'component': FieldInfo(annotation=Component, required=True), 'tool_choice': FieldInfo(annotation=ToolChoice, required=False, default=None), 'user_session': FieldInfo(annotation=Union[Any, NoneType], required=False, default=None), 'user_session_config': FieldInfo(annotation=Union[Any, str, NoneType], required=False, default=None)}* Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo]. @@ -281,7 +281,7 @@ This replaces Model._\_fields_\_ from Pydantic V1. * **返回:** 无 * **抛出:** - **无** – + **无** -- 说明: : 从 utils 文件夹中拷贝 chainlit.md 文件到当前工作目录下,如果当前工作目录下已存在 chainlit.md 文件,则不拷贝。 @@ -291,10 +291,10 @@ This replaces Model._\_fields_\_ from Pydantic V1. 将 component 服务化,提供 Flask http API 接口 * **参数:** - * **host** (*str*) – 服务运行的host地址,默认为’0.0.0.0’ - * **debug** (*bool*) – 是否开启debug模式,默认为True - * **port** (*int*) – 服务运行的端口号,默认为8092 - * **url_rule** (*str*) – 服务的URL规则,默认为”/chat” + * **host** (*str*) -- 服务运行的host地址,默认为'0.0.0.0' + * **debug** (*bool*) -- 是否开启debug模式,默认为True + * **port** (*int*) -- 服务运行的端口号,默认为8092 + * **url_rule** (*str*) -- 服务的URL规则,默认为"/chat" * **返回:** None @@ -306,7 +306,7 @@ This replaces Model._\_fields_\_ from Pydantic V1. ## appbuilder.core.message module -### *class* appbuilder.core.message.Message(content: \_T | None = None, \*, name: str | None = 'msg', mtype: str | None = 'dict', id: str | None = '88caf1fe-da8b-4dfb-a87c-32e88df1d5cb', \*\*data) +### *class* appbuilder.core.message.Message(content: \_T | None = None, \*, name: str | None = 'msg', mtype: str | None = 'dict', id: str | None = 'b197cfc9-234e-4811-8304-fb8783b77a92', \*\*data) 基类:`BaseModel`, `Generic`[`_T`] @@ -352,7 +352,7 @@ A dictionary of computed field names and their corresponding ComputedFieldInfo o Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict]. -#### model_fields *: ClassVar[dict[str, FieldInfo]]* *= {'content': FieldInfo(annotation=Union[~_T, NoneType], required=False, default={}), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default='88caf1fe-da8b-4dfb-a87c-32e88df1d5cb'), 'mtype': FieldInfo(annotation=Union[str, NoneType], required=False, default='dict'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default='msg')}* +#### model_fields *: ClassVar[dict[str, FieldInfo]]* *= {'content': FieldInfo(annotation=Union[~_T, NoneType], required=False, default={}), 'id': FieldInfo(annotation=Union[str, NoneType], required=False, default='b197cfc9-234e-4811-8304-fb8783b77a92'), 'mtype': FieldInfo(annotation=Union[str, NoneType], required=False, default='dict'), 'name': FieldInfo(annotation=Union[str, NoneType], required=False, default='msg')}* Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo]. @@ -376,42 +376,42 @@ Component模块包括组件基类,用户自定义组件需要继承Component Component基类, 其它实现的Component子类需要继承该基类,并至少实现run方法. * **参数:** - * **meta** ([*ComponentArguments*](#appbuilder.core.component.ComponentArguments)) – component meta information. - * **secret_key** (*str*) – user authentication token. - * **gateway** (*str*) – backend gateway server address. - * **lazy_certification** (*bool*) – lazy certification flag. + * **meta** ([*ComponentArguments*](#appbuilder.core.component.ComponentArguments)) -- component meta information. + * **secret_key** (*str*) -- user authentication token. + * **gateway** (*str*) -- backend gateway server address. + * **lazy_certification** (*bool*) -- lazy certification flag. #### *async* abatch(\*args, \*\*kwargs) → List[[Message](#appbuilder.core.message.Message)] abatch method,待子类重写实现 * **参数:** - * **args** – list of arguments - * **kwargs** – keyword arguments + * **args** -- list of arguments + * **kwargs** -- keyword arguments #### *async* arun(\*args, \*\*kwargs) → [Message](#appbuilder.core.message.Message) | None arun method,待子类重写实现 * **参数:** - * **args** – list of arguments - * **kwargs** – keyword arguments + * **args** -- list of arguments + * **kwargs** -- keyword arguments #### batch(\*args, \*\*kwargs) → List[[Message](#appbuilder.core.message.Message)] batch method,待子类重写实现 * **参数:** - * **args** – list of arguments - * **kwargs** – keyword arguments + * **args** -- list of arguments + * **kwargs** -- keyword arguments #### create_langchain_tool(tool_name='', \*\*kwargs) create_langchain_tool method,将AB-SDK的Tool转换为LangChain的StructuredTool * **参数:** - * **tool_name** – string, optional, default is empty string - * **kwargs** – keyword arguments + * **tool_name** -- string, optional, default is empty string + * **kwargs** -- keyword arguments * **返回:** StructuredTool @@ -433,16 +433,16 @@ create_langchain_tool method,将AB-SDK的Tool转换为LangChain的StructuredTool run method,待子类重写实现 * **参数:** - * **inputs** – list of arguments - * **kwargs** – keyword arguments + * **inputs** -- list of arguments + * **kwargs** -- keyword arguments #### set_secret_key_and_gateway(secret_key: str | None = None, gateway: str = '') 设置密钥和网关地址。 * **参数:** - * **secret_key** (*Optional* *[**str* *]* *,* *optional*) – 密钥,默认为None。如果未指定,则使用实例当前的密钥。 - * **gateway** (*str* *,* *optional*) – 网关地址,默认为空字符串。如果未指定,则使用实例当前的网关地址。 + * **secret_key** (*Optional* *[**str* *]* *,* *optional*) -- 密钥,默认为None。如果未指定,则使用实例当前的密钥。 + * **gateway** (*str* *,* *optional*) -- 网关地址,默认为空字符串。如果未指定,则使用实例当前的网关地址。 * **返回:** None @@ -460,7 +460,7 @@ tool_desc method,待子类重写实现 tool_eval method,待子类重写实现 * **参数:** - **kwargs** – keyword arguments + **kwargs** -- keyword arguments #### tool_name() → List[str] diff --git a/docs/sphinx_md/appbuilder.md b/docs/API-Reference/Python/appbuilder.md similarity index 100% rename from docs/sphinx_md/appbuilder.md rename to docs/API-Reference/Python/appbuilder.md diff --git a/docs/sphinx_md/index.md b/docs/API-Reference/Python/index.md similarity index 100% rename from docs/sphinx_md/index.md rename to docs/API-Reference/Python/index.md diff --git a/docs/sphinx_md/modules.md b/docs/API-Reference/Python/modules.md similarity index 100% rename from docs/sphinx_md/modules.md rename to docs/API-Reference/Python/modules.md diff --git a/docs/basic_module/rag.md b/docs/Application/RAG/BasicKnowledge/rag.md similarity index 100% rename from docs/basic_module/rag.md rename to docs/Application/RAG/BasicKnowledge/rag.md diff --git a/docs/BasisModule/Components/animal_recognize/README.md b/docs/BasisModule/Components/animal_recognize/README.md new file mode 100644 index 000000000..536d4ca61 --- /dev/null +++ b/docs/BasisModule/Components/animal_recognize/README.md @@ -0,0 +1,112 @@ +# 动物识别 (AnimalRecognition) + +## 简介 +动物识别 (AnimalRecognition) 支持对于输入的一张图片(可正常解码),输出动物识别结果。 + +### 功能介绍 +* 识别动物名称 + + 识别近八千种动物,接口返回动物名称、置信度信息,支持自定义返回结果数, 并可获取识别结果对应的百科信息; + +### 应用场景 +* 拍照识图 + + 根据拍摄照片,识别图片中动物的名称,可配合其它识图能力对识别的结果进一步细化,提升用户体验,广泛应用于拍照识图类APP中。 + + +## 基本用法 + +我们选取一张可爱的大熊猫照片,使用动物识别组件进行识别。 + + +![大熊猫](https://bj.bcebos.com/v1/appbuilder/animal_recognize_test.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T12%3A19%3A16Z%2F-1%2Fhost%2F411bad53034fa8f9c6edbe5c4909d76ecf6fad6862cf937c03f8c5260d51c6ae +) + + +下面是动物识别的代码示例: +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 从BOS读取样例图片 +image_url = "https://bj.bcebos.com/v1/appbuilder/animal_recognize_test.png?" \ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T" \ + "12%3A19%3A16Z%2F-1%2Fhost%2F411bad53034fa8f9c6edbe5c4909d76ecf6fad68" \ + "62cf937c03f8c5260d51c6ae" +raw_image = requests.get(image_url).content +# 创建动物识别组件实例 +animal_recognition = appbuilder.AnimalRecognition() +# 执行识别操作并获取结果 +out = animal_recognition.run(appbuilder.Message(content={"raw_image": raw_image})) +print(out.content) +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|---------|---------|------|-----------------------------|------------------------------------------------| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | Message(content={"raw_image": b"待识别的图片字节流数据"}) | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +| retry | Integer | 否 | HTTP重试次数 | 3 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|--------|---------|------|---------------------------------------| +| result | Array[] | 返回结果 | [{"name":"国宝大熊猫","score":"0.975161"}] | +| +name | String | 动物名称 | "国宝大熊猫" | +| +score | String | 置信度 | "0.975161" | +### 响应示例 +```json +{ + "result":[ + { + "name":"国宝大熊猫", + "score":"0.975161" + }, + { + "name":"秦岭四宝", + "score":"0.0161979" + }, + { + "name":"团团圆圆", + "score":"0.00239265" + }, + { + "name":"圆仔", + "score":"0.00192277" + }, + { + "name":"棕色大熊猫", + "score":"0.00130296" + }, + { + "name":"小熊猫", + "score":"0.000275865" + } + ] +} +``` + +## 高级用法 + +目前该模块仅提供基础的动物识别功能。 + + +## 更新记录和贡献 +* 动物识别能力 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/asr/README.md b/docs/BasisModule/Components/asr/README.md new file mode 100644 index 000000000..c9d9e9be4 --- /dev/null +++ b/docs/BasisModule/Components/asr/README.md @@ -0,0 +1,82 @@ +# 短语音识别-极速版 (Automatic Speech Recognition) + +## 简介 +短语音识别 (Automatic Speech Recognition) 可以将音频流实时识别为文字,并返回每句话的开始和结束时间,适用于手机语音输入、语音搜索、人机对话等语音交互场景。 + +### 功能介绍 +通过极速API接口,将语音识别为文字,毫秒级响应,快速返回识别结果。 + +### 特色优势 +采用领先国际的流式端到端建模方法SMLTA,近场普通话语音识别准确率可达98%;采用最新识别解码技术,识别速度提升5倍以上,极速返回识别结果;专有GPU服务集群、提供企业级的稳定服务,弹性灵活的高并发承载及高可靠性保障。 + +### 应用场景 +语音输入、语音搜索、人机对话等。 + +## 基本用法 + +下面是短语音识别的代码示例: + +```python +import os +import requests +import appbuilder +# 设置环境变量和初始化 +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +asr = appbuilder.ASR() + +audio_file_url = "https://bj.bcebos.com/v1/appbuilder/asr_test.pcm?authorization=bce-auth-v1" \ + "%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T10%3A56%3A41Z%2F-1%2Fhost" \ + "%2Fa6c4d2ca8a3f0259f4cae8ae3fa98a9f75afde1a063eaec04847c99ab7d1e411" +audio_data = requests.get(audio_file_url).content +content_data = {"audio_format": "pcm", "raw_audio": audio_data, "rate": 16000} +msg = appbuilder.Message(content_data) +out = asr.run(msg) +print(out.content) + +# {'result': ['北京科技馆。']} +``` +## 参数说明 + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +无 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 | 示例值 | +|--------|--------|--------|----|--------| +|message |String |是 |输入的消息,用于模型的主要输入内容。这是一个必需的参数,语音时长最长为60S| Message(content={"raw_audio": b"..."}) | +|audio_format|String|是 |定义语言文件的格式,包括"pcm"、"wav"、"amr",默认值为"pcm"| pcm | +|rate|Integer|是 |定义录音采样率,固定值16000| 16000 | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer|是 |HTTP重试次数| 3 | + +### 响应参数 +|参数名称 | 参数类型 |描述 |示例值| +|--------|--------------|----|------| +|result | List[String] |返回结果|["北京科技馆。"]| +### 响应示例 +```json +{"result": ["北京科技馆。"]} +``` +### 错误码 +| 错误码 |描述| +|---|---| +| 0 |success| +| 2000 |data empty| + +## 高级用法 + +目前该模块仅提供基础的语音识别功能。 + + +## 更新记录和贡献 +* 短语音识别能力 (2023-12) diff --git a/docs/BasisModule/Components/dish_recognize/README.md b/docs/BasisModule/Components/dish_recognize/README.md new file mode 100644 index 000000000..543c95d27 --- /dev/null +++ b/docs/BasisModule/Components/dish_recognize/README.md @@ -0,0 +1,77 @@ +# 菜品识别(DishRecognition) + +## 简介 +菜品识别组件(DishRecognition)可以识别超过9千种菜品,可准确识别图片中的菜品名称、卡路里,适用于多种客户识别菜品的业务场景中。 + +### 功能介绍 +识别超过9千种菜品,适用于识别只含有单个菜品的图片,接口返回菜品的名称、卡路里等综合信息 + +### 特色优势 +识别精度高,响应速度快 + +### 应用场景 +1. 餐饮健康:根据拍摄照片,识别图片中菜品名称,获取菜品参考卡路里含量和百科信息,可结合识别结果进一步提供饮食推荐、健康管理方案等相关功能,增强用户体验,广泛应用于餐饮娱乐类和健康管理类APP中 +2. 智能结算:根据拍摄照片,识别图片中菜品名称和位置,提高结算效率,减少人工录入成本,广泛应用于餐饮行业中 + +## 基本用法 +通过如下示例代码可以快速开始使用菜品识别组件: + +示例图片为: + +![菜品识别示例图片](https://bj.bcebos.com/v1/appbuilder/dish_recognize_test.jpg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T10%3A58%3A25Z%2F-1%2Fhost%2F7b8fc08b2be5adfaeaa4e3a0bb0d1a1281b10da3d6b798e116cce3e37feb3438) + +```python +import os +import requests +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +dish_recognition = appbuilder.DishRecognition() + +image_url = "https://bj.bcebos.com/v1/appbuilder/dish_recognize_test.jpg?" \ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T" \ + "10%3A58%3A25Z%2F-1%2Fhost%2F7b8fc08b2be5adfaeaa4e3a0bb0d1a1281b10da" \ + "3d6b798e116cce3e37feb3438" +raw_image = requests.get(image_url).content + +resp = dish_recognition(appbuilder.Message({"raw_image": raw_image})) +# 输出{'result': [{'name': '剁椒鱼头', 'calorie': '127'}]} +print(resp.content) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 | 示例值 | +|--------|--------|--------|----|--------| +|message |obj:`Message` |是 |待识别的图片字节流数据或url| Message(content={"raw_image": b"..."}) 或Message(content={"url": "..."}) | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer|否 |HTTP重试次数| 3 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |List[Object] |返回结果|[{"name": "剁椒鱼头", "calorie": "127"}]| +|result[0].name |String |菜品名称|剁椒鱼头| +|result[0].calorie |String |菜品卡路里含量|127| + + +### 响应示例 +```json +{"result": [{"name": "剁椒鱼头", "calorie": "127"}]} +``` + + +## 更新记录和贡献 +* 菜品识别 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/doc_crop_enhance/README.md b/docs/BasisModule/Components/doc_crop_enhance/README.md new file mode 100644 index 000000000..892c424bb --- /dev/null +++ b/docs/BasisModule/Components/doc_crop_enhance/README.md @@ -0,0 +1,95 @@ +# 文档矫正增强 (DocCropEnhance) + +## 简介 +文档矫正增强 (DocCropEnhance) 可对图片中的文件、卡证、票据等内容进行四角点检测定位,提取主体内容并对其进行矫正,同时可选图片增强效果进一步提升图片清晰度,达到主体检测矫正并增强的目的,提升图片整体质量 +### 功能介绍 +* 文档矫正增强 + + 支持对文档中的文件、卡证等内容进行主体检测与矫正,同时可开启增强功能 +### 特色优势 +* 技术领先 + + 模型针对图片倾斜、弯曲等情况进行专项优化,鲁棒性强,在处理图像的同时,可完整保留原有文档内容 +* 能力丰富 + + 提供文档图片矫正、增强、去手写等多项能力,全方位提升图像质量,适用于采集质量把控、文字识别效果提升等多应用场景 +### 应用场景 + 旨在改善文档图像质量,提升可读性和可处理性,广泛应用于图像处理和分析、归档和数字化等领域 +## 基本用法 + +下面是文档矫正增强代码示例: + +示例图片为 + +![示例图片](https://bj.bcebos.com/v1/appbuilder/doc_enhance_test.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T12%3A51%3A09Z%2F-1%2Fhost%2F2020d2433da471b40dafa933d557a1ebe8abf28df78010f865e45dfcd6dc3951) + + +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 从BOS读取样例图片 +image_url = "https://bj.bcebos.com/v1/appbuilder/doc_enhance_test.png?" \ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01" \ + "-24T12%3A51%3A09Z%2F-1%2Fhost%2F2020d2433da471b40dafa933d557a1e" \ + "be8abf28df78010f865e45dfcd6dc3951" +raw_image = requests.get(image_url).content +# 创建文档矫正增强组件实例 +doc_crop_enhance = appbuilder.DocCropEnhance() +# 执行操作并获取结果 +out = doc_crop_enhance.run(appbuilder.Message(content={"raw_image": raw_image}),enhance_type=3) +print(out.content) +# {"image_processed": "...", 'points': [{'y': 1371, 'x': 0}, {'x': 0, 'y': 0}, {'x': 997, 'y': 0}, {'x': 994, 'y': 1371}]} +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|--------------|---------|------|-----------------------------------------------------------------------------------------------------------------------------|------------------------------------------------| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | Message(content={"raw_image": b"待识别的图片字节流数据"}) | +| enhance_type | Integer | 否 | 选择是否开启图像增强功能,如开启可选择增强效果,可选值如下:enhance_type =0:默认值,不开启增强功能,enhance_type = 1:去阴影,enhance_type = 2:增强并锐化,enhance_type = 3:黑白滤镜 | 0 | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +| retry | Integer | 否 | HTTP重试次数 | 3 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|-----------------|---------|-------------------------------------------|-----------------------------------------------------------------------------------------| +| image_processed | String | 返回处理后的图片,base64编码 | "..." | +| points | Array[] | 检测到的图片内主体在原图中的四角点坐标 | [{ "x": 0, "y": 1371 },{ "x": 0, "y": 0 },{ "x": 997, "y": 0 },{ "x": 994, "y": 1371 }] | + +### 响应示例 +```json +{ + "image_processed": "...", + "points": [ + { "x": 0, "y": 1371 }, + { "x": 0, "y": 0 }, + { "x": 997, "y": 0 }, + { "x": 994, "y": 1371 } + ] +} +``` + +## 高级用法 + +目前该模块仅提供基础的文档矫正增强功能。 + + +## 更新记录和贡献 +* 文档矫正增强能力 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/doc_format_converter/README.md b/docs/BasisModule/Components/doc_format_converter/README.md new file mode 100644 index 000000000..97623e0fb --- /dev/null +++ b/docs/BasisModule/Components/doc_format_converter/README.md @@ -0,0 +1,71 @@ +# 文档格式转换 (DocFormatConverter) + +## 简介 +文档格式转换:识别文档内文字及版面布局,可将多种类型的版式文档转换为流式文档。 + +### 功能介绍 +支持识别图片中文档版面布局,提取文字内容,并转换为保留原文档版式的Word/Excel,方便二次编辑和复制。 + +### 特色优势 +1、多种格式互转:支持多种格式相互转换,覆盖全面; + +2、图像预处理:支持对文件朝向检测、印章/水印去除后等预处理,提升格式转换效果。 + +### 应用场景 +文档电子化:标题/正文/表格/配图等版式信息精准识别与还原,快速录入文档内容,实现纸质档案电子化。 + +## 基本用法 + + +```python +import os +import requests +import appbuilder + + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +doc_format_converter = appbuilder.DocFormatConverter() + +image_url = "https://ai-cape-strategy-data.bj.bcebos.com/document-restructure/1EF33F9307451C9413D5D1160.jpg" + +resp = doc_format_converter(appbuilder.Message({"file_path": image_url})) +# 输出{"word_url":"", "excel_url":""} +print(resp.content) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 + +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + + +### 初始化参数 +无 + +### 调用参数 +| 参数名称 |参数类型 |是否必须 | 描述 | 示例值 | +|------------|--------|--------|-------------|------| +| file_path |String |是 | 需要转换的文件的本地存储路径或远程URL,支持图片, URL长度不超过1024字节,图片base64编码后大小不超过4M,最短边至少15px,最长边最大4096px,支持jpg/jpeg/png/bmp格式 | "./test.png" | + + +### 响应参数 +| 参数名称 |参数类型 | 描述 | 示例值 | +|-------------|--------|------|-------------------------| +| word_url |Message | 还原后的word文件的下载地址,文件识别失败时返回空 | "http://bos.bce.cn/dsfkjc.docx"| +| excel_url |Message | 还原后的Excel文件的下载地址(源文件中含表格时才会输出),若文档中没有表格则返回"" | "http://bos.bce.cn/dsfkjc.xlsx"| + +### 常见错误信息 +| 错误信息 | 描述 | +|-------------------------|-------------| +|IAM Certification failed |IAM鉴权失败| +|Check file failed!|文件检查错误,请检查文件大小以及URL是否符合要求 | + +## 更新记录和贡献 +* 文档格式转换 (2024-04) \ No newline at end of file diff --git a/docs/BasisModule/Components/doc_parser/README.md b/docs/BasisModule/Components/doc_parser/README.md new file mode 100644 index 000000000..2fb605139 --- /dev/null +++ b/docs/BasisModule/Components/doc_parser/README.md @@ -0,0 +1,210 @@ +# 文档解析(DocParser) + +## 简介 +文档解析组件(DocParser)可以用于文档内容解析,支持PDF、JPG、DOC、TXT、XLS、PPT等16种文档格式的内容解析。 + +### 功能介绍 +文档解析组件(DocParser)支持从文档中解析出文档字符内容、版式信息、位置坐标、表格结构、阅读顺序、标题段落层级树等内容 + +### 特色优势 +DocParser支持解析以下几种类型的文档: +* 版式文档:「pdf」、「jpg」、「jpeg」、「png」、「bmp」、「tif」、「tiff」、「ofd」 +* 流式文档:「doc」、「docx」、「txt」、「xls」、「xlsx」、「wps」、「ppt」、「pptx」 + +支持解析的文档内容包括: +* 文档的版式分析,识别文档中的标题、正文、页眉页脚、表格等 +* 文档内的文字内容、位置坐标 +* 表格结构和内容 +* 构建文档标题段落层级树 +* 构建文档阅读顺序 +* 支持以上类型文档转成pdf格式 + +### 应用场景 +* 文档内容解析 +* 文档版式解析 +* 文档格式转化 + +## 基本用法 + +以下是使用DocParser快速开始的一个示例: + +```python +from appbuilder.core.components.doc_parser.doc_parser import DocParser +from appbuilder.core.message import Message +import os +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 进行文档内容解析 +file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" +file_data = requests.get(file_url).content +file_path = "./test.pdf" # 待解析的文件路径 +with open(file_path, "wb") as f: + f.write(file_data) +msg = Message(file_path) +parser = DocParser() +parse_result = parser(msg) +print(parse_result.content) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` +### 初始化参数 +无 + +### 调用参数 +| 参数名称 |参数类型 |是否必须 | 描述 | 示例值 | +|------------|--------|--------|-------------|------| +| message |String |是 | 需要解析的文档的存储路径 | "./test.pdf" | +| return_raw |bool|否 | 指定是否返回原始的解析结果结构,默认为 False。 | True | + +### 响应参数 +| 参数名称 |参数类型 | 描述 | 示例值 | +|-------------|--------|------|-------------------------| +| parseResult |Message | 解析结果 | ParseResult对象,包含文档解析的内容 | +### 响应示例 +```python +class ParseResult(BaseModel): + """ + 解析结果整体结构 + """ + para_node_tree: Optional[List[ParaNode]] = [] # 标题段落层级树,当ParserConfig.return_para_node_tree为True时有内容 + page_contents: Optional[List[PageContent]] = [] # 页面的解析内容,详细内容参考base.py中的PageContent类 + pdf_data: Optional[str] = "" # pdf格式数据, 当ParserConfig.convert_file_to_pdf为True时有内容 + raw: Optional[Dict] = {} # 云端服务的原始解析结果 +``` + +## 高级用法 +DocParser支持自定义文档解析的配置和对解析结果进行二次处理,以下是一个示例: + +```python +from appbuilder.core.components.doc_parser.doc_parser import DocParser +from appbuilder.core.message import Message +import os +import requests + +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 先进行文档内容解析 +file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" +file_data = requests.get(file_url).content +file_path = "./test.pdf" # 待解析的文件路径 +with open(file_path, "wb") as f: + f.write(file_data) +msg = Message(file_path) + +parser = DocParser() +config = parser.config +config.convert_file_to_pdf = True # 指定将当前文件转换成pdf格式 +config.page_filter = [0, 2] # 只解析第1页和第3页,注意:页码从0开始 + +parse_result = parser(msg) +file_content = parse_result.content +pdf_data = file_content.pdf_data # 获取原始文件转化成pdf之后的数据 +page_content = file_content.page_content[1] # 获取第3页的解析结果 +page_table = page_content.tables[0] # 第3页中第一个表格的解析结果(如有),表格的解析内容的结构详见上一章详细说明部分关于表格结果的说明 +cells = page_table.cells # 表格的单元格信息 +cell_text = cells[0] # 表格第一个单元格的文本内容 +matrix = page_table.cell_matrix # 表格的单元格矩阵,用来描述单元格的空间位置信息 +... +自定义处理表格内容 +... +``` +### 高级用法参数详细说明 + +在base.py中定义了DocParser配置和结果结构,下面做一些详细的说明和解释: +### DocParser配置 +```python +class ParserConfig(BaseModel): + """ + DocParser解析配置 + """ + convert_file_to_pdf: bool = Field(alias="need_pdffile_data", default=False) # 是否需要将当前文件转换成pdf格式 + page_filter: List[int] = Field(alias="page_filter", default=None) # 指定解析的页码,默认传None,代表全部解析 + return_para_node_tree: bool = Field(alias="return_para_nodes", default=True) # 是否需要返回标题段落层级树 + erase_watermark: bool = Field(alias="erase_watermark", default=False) # 解析的过程中是否需要去除水印的干扰 +``` +### DocParser解析结果 +```python +class ParseResult(BaseModel): + """ + 解析结果整体结构 + """ + para_node_tree: Optional[List[ParaNode]] = [] # 标题段落层级树,当ParserConfig.return_para_node_tree为True时有内容 + page_contents: Optional[List[PageContent]] = [] # 页面的解析内容,详细内容参考base.py中的PageContent类 + pdf_data: Optional[str] = "" # pdf格式数据, 当ParserConfig.convert_file_to_pdf为True时有内容 + raw: Optional[Dict] = {} # 云端服务的原始解析结果 + +class ParaNode(BaseModel): + """ + 文档内容层级树结构 + """ + node_id: int # 标题段落层级树的节点id + text: str # 节点文本 + para_type: str # 节点类型,包括:title、text、table + parent: Optional[int] # 父节点id,文本的父节点是标题,标题的父节点是更高一级的标题 + children: List[int] # 子节点id列表,标题节点才会有子节点 + position: List[Position] # 节点位置信息,包括:页码和在对应页面的位置坐标 + table: Optional[Table] = None # 节点类型为table时,包含表格解析结果 + +class PageContent(BaseModel): + """ + 单页文档内容结构 + """ + page_num: int # 页码 + page_width: int # 页面宽度 + page_height: int # 页面高度 + page_angle: int # 页面旋转角度 + page_type: str # 页面类型 + page_layouts: List[Layout] # 页面版式信息 + titles: Optional[List[Layout]] = [] # 页面标题信息 + tables: Optional[List[Table]] = [] # 页面表格信息 + +class Layout(BaseModel): + """ + layout结构 + """ + type: str # 布局类型 + text: str # 布局文本 + box: List[int] # 布局位置信息,包括:左上角x、y坐标和宽高 + node_id: int # 布局在标题层级树中的节点id + +class Table(BaseModel): + """ + 表格结构 + """ + box: List[int] # 表格位置信息,包括:左上角x、y坐标和宽高 + cells: List[Layout] = Field(alias="children") # 表格单元格信息,列表形式 + matrix: List[List[int]] # 表格单元格矩阵,用来描述单元格的空间位置信息 + node_id: int # 表格在标题层级树中的节点id +``` +表格解析结构说明, 以下图为例: + +![表格](https://bj.bcebos.com/v1/appbuilder-sdk-components/table.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-05-30T03%3A09%3A32Z%2F-1%2Fhost%2Fb36695708e047713b5fe17b49733228aecdaf46322a5cec8d4e7bd0989032197) + +```python +# cells中一共有26个元素,matrix中的每一个元素代表单元格在cells中的索引 +cells = [{"box": [90, 376, 21, 10], "type": "cell", "text": "序号", "node_id": 1}, ...] +matrix = [ + [0, 1, 2, 3], + [4, 5, 6, 7], + [8, 9, 10, 11], + [12, 13, 14, 15], + [16, 17, 18, 19], + [20, 21, 22, 23], + [24, 24, 25, 26] + ] +``` + + +## 更新记录和贡献 +* 文档解析能力 (2023-12) \ No newline at end of file diff --git a/docs/BasisModule/Components/doc_splitter/README.md b/docs/BasisModule/Components/doc_splitter/README.md new file mode 100644 index 000000000..01185f1a6 --- /dev/null +++ b/docs/BasisModule/Components/doc_splitter/README.md @@ -0,0 +1,163 @@ +# 文档切分(DocSplitter) + +## 简介 +文档切分组件(DocSplitter)可以用于对文档进行段落切分。 + +### 功能介绍 +对解析后的文档,支持将文档划分为多个段落,便于后续处理和分析。 +目前支持的文档切分类型splitter_type如下: +* split_by_chunk:按照最大段落大小,对文档进行切分 +* split_by_title:按照文档的title标识层级进行段落切分 + +### 特色优势 +组件对文档分隔段落,准确高效,且有多种可选策略,代码简单可快速上手,是后续大模型使用文档信息的基础。 + + +### 应用场景 +对解析后的各类型文档进行分段,用于后续任务的输入。 + + +## 基本用法 +--- +参考tests目录下的[test_doc_splitter.py](https://github.com/baidubce/app-builder/blob/master/appbuilder/tests/test_doc_splitter.py),可快速搭建自己的文档切分用例。 + +以下是DocSplitter快速开始的一个示例。 + +#### DocSplitter示例: + +```python +import os +import requests +from appbuilder.core.components.doc_parser.doc_parser import DocParser +from appbuilder.core.components.doc_splitter.doc_splitter import DocSplitter +from appbuilder.core.message import Message + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 先解析 +file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" +file_data = requests.get(file_url).content +file_path = "./test.pdf" +with open(file_path, "wb") as f: + f.write(file_data) + +msg = Message(file_path) + +parser = DocParser() +parse_result = parser(msg, return_raw=True) + +# 基于parser的结果切分段落 +splitter = DocSplitter(splitter_type="split_by_chunk") +res_paras = splitter(parse_result) + +# 打印结果 +print(res_paras.content) +``` +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +`splitter_type`(str): 切分器的类型,支持`split_by_chunk`和`split_by_title`两种方式,必选参数 + +### 调用参数 +* `message`(Message): 上游`docparser`的文档解析结果 +* 备注: 文档解析时,`parser(msg, return_raw=True)`函数的参数`return_raw`必须为`True` + +|参数名称 |参数类型 |是否必须 |描述 | 示例值 | +|--------|--------|--------|----|--------| +|splitter_type |String |是 |文本提取器类型, 目前支持`split_by_chunk`, `split_by_title`| DocSplitter(splitter_type="split_by_chunk") | + + +### 响应参数 +|参数名称 | 参数类型 |描述 | 示例值 | +|--------|------|----|----------------| +|res_paras |Message |返回结果| [{段落1}, {段落2}] | + +### 响应示例 +``` +Message(name=msg, content={'paragraphs': [{'text': '第十节其他重要事项'}]}) +``` + +### 错误码 +无 + + +## DocSplitter高级用法 + +#### 示例: + +```python +import os +import requests +from appbuilder.core.components.doc_parser.doc_parser import DocParser +from appbuilder.core.components.doc_splitter.doc_splitter import DocSplitter +from appbuilder.core.message import Message + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 先解析 +file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" +file_data = requests.get(file_url).content +file_path = "./test.pdf" +with open(file_path, "wb") as f: + f.write(file_data) + +msg = Message(file_path) + +parser = DocParser() +parse_result = parser(msg, return_raw=True) + +# 基于parser的结果切分段落 +doc_splitter = DocSplitter(splitter_type="split_by_chunk", + separators=["。", "!", "?", ".", "!", "?", "……", "|\n"], + max_segment_length=800, + overlap=0) +res_paras = doc_splitter(parse_result) + +# 打印结果 +print(res_paras.content) +``` +## 参数说明: + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 调用参数 +* `message`(Message): 上游`docparser`的文档解析结果 +* 备注: 文档解析时,`parser(msg, return_raw=True)`函数的参数`return_raw`必须为`True` +* 备注: `splitter_type`为`split_by_title`时,`max_segment_length`, `separators`, `overlap`, `join_symbol`参数不起作用 + +|参数名称 | 参数类型 | 是否必须 |描述 | 示例值 | +|--------|---------|------|----|-------| +|splitter_type | String | 是 |文本提取器类型, 目前支持`split_by_chunk`, `split_by_title`| DocSplitter(splitter_type="split_by_chunk") | +|max_segment_length| Integer | 否 |切分时段落的最大长度| 800 | +|separators| List | 否 |固定字数时,段落最后截断的分隔符| ["。", "!", "?", ".", "!", "?", "……", "|\n"] | +|overlap| Integer | 否 |分隔的段落间重叠的内容字数| 200 | +|join_symbol| String | 否 |组成固定字数段落时,文本块段落间的链接符| 空字符 | + +### 响应参数 +|参数名称 | 参数类型 |描述 | 示例值 | +|--------|------|----|----------------| +|res_paras |Message |返回结果| [{段落1}, {段落2}] | + +### 响应示例 +``` +Message(name=msg, content={'paragraphs': [{'text': '第十节其他重要事项'}]}) +``` + +## 更新记录和贡献 +* 文档分隔 (2023-12) + + diff --git a/docs/BasisModule/Components/document_understanding/README.md b/docs/BasisModule/Components/document_understanding/README.md new file mode 100644 index 000000000..1bd9333ff --- /dev/null +++ b/docs/BasisModule/Components/document_understanding/README.md @@ -0,0 +1,96 @@ +# 长文档内容理解(DocumentUnderstanding) + +## 简介 +长文档内容理解组件(DocumentUnderstanding)支持对图片以及文档内容进行理解,并基于图片以及文档内容对用户的提问进行回答, +包括但不限于文档内容问答、总结摘要、内容分析。 +### 功能介绍 +根据用户上传的文档(支持txt、docx、pdf、xlsx、png、jpg、jpeg等多种格式)、query、指令生成大模型答案 +### 特色优势 +处理长上下文的大模型内容理解任务 +### 应用场景 +长上下文的文档问答 + +## 基本用法 +### 快速开始 + +```python + +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +APPBUILDER_TOKEN = "YOUR-TOKEN" +os.environ["APPBUILDER_TOKEN"] = APPBUILDER_TOKEN +du = appbuilder.DocumentUnderstanding() +query = appbuilder.Message("这篇文档讲了什么") +instruction = "请根据文档内容回答问题,用一句话简短概括" +addition_instruction = "用一句话简短概括" ##用户增强指令,可选填,该内容会进一步增强大模型的指令跟随能力,将你最需要增强效果的指令填于此,内容可以与上述的"instruction"基础指令有重复,注意:该字段内容过多会一定程度影响大模型内容严谨度,请注意控制该字段的指令字数 +app_id = "YOUR-APP-ID" ##你需要在系统上自己的账号下(https://qianfan.cloud.baidu.com/appbuilder)创建任意空Agent,并获取该Agent的app_id(即界面上的应用ID,在首页->个人空间->应用 里面即会显示应用ID),这里任意空Agent就可以,无需任何配置信息,这个agent的作用只是为了获取app_id信息 +file_path = "YOUR-FILE-PATH" ##填写你的本地待分析文件路径 +stream = False ##是否开启流式输出功能 +response_ = du.run(query, + file_path, + instruction=instruction, + addition_instruction=addition_instruction, + app_id=app_id, + stream=stream) + +for result in response_: + print(result) ##打印输出的大模型答案 +``` + + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +import os +os.environ['APPBUILDER_TOKEN'] = 'bce-YOURTOKEN' +``` + + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `secret_key` | str | 否 | 用户鉴权token,默认从环境变量中获取: `os.getenv("APPBUILDER_TOKEN", "")` | bce-v3/XXX | +| `gateway` | str | 否 | 后端网关服务地址,默认从环境变量中获取: `os.getenv("GATEWAY_URL", "")` | https://appbuilder.baidu.com | +| `lazy_certification` | bool | 否 | 延迟认证,为True时在第一次运行时认证。默认为False。 | False | + + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|------------------------|------|------|--------------------------------------------------------------------------|-----------------------------| +| `message` | obj | 是 | 输入消息,用户输入query。 | Message(content=input_data) | +| `file_path` | str | 是 | 用户需要分析的文档 | "test.pdf" | +| `app_id` | str | 是 | 你需要在系统上自己的账号下(https://qianfan.cloud.baidu.com/appbuilder)创建任意空Agent,并获取该Agent的app_id(即界面上的应用ID,在首页->个人空间->应用 里面即会显示应用ID),这里任意空Agent就可以,无需任何配置信息,这个agent的作用只是为了获取app_id信息 | "YOUR-APP-ID" | +| `instruction` | str | 否 | 用户指令 | "你的回答要严谨客观,且答案一定要分点阐述" | +| `addition_instruction` | str | 否 | 用户增强指令,可选填,该内容会进一步增强大模型的指令跟随能力,将你最需要增强效果的指令填于此,注意:该字段内容过多会一定程度影响大模型内容严谨度 | "你的答案需要分点阐述" | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +| ------- |------| -------- | -------- | +| `result` | str | 模型运行后的输出结果 | "" | + +### 响应示例-流式输出 +``` +data: {"type": "text", "text": "文件解析完成, 耗时13485.63ms\n\n"} request_id: f99a7230-649f-4170-ade7-62d8368a18e6 +data: {"type": "text", "text": "**Human", "event_status": "running"} request_id: f99a7230-649f-4170-ade7-62d8368a18e6 +data: {"type": "text", "text": "-Timescale Adaptation in an Open-Ended Task Space** 文档详细介绍了DeepMind团队开发的自适应代理(Adaptive Agent,简称", "event_status": "running"} request_id: f99a7230-649f-4170-ade7-62d8368a18e6 +data: {"type": "text", "text": "AdA)在开放任务空间中的快速适应能力。", "event_status": "running"} request_id: f99a7230-649f-4170-ade7-62d8368a18e6 +data: {"type": "text", "text": "", "event_status": "done"} request_id: f99a7230-649f-4170-ade7-62d8368a18e6 +``` + +### 响应示例-非流式输出 +``` +{'code': 0, 'message': '', 'result': {'text': '文件解析完成, 耗时14572.57ms\n\n**Human-Timescale Adaptation in an Open-Ended Task Space** 文档详细介绍了DeepMind团队开发的自适应代理(Adaptive Agent,简称AdA)在开放任务空间中的快速适应能力。以下是文档的主要内容和贡献点:\n\n1. **引言**:\n - 强调了快速适应能力对于人工智能的重要性,特别是在现实世界中的应用和与人类互动的场景中。\n - 提出了通过元强化学习(meta-RL)和自动课程学习(auto-curriculum learning)等方法,训练能够在未见过的环境中快速适应的代理。\n\n2. **自适应代理(AdA)**:\n - 介绍了AdA的设计和训练方法,包括其在开放任务空间中的适应行为、记忆架构、以及如何通过自动课程学习来优化训练过程。\n - 展示了AdA能够在几分钟内解决复杂的3D任务,且不需要进一步的代理训练,显示了其快速适应的能力。\n\n3. **实验与结果**:\n - 在多个方面评估了AdA的性能,包括其在单代理和多代理设置下的适应能力、不同架构和课程学习方法的影响、以及模型大小和记忆长度对性能的影响。\n - 通过与人类玩家的比较,证明了AdA在适应速度上与人类相当。\n\n4. **相关工作**:\n - 回顾了与本工作相关的领域,包括程序化环境生成、开放任务学习、适应性和强化学习中的Transformer应用等。\n\n5. **结论**:\n - 总结了AdA的贡献,强调了其在开放任务空间中快速适应的能力,以及通过元强化学习和自动课程学习等方法训练大型模型的可能性。\n\n6. **作者和贡献**:\n - 列出了主要贡献者和部分贡献者,以及项目的赞助商和认可。\n\n**主要贡献点**:\n- 提出了AdA,一个能够在开放任务空间中快速适应的代理,其适应速度与人类相当。\n- 通过元强化学习和自动课程学习等方法,训练了大型Transformer模型,展示了其在开放任务空间中的快速适应能力。\n- 分析了不同架构、课程学习方法、模型大小和记忆长度对AdA性能的影响,提供了详细的实验结果和比较。\n- 通过与人类玩家的比较,证明了AdA在适应速度上的优势。'}, 'request_id': '687642b0-b877-49ed-9ad9-65d76de0ea58'} +``` + +## 高级用法 + +## 更新记录和贡献 +### 2024.10. 15 +#### [Added] +- 第一版 \ No newline at end of file diff --git a/docs/BasisModule/Components/embeddings/README.md b/docs/BasisModule/Components/embeddings/README.md new file mode 100644 index 000000000..f3c54390d --- /dev/null +++ b/docs/BasisModule/Components/embeddings/README.md @@ -0,0 +1,156 @@ +# 向量计算(Embedding) + +## 简介 + +向量计算组件(Embedding)支持将文本转化为用数值表示的向量形式,用于文本检索、信息推荐、知识挖掘等场景。嵌入(Embedding)是一种在机器学习和自然语言处理中常用的技术,主要用于将大量高维数据(如单词、图像等)转换为更低维的向量表示。这些向量表示捕获了原始数据的关键特征和关系。 + +### 功能介绍 + +1. 维度降低:将高维数据(如词汇表中的单词)映射到低维空间,使得数据处理更高效。 +2. 特征学习:学习数据的内在特征,使得具有相似含义的元素在嵌入空间中彼此接近。 +3. 关系映射:在嵌入空间中,数据点的距离和方向可以表示元素之间的关系。 + +### 特色优势 + +Embedding-V1,是基于百度文心大模型技术的文本表示模型,在Embedding模块中,我们使用Embedding-V1作为默认模型。 + +### 应用场景 + +1. 文本检索 +2. 信息推荐 +3. 知识挖掘 + +## 基本用法 + +当前支持的embedding底座模型暂时只包括: +- embedding-v1 + +### 下面是使用单条字符串测试的代码示例 + +请注意,您必须确保字符串的token长度小于384 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +embedding = appbuilder.Embedding() + +out = embedding("hello world!") +# 得到一个长度为384的float数组 +print(out.content) +``` + +### 下面是使用多条字符串测试的代码示例 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +embedding = appbuilder.Embedding() + +outs = embedding.batch(["hello", "world"]) +# 得到一个长度为 2 x 384的float 二维数组 +print(out.content) +``` + +### 下面是使用上游的Message作为输入的代码示例 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +from appbuilder import Message + +embedding = appbuilder.Embedding() + +query = Message("你好,世界!") +out = embedding(query) +# 得到一个长度为384的float数组 +print(out.content) +``` + +### 下面是批量运行的代码示例 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +from appbuilder import Message + +embedding = appbuilder.Embedding() + +query = Message([ + "你好", + "世界" +]) +outs = embedding.batch(query) +# 得到一个长度为 2 x 384的float 二维数组 +print(outs.content) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| -------- | -------- | -------- | ------------------------------------------------------------ | ---------------- | +| model | 字符串 | 可选 | 指定底座模型的类型。当前仅支持 embedding-v1 作为可选值。若不指定,默认值为 embedding-v1。 | embedding-v1 | + +### 调用参数 + +#### 单条 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| -------- | -------- | -------- | ------------------------------------------------------------ | ---------------- | +| text | 字符串 | 必须 | 一个类型为 string 的句子,用于输入。该句子的长度不能超过384个字符,通常为用户的输入。 | "您好,我需要帮助。" | + +#### 批量 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| -------- | --------------- | -------- | ---------------------------------------------------------------- | ------------------------------------ | +| texts | 字符串列表 | 必须 | 一个类型为 List[string] 的句子数组。数组中的每个元素都是一个句子,且每个句子的长度不能超过384个字符。通常这些句子为和用户输入相关的文本候选集。 | ["您好,我需要帮助。", "请问有什么可以帮您?"] | + +### 响应示例 + +#### 单条 + +``` +[0.1, 0.2, 0.3, ....] +``` + +#### 批量 + +``` +[ + [0.1, 0.2, ...], + ..., + [0.1, 0.2, ...], +] +``` + +### 错误码 + +无 + +## 更新记录和贡献 + +* embedding-v1 (2023-12) diff --git a/docs/BasisModule/Components/excel2figure/README.md b/docs/BasisModule/Components/excel2figure/README.md new file mode 100644 index 000000000..0e1d5565a --- /dev/null +++ b/docs/BasisModule/Components/excel2figure/README.md @@ -0,0 +1,86 @@ +# Excel转图表(Excel2Figure) + +## 简介 +Excel转图表(Excel2Figure)组件通过理解对表格信息的提问,生成对应语义的图表。 + +### 功能介绍 +Excel2Figure 是一个高级的数据可视化工具,它结合了大语言模型的强大语义理解能力,以帮助用户将 Excel 表格数据转换成直观、易理解的图表。用户只需通过自然语言描述他们想要呈现的数据和图表类型,Excel2Figure 会解析这些指令,自动从Excel数据中提取相关信息,生成符合用户需求的图表。 + +### 特色优势 +- 强大的语义理解:利用文心一言大语言模型的先进技术,Excel2Figure能够理解复杂的自然语言指令,包括数据筛选、分析需求和图表类型等。 +- 用户友好的交互:用户可以用自己熟悉的语言描述数据可视化需求,无需学习复杂的软件操作或编程语言。 +- 支持多样化的图表类型:根据用户的自然语言描述,Excel2Figure能够生成多种类型的图表,包括但不限于柱状图、线形图、饼图、散点图等。 +- 快速准确的数据处理:通过语义理解快速定位和处理Excel中的数据,大大减少了数据准备的时间和出错的可能性。 + +### 应用场景 +- 学术研究:研究人员可以简单描述他们需要的图表类型和数据集,Excel2Figure将帮助他们将研究数据可视化,以便在学术论文或演讲中展示。 +- 市场趋势分析:市场分析师利用Excel2Figure快速生成展示市场调查结果和消费者行为分析的图表,帮助团队理解市场动态。 +- 教育用途:教师可以利用这个工具将复杂的数据集转换为学生更容易理解的图表,提高教学效果和学生的学习兴趣。 +- 个人数据管理和展示:个人用户可以使用Excel2Figure来跟踪和展示自己的财务状况、健康数据或任何其他类型的个人记录。 + + +## 基本用法 + +### 快速开启 + +```python +import appbuilder +import os + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 创建 component 对象,推荐使用 ERNIE-Bot 4.0 获取更稳定的画图效果 +component = appbuilder.Excel2Figure(model="ERNIE-Bot 4.0") + +# 准备 excel 文件链接,该链接需要是公网可访问的地址 +excel_file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/[测试]超市收入明细表格.xlsx?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-02-21T09%3A51%3A14Z/-1/host/1802a9c9142ef328d61e7673db7c1f05842b2af93d18a02ac7ef7aa6f64db54e" + +# 针对 excel 文件内容绘制图表 +result = component.run(appbuilder.Message({ + "query": "2020年各个月份的利润分别是多少?使用条形图绘制出来", + "excel_file_url": excel_file_url, +})) + +# 输出运行结果 +print(result) +# Message(name=msg, content="http://可访问的文件地址...", mtype=str) +``` + +如果绘图成功,预期结果为一个可访问的文件地址,文件链接**过期时间限制为24小时**;如果绘图失败,预期结果为空字符串,需要调整query。 + +这里给出上述代码运行得到的图表(每次运行结果可能会发生变化,仅供参考): +![2020年各个月份利润条形图.png](https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/%5B%E6%B5%8B%E8%AF%95%5D2020%E5%B9%B4%E5%90%84%E4%B8%AA%E6%9C%88%E4%BB%BD%E5%88%A9%E6%B6%A6%E6%9D%A1%E5%BD%A2%E5%9B%BE.png?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-02-21T10%3A00%3A16Z/-1/host/b68f35825ad99075caf8bd009e4871ee9eb7b718e550968fdf12695b1502bc78) + + +## 参数说明 + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|--------|--------|---|----|------------------------------------------| +| msg | Message | 是 | 输入消息,包含用户提出的问题 query 和一个公网可访问的 excel 文件链接 excel_file_url。| - | +| +query | String | 是 | 用户提出的问题,长度小于 400 | "2020年各个月份的利润分别是多少?使用条形图绘制出来" | +| +excel_file_url | String | 是 | 公网可访问的 excel 文件链接 | "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/%5B%E6%B5%8B%E8%AF%95%5D%E8%B6%85%E5%B8%82%E6%94%B6%E5%85%A5%E6%98%8E%E7%BB%86%E8%A1%A8%E6%A0%BC.xlsx?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-02-21T09%3A51%3A14Z/-1/host/1802a9c9142ef328d61e7673db7c1f05842b2af93d18a02ac7ef7aa6f64db54e" | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|--------|--------|----|------| +| result | Message | 返回结果。| - | +| +content | String | 如果图表绘制成功,则会返回一个可下载的图片链接,有效期为24小时;如果绘制失败,则会返回空字符串。 | "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/%5B%E6%B5%8B%E8%AF%95%5D2020%E5%B9%B4%E5%90%84%E4%B8%AA%E6%9C%88%E4%BB%BD%E5%88%A9%E6%B6%A6%E6%9D%A1%E5%BD%A2%E5%9B%BE.png?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-02-21T10%3A00%3A16Z/-1/host/b68f35825ad99075caf8bd009e4871ee9eb7b718e550968fdf12695b1502bc78" | + +### 响应示例 +```shell +Message(name=msg, content="https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/%5B%E6%B5%8B%E8%AF%95%5D2020%E5%B9%B4%E5%90%84%E4%B8%AA%E6%9C%88%E4%BB%BD%E5%88%A9%E6%B6%A6%E6%9D%A1%E5%BD%A2%E5%9B%BE.png?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-02-21T10%3A00%3A16Z/-1/host/b68f35825ad99075caf8bd009e4871ee9eb7b718e550968fdf12695b1502bc78", mtype=str) +``` + +### 错误码 +| 错误码 | 描述 | +|--------|--------| +| pydantic.error_wrappers.ValidationError | 输入参数校验错误 | + +## 更新记录和贡献 +* Excel转图表 (2024-02) diff --git a/docs/BasisModule/Components/extract_table/README.md b/docs/BasisModule/Components/extract_table/README.md new file mode 100644 index 000000000..2a0b9c1cd --- /dev/null +++ b/docs/BasisModule/Components/extract_table/README.md @@ -0,0 +1,88 @@ +# 表格抽取组件(ExtractTableFromDoc) + +## 简介 +表格抽取组件(ExtractTableFromDoc)是用于文档表格处理的组件,从文档中抽取表格。支持对文档表格大小进行限制,限制后自动进行拆分、跨页合并等处理;支持合并表格上文,提取的表格为Markdown格式。 + +### 功能介绍 +从文档中抽取表格。支持对文档表格大小进行限制,限制后自动进行拆分、跨页合并等处理;支持合并表格上文,设置表格上文数量,提取的表格为Markdown格式。 + +### 特色优势 +组件抽取表格,准确高效,代码简单可快速上手;且不依赖本地计算资源。 + +### 适用场景 +文档表格解析与处理,用于后续任务的输入。 + +## 基本用法 +下面是一个基本用法的样例 + +```python +import os +import json +import requests + +from appbuilder.utils.logger_util import logger +from appbuilder import Message, ExtractTableFromDoc, DocParser + + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + + +# 进行文档内容解析 +file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" +file_data = requests.get(file_url).content +file_path = "./test.pdf" # 待解析的文件路径 +with open(file_path, "wb") as f: + f.write(file_data) + +msg = Message(file_path) + +parser = DocParser() +# ExtractTableFromDoc输入为文档原始解析结果,此处需要带上原始结果,return_raw=True. +doc = parser(msg, return_raw=True).content.raw + +# 抽取文档中的表格 +parser = ExtractTableFromDoc() +result = parser.run(Message(doc)) + +logger.info("Tables: {}".format( + json.dumps(result.content, ensure_ascii=False)) +) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 + +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message | Dict |是 | 输入的消息,用于模型的主要输入内容,必须为Docparser解析后的结果raw,需要设置return_raw=True。这是一个必需的参数。| `Message(parser(msg, return_raw=True).content.raw)` | +|table_max_size |int |否 |单个表格的长度的最大值(包含上文),按字符数即len(table_str)统计,默认为800。如果表格超长,则会被拆分成多个子表格,拆分的最小粒度为表格的行。若单行就超长,则会强制按table_max_size截断。截断时会优先截断上文,尽量保留表格内容。 | 800 | +|doc_node_num_before_table |int |否 |表格前附加的上文DocParser Node的数量,默认为1。范围:1~10。 | 1 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +| - | List | 解析出来的文档表格,如果元素长度为1,则对应原文档中格式化后的长度不超过`table_max_size`的表格;如果元素长度>1,则是对应原文档中一个大表格,该表格被拆分成的多个子表格,以满足设置大小。 | 见响应示例 | + +### 错误码 +|错误码|描述| +|------|---| + + +### 响应示例 +```json +[[{"para": "table1"}], [{"para": "table2-part1"}, {"para": "table2-part2"}]] +``` + +## 更新记录和贡献 +* 表格抽取能力 (2023-12) \ No newline at end of file diff --git a/docs/BasisModule/Components/gbi/nl2sql/README.md b/docs/BasisModule/Components/gbi/nl2sql/README.md new file mode 100644 index 000000000..050a9fca5 --- /dev/null +++ b/docs/BasisModule/Components/gbi/nl2sql/README.md @@ -0,0 +1,261 @@ +# GBI 问表 + +## 简介 +GBI 问表,根据提供的 mysql 表的 schema 信息,生成对应问题的 sql 语句。 + +### 功能介绍 +GBI 问表,根据提供的 mysql 表的 schema 信息,生成对应问题的 sql 语句。 + +### 特色优势 +直接生成 sql 语句,无需人工编写。 + +### 应用场景 +1. 业务人员需要根据问题生成 sql 语句,但是不熟悉 sql 语法。 +2. 业务人员需要根据问题生成 sql 语句,但是不熟悉表的名称。 + + +## 基本用法 +这里是一个示例,展示如何基于 mysql 表的 schema, 根据问题生成 sql 语句。 + + +```python +import logging +import os +import appbuilder +from appbuilder.core.message import Message +from appbuilder.core.components.gbi.basic import SessionRecord + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +SUPER_MARKET_SCHEMA = """ +CREATE TABLE `supper_market_info` ( + `订单编号` varchar(32) DEFAULT NULL, + `订单日期` date DEFAULT NULL, + `邮寄方式` varchar(32) DEFAULT NULL, + `地区` varchar(32) DEFAULT NULL, + `省份` varchar(32) DEFAULT NULL, + `客户类型` varchar(32) DEFAULT NULL, + `客户名称` varchar(32) DEFAULT NULL, + `商品类别` varchar(32) DEFAULT NULL, + `制造商` varchar(32) DEFAULT NULL, + `商品名称` varchar(32) DEFAULT NULL, + `数量` int(11) DEFAULT NULL, + `销售额` int(11) DEFAULT NULL, + `利润` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 +""" + +table_schemas = [SUPER_MARKET_SCHEMA] +gbi_nl2sql = appbuilder.NL2Sql(model_name="ERNIE-Bot 4.0", table_schemas=table_schemas) +query = "列出超市中的所有数据" +nl2sql_result_message = gbi_nl2sql(Message({"query": query})) + +print(f"sql: {nl2sql_result_message.content.sql}") +print(f"llm result: {nl2sql_result_message.content.llm_result}") +``` + + +## 参数说明 + +### 初始化参数 +- model_name: 支持的模型名字 ERNIE-Bot 4.0, ERNIE-Bot, ERNIE-Bot-turbo, Qianfan-Agent-Speed-8k +- table_schemas: 表的 schema,例如: + +``` +CREATE TABLE `supper_market_info` ( + `订单编号` varchar(32) DEFAULT NULL, + `订单日期` date DEFAULT NULL, + `邮寄方式` varchar(32) DEFAULT NULL, + `地区` varchar(32) DEFAULT NULL, + `省份` varchar(32) DEFAULT NULL, + `客户类型` varchar(32) DEFAULT NULL, + `客户名称` varchar(32) DEFAULT NULL, + `商品类别` varchar(32) DEFAULT NULL, + `制造商` varchar(32) DEFAULT NULL, + `商品名称` varchar(32) DEFAULT NULL, + `数量` int(11) DEFAULT NULL, + `销售额` int(11) DEFAULT NULL, + `利润` int(11) DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 +``` + +- knowledge: 用于提供一些知识, 比如 {"毛利率": "(销售收入 - 销售成本) / 销售收入"} +- prompt_template: prompt 模版, 必须包含的格式如下: + ***你的描述 + {schema} + ***你的描述 + {column_instrument} + ***你的描述 + {kg} + ***你的描述 + 当前时间:{date} + ***你的描述 + {history_instrument} + ***你的描述 + 当前问题:{query} + 回答: + +### 调用参数 +- message: message.content 是 字典,包含: query, session, column_constraint 三个key + * query: 用户的问题 + * session: gbi session 的历史 列表, 参考 SessionRecord + * column_constraint: 列选约束 参考 ColumnItem 具体定义 + +#### SessionRecord 初始化参数 +- query: 用户的问题 +- answer: gbi_nl2sql 返回的结果 NL2SqlResult + +#### ColumnItem 初始化参数如下 +- ori_value: query 中的 词语, 比如: "北京去年收入", 分词后: "北京, 去年, 收入", ori_value 是分词中某一个,比如: ori_value = "北京" +- column_name: 对应数据库中的列名称, city +- column_value: 对应数据库中的列值, 北京市 +- table_name: 该列所属的表名称 +- is_like: 与 ori_value 的匹配是包含 还是 等于,包含: True; 等于: False + +### 返回值 +- NL2SqlResult 的 message + +#### NL2SqlResult 初始化参数如下 +- llm_result: 大模型返回的结果 +- sql: 从 llm_result 中抽取的 sql 语句 + +## 高级用法 +### 设置 session + + +```python +session = list() +session.append(SessionRecord(query=query, answer=nl2sql_result_message.content)) +``` + +再次问表 + + +```python +nl2sql_result_message2 = gbi_nl2sql(Message({"query": "查看商品类别是水果的所有数据", + "session": session})) +print(f"sql: {nl2sql_result_message2.content.sql}") +print(f"llm result: {nl2sql_result_message2.content.llm_result}") +``` + + sql: + SELECT * FROM supper_market_info WHERE 商品类别 = '水果'; + ----------------- + llm result: ```sql + SELECT * FROM supper_market_info WHERE 商品类别 = '水果'; + ``` + + +### 增加列选优化 +实际上数据中 "商品类别" 存储的是 "新鲜水果", 那么就可以通过列选的限制来优化 sql. + + +```python +from appbuilder.core.components.gbi.basic import ColumnItem + +column_constraint = [ColumnItem(ori_value="水果", + column_name="商品类别", + column_value="新鲜水果", + table_name="超市营收明细表", + is_like=False)] +nl2sql_result_message2 = gbi_nl2sql(Message({"query": "查看商品类别是水果的所有数据", + "column_constraint": column_constraint})) + +print(f"sql: {nl2sql_result_message2.content.sql}") +print(f"llm result: {nl2sql_result_message2.content.llm_result}") +``` + + sql: + SELECT * FROM supper_market_info WHERE 商品类别='新鲜水果' + ----------------- + llm result: ```sql + SELECT * FROM supper_market_info WHERE 商品类别='新鲜水果' + ``` + + +从上面我们看到,商品类别不在是 "水果" 而是 修订为 "新鲜水果" + +### 增加知识优化 +当计算某些特殊知识的时候,大模型是不知道的,所以需要告诉大模型具体的知识,比如: +利润率的计算方式: 利润/销售额 +可以将该知识注入。具体示例如下: + + +```python +# 注入知识 +gbi_nl2sql.knowledge["利润率"] = "计算方式: 利润/销售额" +``` + + +```python +query3 = "列出商品类别是日用品的利润率" +msg3 = Message(query3) + +nl2sql_result_message3 = gbi_nl2sql(Message({"query": "列出商品类别是日用品的利润率"})) +print(f"sql: {nl2sql_result_message3.content.sql}") +print(f"llm result: {nl2sql_result_message3.content.llm_result}") +``` + + sql: + SELECT 商品类别, SUM(利润)/SUM(销售额) AS 利润率 + FROM supper_market_info + WHERE 商品类别 = '日用品' + GROUP BY 商品类别 + ----------------- + llm result: ```sql + SELECT 商品类别, SUM(利润)/SUM(销售额) AS 利润率 + FROM supper_market_info + WHERE 商品类别 = '日用品' + GROUP BY 商品类别 + ``` + + +## 调整 prompt 模版 +有时候,我们希望定义自己的prompt, 但是必须遵循对应的 prompt 模版的格式。 + + +问表的 prompt template 必须包含: +1. {schema} - 表的 schema 信息 +2. {instrument} - 列选限制的信息 +3. {kg} - 知识 +4. {date} - 时间 +5. {history_prompt} - 历史 +6. {query} - 当前问题 + +参考下面的示例 + + +```python +NL2SQL_PROMPT_TEMPLATE = """ + MySql 表 Schema 如下: + {schema} + 请根据用户当前问题,联系历史信息,仅编写1个sql,其中 sql 语句需要使用```sql ```这种 markdown 形式给出。 + 请参考列选信息: + {instrument} + 请参考知识: + {kg} + 当前时间:{date} + 历史信息如下: + {history_prompt} + 当前问题:"{query}" + 回答: +""" +``` + + +```python +gbi_nl2sql5 = appbuilder.NL2Sql(model_name="ERNIE-Bot 4.0", table_schemas=table_schemas, prompt_template=NL2SQL_PROMPT_TEMPLATE) +nl2sql_result_message5 = gbi_nl2sql5(Message({"query": "查看商品类别是水果的所有数据"})) + +print(f"sql: {nl2sql_result_message5.content.sql}") +print(f"llm result: {nl2sql_result_message5.content.llm_result}") +``` + + sql: + SELECT * FROM supper_market_info WHERE 商品类别 = '水果' + ----------------- + llm result: ```sql + SELECT * FROM supper_market_info WHERE 商品类别 = '水果' + ``` + diff --git a/docs/BasisModule/Components/gbi/select_table/README.md b/docs/BasisModule/Components/gbi/select_table/README.md new file mode 100644 index 000000000..4d173b792 --- /dev/null +++ b/docs/BasisModule/Components/gbi/select_table/README.md @@ -0,0 +1,132 @@ +# GBI 选表 + +## 简介 +GBI 选表:根据提供的多个 MySql 表名 以及 表名对应的描述信息,通过 query 选择一个或多个最合适的表来回答该 query。 +一般的适用场景是,当有数据库有多个表的时候,但是实际只有1个表能回答该 query,那么,通过该能力将该表选择出来,用于后面的 问表 环节。 + + +### 功能介绍 +GBI 选表,根据提供的多个 MySql 表名 以及 表名对应的描述信息,通过 query 选择一个或多个最合适的表来回答该 query。 +一般的适用场景是,当有数据库有多个表的时候,但是实际只有1个表能回答该 query,那么,通过该能力将该表选择出来,用于后面的 问表 环节。 + +### 特色优势 +可直接通过上传Excel进行数据问答 + +### 应用场景 +1. 营销数据分析 +2. 表格问答 + + +## 基本用法 +下面是根据提供的表的描述信息以及 query 选择对应的表的示例。 + + +```python +import logging +import os +import appbuilder +from appbuilder.core.message import Message +from appbuilder.core.components.gbi.basic import SessionRecord + + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 表的描述信息, key: 表名; value: 是表的描述 +table_descriptions = { + "supper_market_info": "超市营收明细表,包含超市各种信息等", + "product_sales_info": "产品销售表" +} + + +# 生成问表对象 +select_table = appbuilder.SelectTable(model_name="ERNIE-Bot 4.0", table_descriptions=table_descriptions) +select_table_result_message = select_table(Message({"query": "列出超市中的所有数据"})) + +print(f"选的表是: {select_table_result_message.content}") +``` + + 选的表是: ['supper_market_info'] + + +## 参数说明 +### 初始化参数 +- model_name: 支持的模型名字 ERNIE-Bot 4.0, ERNIE-Bot, ERNIE-Bot-turbo, Qianfan-Agent-Speed-8k +- table_descriptions: 表的描述是个字典,key: 是表的名字, value: 是表的描述,例如: + +``` +{ + "supper_market_info": "超市营收明细表,包含超市各种信息等", + "product_sales_info": "产品销售表" +} +``` +- prompt_template: prompt 模版, 必须包含如下: + 1. {num} - 表的数量, 注意 {num} 有两个地方出现 + 2. {table_desc} - 表的描述 + 3. {query} - query + 参考下面的示例: + +``` +你是一个专业的业务人员,下面有{num}张表,具体表名如下: +{table_desc} +请根据问题帮我选择上述1-{num}种的其中相关表并返回,可以为多表,也可以为单表, +返回多张表请用“,”隔开 +返回格式请参考如下示例: +问题:有多少个审核通过的投运单? +回答: ```DWD_MAT_OPERATION``` +请严格参考示例只不要返回无关内容,直接给出最终答案后面的内容,分析步骤不要输出 +问题:{query} +回答: +``` + +### 调用参数 +- message: message.content 是用户的问题,包含的key: query, session + * query: 用户提出的问题 + * session: SessionRecord 列表 + +#### SessionRecord 初始化参数 +- query: 用户的问题 +- answer: gbi_nl2sql 返回的结果 NL2SqlResult + +### 返回值 +识别的表名的列表例如: +`["table_name"]` + +## 调整 prompt 模版 +有时候,我们希望定义自己的prompt, 选表支持 prompt 模版的定制化,但是必须遵循对应的 prompt 模版的格式。 + +### 选表 prompt 调整 +选表的 prompt template, 必须包含 +1. {num} - 表的数量, 注意 {num} 有两个地方出现 +2. {table_desc} - 表的描述 +3. {query} - query, 参考下面的示例: + + +```python +SELECT_TABLE_PROMPT_TEMPLATE = """ +你是一个专业的业务人员,下面有{num}张表,具体表名如下: +{table_desc} +请根据问题帮我选择上述1-{num}种的其中相关表并返回,可以为多表,也可以为单表, +返回多张表请用“,”隔开 +返回格式请参考如下示例: +问题:有多少个审核通过的投运单? +回答: ```DWD_MAT_OPERATION``` +请严格参考示例只不要返回无关内容,直接给出最终答案后面的内容,分析步骤不要输出 +问题:{query} +回答: +""" +``` + + +```python +select_table4 = appbuilder.SelectTable(model_name="ERNIE-Bot 4.0", + table_descriptions=table_descriptions, + prompt_template=SELECT_TABLE_PROMPT_TEMPLATE) + +select_table_result_message4 = select_table4(Message({"query": "列出超市中的所有数据"})) + +print(f"选的表是: {select_table_result_message4.content}") +``` + + 选的表是: ['supper_market_info'] + diff --git a/docs/BasisModule/Components/general_ocr/README.md b/docs/BasisModule/Components/general_ocr/README.md new file mode 100644 index 000000000..2ffc394b3 --- /dev/null +++ b/docs/BasisModule/Components/general_ocr/README.md @@ -0,0 +1,113 @@ +# 通用文字识别-高精度版(GeneralOCR) + +## 简介 + +通用文字识别组件(GeneralOCR)支持多场景、多语种、高精度的文字识别服务,对图片全部文字内容进行检测识别。 + +### 功能介绍 +覆盖多种通用场景、20+种语言的高精度整图文字检测和识别服务,包括各类印刷和手写文档、网络图片、表格、印章、数字、二维码等; + +### 特色优势 +* 准确率高 + + 多项ICDAR指标居世界第一,识别准确率高 +### 应用场景 +支持多场景、多语种、高精度的文字识别服务,可用于纸质文档电子化、办公文档/报表识别、图像内容审核等场景 +## 基本用法 + +以下是一个简单的例子来演示如何开始使用GeneralOCR组件: + +示例图片为![示例图片](https://bj.bcebos.com/v1/appbuilder/general_ocr_test.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T10%3A59%3A17Z%2F-1%2Fhost%2F081bf7bcccbda5207c82a4de074628b04ae857a27513734d765495f89ffa5f73) + +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' +# 从BOS读取样例图片 +image_url = "https://bj.bcebos.com/v1/appbuilder/general_ocr_test.png?"\ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-"\ + "11T10%3A59%3A17Z%2F-1%2Fhost%2F081bf7bcccbda5207c82a4de074628b04ae"\ + "857a27513734d765495f89ffa5f73" +raw_image = requests.get(image_url).content +general_ocr = appbuilder.GeneralOCR() +out = general_ocr.run(appbuilder.Message(content={"raw_image": raw_image})) +print(out.content) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|---------|---------|------|-----------------------------|------------------------------------------------| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | Message(content={"raw_image": b"待识别的图片字节流数据"}),图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过10M,最短边至少15px,最长边最大8192px,支持jpg/jpeg/png/bmp格式 | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +| retry | Integer | 否 | HTTP重试次数 | 3 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|--------------|---------|---------|---------------------------------------------------| +| words_result | Array[] | 返回结果 | [{"words":"一站式企业级大模型平台,提供先进的生成式AI生产及应用全流程开发工具链"}] | +| + words | String | 识别结果字符串 | "百度智能云千帆大模型平台" | + +### 响应示例 +```json +{ + "words_result":[ + { + "words":"一站式企业级大模型平台,提供先进的生成式AI生产及应用全流程开发工具链" + }, + { + "words":"百度智能云千帆大模型平台" + }, + { + "words":"文心大模型4.0已正式发布,个人和企业客户可通过百度智能云千帆大模型平台接入使用" + }, + { + "words":"立即使用" + }, + { + "words":"在线体验" + }, + { + "words":"使用文档" + }, + { + "words":"定价说明" + }, + { + "words":"千帆社区" + }, + { + "words":"常见概念、使用指导" + }, + { + "words":"定价、计费方式、计量说明" + }, + { + "words":"大模型开发学习、交流社区" + } + ] +} +``` + +## 高级用法 + +目前该模块仅提供基础通用文字识别功能。 + + +## 更新记录和贡献 +* 通用文字识别能力 (2023-12) diff --git a/docs/BasisModule/Components/handwrite_ocr/README.md b/docs/BasisModule/Components/handwrite_ocr/README.md new file mode 100644 index 000000000..a783c421c --- /dev/null +++ b/docs/BasisModule/Components/handwrite_ocr/README.md @@ -0,0 +1,153 @@ +# 手写文字识别 (HandwriteOCR) + +## 简介 +手写文字识别 (HandwriteOCR),图片中的手写中文、手写数字进行检测和识别,针对不规则的手写字体进行专项优化,识别准确率可达90%以上。 + + +### 功能介绍 +检测识别图片中的手写中文、手写数字,针对不规则的手写字体进行专项优化 + + +### 特色优势 +识别准确率可达90%以上 + +### 应用场景 +手写文字识别 + + +## 基本用法 + +下面是手写文字识别的代码示例: + +示例图片为 ![示例图片](https://bj.bcebos.com/v1/appbuilder/test_handwrite_ocr.jpg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-23T11%3A58%3A09Z%2F-1%2Fhost%2F677f93445fb65157bee11cd492ce213d5c56e7a41827e45ce7e32b083d195c8b) + +```python +import os +import requests +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." +image_url="https://bj.bcebos.com/v1/appbuilder/test_handwrite_ocr.jpg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-23T11%3A58%3A09Z%2F-1%2Fhost%2F677f93445fb65157bee11cd492ce213d5c56e7a41827e45ce7e32b083d195c8b" + +# 从BOS存储读取样例文件 +raw_image = requests.get(image_url).content +inp = appbuilder.Message(content={"raw_image": raw_image}) +# inp = Message(content={"url": image_url}) + +# 运行手写文字识别 +handwrite_ocr = appbuilder.HandwriteOCR() +out = handwrite_ocr.run(inp) +# 打印识别结果 +print(out.content) + +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 + +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 |示例值| +|------------|--------|------|-----------------------------|---| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 || +| +content | Dict | 是 | 消息内容 || +| +raw_image | String | 否 | 原始图片字节流 || +| +url | String | 否 | 图片下载链接地址 || +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer| 否 | HTTP重试次数 |3|| + + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|-----------|----------|--|-----------------------------------------------------------------| +| contents | List | 文本内容块 | | +| +text | String | 文本字符串 | | +| +Position | Dict | 文本位置信息 | | +| ++left | Interger | 表示定位位置的长方形左上顶点的水平坐标 | | +| ++top | Interger | 表示定位位置的长方形左上顶点的垂直坐标| | +| ++width | Interger | 表示定位位置的长方形的宽度 | | +| ++height | Interger | 表示定位位置的长方形的高度 | | +| direction | Interger | 图像旋转角度 | 图像旋转角度,0(正向),- 1(逆时针90度),- 2(逆时针180度),- 3(逆时针270度)| + +### 响应示例 +```json +{ + "contents": [{ + "text": "我们家住的小区里有很多银杏树。", + "position": { + "left": 390, + "top": 46, + "width": 1801, + "height": 161 + } + }, + { + "text": "它们笔直笔直的,就像一位正在站岗的", + "position": { + "left": 131, + "top": 263, + "width": 2083, + "height": 170 + } + }, + { + "text": "卫兵。它枝繁叶茂,长的非常好,它的叶子", + "position": { + "left": 154, + "top": 483, + "width": 2023, + "height": 161 + } + }, + { + "text": "有些小的像一把把小扇子,大的也像扇子。", + "position": { + "left": 151, + "top": 699, + "width": 2167, + "height": 168 + } + }, + { + "text": "但是中间有一个缺口,就像被淘汽的小", + "position": { + "left": 148, + "top": 929, + "width": 2123, + "height": 177 + } + }, + { + "text": "朋友用剪刀剪掉了一样。", + "position": { + "left": 161, + "top": 1165, + "width": 1340, + "height": 217 + } + } + ], + "direction": 0 +} +``` + + +## 高级用法 +目前该模块仅提供基础的手写体识别。 + + +## 更新记录和贡献 +* 手写文字识别 (2024-01) +* 手写文字识别 (2024-02) diff --git a/docs/BasisModule/Components/image_understand/README.md b/docs/BasisModule/Components/image_understand/README.md new file mode 100644 index 000000000..4f6960f00 --- /dev/null +++ b/docs/BasisModule/Components/image_understand/README.md @@ -0,0 +1,87 @@ +# 图像内容理解 (ImageUnderstand) + +## 简介 +图像内容理解 (ImageUnderstand),输出理解图片后的文本信息 +### 功能介绍 +支持输入图片和提问信息,可对输入图片进行理解,输出对图片的一句话描述 +### 特色优势 +同时,支持客户自主选择,是否调用大模型对输出文本进行润色,目前支持百度文心大模型调用。 + +### 应用场景 +图像内容理解 + +## 基本用法 + +下面是图像内容理解的代码示例: + +示例图片为:![示例图片](https://bj.bcebos.com/v1/appbuilder/test_image_understand.jpeg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T09%3A41%3A01Z%2F-1%2Fhost%2Fe8665506e30e0edaec4f1cc84a2507c4cb3fdb9b769de3a5bfe25c372b7e56e6) + +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 从BOS存储读取样例文件 +image_url = "https://bj.bcebos.com/v1/appbuilder/test_image_understand.jpeg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T09%3A41%3A01Z%2F-1%2Fhost%2Fe8665506e30e0edaec4f1cc84a2507c4cb3fdb9b769de3a5bfe25c372b7e56e6" +raw_image = requests.get(image_url).content +# 输入参数为一张图片 +inp = appbuilder.Message(content={"raw_image": raw_image, "question": "图片里内容是什么?"}) +# 进行图像内容理解 +image_understand = appbuilder.ImageUnderstand() +out = image_understand.run(inp) +# 打印识别结果 +print(out.content) +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 + +无 + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|------------|--------|------|-----------------------------------|-----| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | | +| +content | Dict | 是 | 消息内容 | | +| +raw_image | String | 否 | 原始图片字节流 | | +| +url | String | 否 | 图片下载链接地址 | | +| +question | String | 是 | 问题字符串,长度小于100 | | +| +language | String | 否 | 描述内容的所使用的语言,默认是zh-CN(中文),可选en(英文) | | + +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry| Integer | 否 | HTTP重试次数 |3|| + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|-----------|------|--------|-------------------------------------------------| +| description | String | 图像理解内容 | "用户上传的图像,经过前期模型分析存在以下信息:;;整个图像内容" | + +### 响应示例 +```json +{ + "description": "用户上传的图像,经过前期模型分析存在以下信息:;;整个图像内容可以表述为:...,回答如下问题:图片里内容是什么?, 注意不要复述提供的资料内容" +} +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 高级用法 +目前该模块仅提供基础的图像内容理解。 + +## 更新记录和贡献 +* 图像内容理解 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/landmark_recognize/README.md b/docs/BasisModule/Components/landmark_recognize/README.md new file mode 100644 index 000000000..8c66ec756 --- /dev/null +++ b/docs/BasisModule/Components/landmark_recognize/README.md @@ -0,0 +1,88 @@ +# 地标识别(LandmarkRecognition) + +## 简介 +地标识别组件(LandmarkRecognition)可以识别12万中外著名地标、热门景点,可返回地标名称。 + +### 功能介绍 +识别中外著名地标、热门景点,可返回地标名称 + +### 特色优势 +可以识别12万中外著名地标、热门景点 + +### 应用场景 +地点识别 + + +## 基本用法 + +下面是地标识别的代码示例: + +示例图片为:![示例图片](https://bj.bcebos.com/v1/appbuilder/landmark_test.jpeg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T10%3A59%3A56Z%2F-1%2Fhost%2Fc249a068c6f321b91da0d0fd629b26ded58dcac2b6a3674f32378f5eb8df1ed0) + +```python +import os + +import requests + +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' +# 从BOS存储读取样例文件 +image_url = "https://bj.bcebos.com/v1/appbuilder/landmark_test.jpeg?" \ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-" \ + "11T10%3A59%3A56Z%2F-1%2Fhost%2Fc249a068c6f321b91" \ + "da0d0fd629b26ded58dcac2b6a3674f32378f5eb8df1ed0" +raw_image = requests.get(image_url).content +# 输入参数为一张图片 +inp = appbuilder.Message(content={"raw_image": raw_image}) +# 进行地标识别 +landmark_recognize = appbuilder.LandmarkRecognition() +out = landmark_recognize.run(inp) +# 打印识别结果 +print(out.content) # eg: {"landmark": "尼罗河"} +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 + +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 |示例值| +|------------|--------|------|-----------------------------|---| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 || +| +content | Dict | 是 | 消息内容 || +| +raw_image | String | 否 | 原始图片字节流 || +| +url | String | 否 | 图片下载链接地址 || +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer| 否 | HTTP重试次数 |3|| + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|----------|------|------|--------| +| landmark | str | 地标名字 | 比如:尼罗河 | +### 响应示例 +```json +{"landmark": "尼罗河"} +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 高级用法 +目前该模块仅提供基础的地标识别。 + +## 更新记录和贡献 +* 地标识别 (2024-01) diff --git a/docs/BasisModule/Components/llms/dialog_summary/README.md b/docs/BasisModule/Components/llms/dialog_summary/README.md new file mode 100644 index 000000000..2ef9b0665 --- /dev/null +++ b/docs/BasisModule/Components/llms/dialog_summary/README.md @@ -0,0 +1,76 @@ +# 会话小结(DialogSummary) + +## 简介 +会话小结(DialogSummary)基于生成式大模型对一段用户与坐席的对话生成总结,结果按{"诉求": "", "回应": "", "解决情况": ""}格式输出。适用于运营商、金融、汽车等多种场景的对话总结。 + +### 功能介绍 +基于生成式大模型对一段用户与坐席的对话生成总结。 + +### 特色优势 +基于生成式大模型对一段用户与坐席的对话生成总结,结果按{"诉求": "", "回应": "", "解决情况": ""}格式输出。 + +### 应用场景 +适用于运营商、金融、汽车等多种场景的对话总结。 + +## 基本用法 + +为了快速开始使用会话小结组件,您可以参考以下步骤: + +```python +import appbuilder +import os + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" + +dialog_summary = appbuilder.DialogSummary("Qianfan-Agent-Speed-8k") +text = "用户:喂我想查一下我的话费\n坐席:好的女士您话费余的话还有87.49元钱\n用户:好的知道了谢谢\n坐席:嗯不客气祝您生活愉快再见" +answer = dialog_summary(appbuilder.Message(text)) +print(answer) +``` + +## 参数说明 + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +- `model` (str|None): 模型名称,用于指定要使用的千帆模型。 + +### 调用参数 +### 调用参数 +|参数名称 |参数类型 | 是否必须 | 描述 | 示例值 | +|--------|--------|---|-----------------------------------------------------------------------------|---------------| +|message |Message | 是 | 输入消息,包含用户提出的问题。 | Message("你好") | +|stream|bool| 否 | 是否以流式形式返回响应 | False | +|temperature|float| 否 | 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 | 0.0001 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |Message |返回结果|对象,包含模型运行后的输出消息。| +### 响应示例 +```json +{"result": ["您话费余的话还有87.49元钱"]} +``` +### 错误码 +无 + +## 高级用法 + +暂无 + +## 示例和案例研究 + +目前暂无具体的实际应用案例。 + +## API文档 + +暂无 + +## 更新记录和贡献 +* 会话小结更新Readme (2023-12) diff --git a/docs/BasisModule/Components/llms/hallucination_detection/README.md b/docs/BasisModule/Components/llms/hallucination_detection/README.md new file mode 100644 index 000000000..528cb6812 --- /dev/null +++ b/docs/BasisModule/Components/llms/hallucination_detection/README.md @@ -0,0 +1,95 @@ +# 幻觉检测(Hallucination Detection) + +## 简介 +幻觉检测(Hallucination Detection)针对问答场景,检测答案中是否存在幻觉。 + +### 功能介绍 +幻觉检测(Hallucination Detection)针对问答场景,检测答案中是否存在幻觉。 + +### 特色优势 +无。 + +### 应用场景 +问答场景,比如RAG问答。 + +## 基本用法 + +下面是幻觉检测的代码示例: + +```python +import os +import appbuilder +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ['APPBUILDER_TOKEN'] = '...' + + +query = '澳门新麻蒲烤肉店每天开门吗?' +context = \ +'''澳门美食: 澳门新麻蒲韩国烤肉店 +在澳门一年四季之中除了火锅,烤肉也相当受欢迎。提到韩烧,有一间令我印象最深刻,就是号称韩国第一的烤肉店-新麻蒲韩国烤肉店,光是韩国的分店便多达四百多间,海外分店更是遍布世界各地,2016年便落户澳门筷子基区,在原本已经食肆林立的地方一起百花齐放!店内的装修跟韩国分店还完度几乎没差,让食客彷如置身于韩国的感觉,还要大赞其抽风系统不俗,离开时身上都不会沾上烤肉味耶! +时间:周一至周日 下午5:00 - 上午3:00 +电话:+853 2823 4012 +地址:澳门筷子基船澳街海擎天第三座地下O号铺96号 +必食推介: +护心肉二人套餐 +来新麻蒲必试的有两样东西,现在差不多每间烤肉店都有炉边烤蛋,但大家知道吗?原来新麻蒲就是炉边烤蛋的开创者,既然是始祖,这已经是个非吃不可的理由!还有一款必试的就是护心肉,即是猪的横隔膜与肝中间的部分,每头猪也只有200克这种肉,非常珍贵,其味道吃起来有种独特的肉香味,跟牛护心肉一样精彩! +秘制猪皮 +很多怕胖的女生看到猪皮就怕怕,但其实猪皮含有大量胶原蛋白,营养价值很高呢!这里红通通的猪皮还经过韩国秘制酱汁处理过,会有一点点辣味。烤猪皮的时候也需特别注意火侯,这样吃起来才会有外脆内Q的口感!''' +answer = '澳门新麻蒲烤肉店并不是每天开门。' + +#! 该组件推荐使用Qianfan-Agent-Speed-8k模型。 +hallucination_detection = appbuilder.HallucinationDetection('Qianfan-Agent-Speed-8k') +inputs = {'query': query, 'context': context, 'answer': answer} +msg = appbuilder.Message(inputs) +result = hallucination_detection.run(msg) + +print(result) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `model` | str | 是 | 模型名称,用于指定要使用的千帆模型。推荐使用Qianfan-Agent-Speed-8k模型。 | Qianfan-Agent-Speed-8k | +| `secret_key` | str | 否 | 用户鉴权token,默认从环境变量中获取: `os.getenv("APPBUILDER_TOKEN", "")` | bce-v3/XXX | +| `gateway` | str | 否 | 后端网关服务地址,默认从环境变量中获取: `os.getenv("GATEWAY_URL", "")` | https://appbuilder.baidu.com | +| `lazy_certification` | bool | 否 | 延迟认证,为True时在第一次运行时认证。默认为False。 | False | + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `message` | obj | 是 | 输入信息,用于传入用户查询query、根据query得到的检索结果context和基于context生成的query的答案answer。 | Message(content={'query': '...', 'context': '...', 'answer': '...'}) | +| `stream` | bool | 否 | 指定是否以流式形式返回响应。默认为 False。 | False | +| `temperature` | float | 否 | 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 | 0.1 | +| `top_p` | float | 否 | 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0.0。 | 0.0 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | +| `result` | obj | 模型运行后的输出结果(可通过result.content获取结果核心内容) | Message(content='...') | + +### 响应示例 +``` +Message(name=msg, content=存在幻觉, mtype=dict, extra={}, token_usage={'prompt_tokens': 748, 'completion_tokens': 2, 'total_tokens': 750}) +``` + +### 错误码 +|错误码|描述| +| ------ | ------ | + +## 高级用法 +可用于RAG问答的答案检测。 + +## 更新记录和贡献 +### 2024.5.22 +#### [Added] +- 增加幻觉检测组件。 +- 增加幻觉检测组件单元测试。 \ No newline at end of file diff --git a/docs/BasisModule/Components/llms/is_complex_query/README.md b/docs/BasisModule/Components/llms/is_complex_query/README.md new file mode 100644 index 000000000..a3bab9473 --- /dev/null +++ b/docs/BasisModule/Components/llms/is_complex_query/README.md @@ -0,0 +1,76 @@ +# 复杂Query判定(IsComplexQuery) + +## 简介 +复杂Query判定组件(IsComplexQuery)可以根据输入的提问进行初步的分类,区分简单问题和复杂问题,以便后续运用不同的处理流程处理。可应用于知识问答场景。 + +### 功能介绍 +在知识问答领域中存在很多复杂问题需要处理,这些复杂问题通常需要进行问题分解并采用分治的方法处理。复杂Query判定组件尝试定义复杂问题和简单问题的概念,对用户的问题进行初步的分类,方便下游使用不同类型的流程来处理当前的简单问题/复杂问题。 + +### 特色优势 +复杂Query判定组件通过对问题进行有效分类,系统可以更快速地将简单问题导向快速回答流程,而将复杂问题导向更深入的分析流程。这种判定能力可以提高整个问答系统的效率和准确性。 + +### 应用场景 +广泛应用于知识问答场景 + +## 基本用法 +下面是复杂Query判定的代码示例: +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +is_complex_query = appbuilder.IsComplexQuery(model="Qianfan-Agent-Speed-8k") + +msg = "吸塑包装盒在工业化生产和物流运输中分别有什么重要性?" +msg = appbuilder.Message(msg) +answer = is_complex_query(msg) + +print("Answer: \n{}".format(answer.content)) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|model |str |是 |模型名称,用于指定要使用的千帆模型|Qianfan-Agent-Speed-8k| + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message |obj:`Message`|是 |输入消息,用于模型的主要输入内容。这是一个必需的参数| | +|stream|bool|否 |指定是否以流式形式返回响应。默认为 False|False| +|temperature|float|否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10|1e-10| + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|Message |obj:`Message` |输出消息,包含模型运行后的输出| | + +### 响应示例 +```text +分析:这个问题涉及到吸塑包装盒在工业化生产和物流运输中的重要性。回答这个问题需要从多个角度来考虑,比如生产方面、运输方面、环保方面等。这需要对吸塑包装盒有深入的了解,并且需要考虑到生产、运输等各个环节。因此,这是一个复杂问题。 +类型:复杂问题 +``` + +### 错误码 +无 + +## 高级用法 +你可以通过自定义调整参数来获得想要的结果,例如: +```python +# 流式返回, 调整模型temperature参数 +answer = is_complex_query(msg, stream=True, temperature=0.5) +``` + +## 更新记录和贡献 +* 复杂Query判定 (2024-01) diff --git a/docs/BasisModule/Components/llms/mrc/README.md b/docs/BasisModule/Components/llms/mrc/README.md new file mode 100644 index 000000000..eaf152beb --- /dev/null +++ b/docs/BasisModule/Components/llms/mrc/README.md @@ -0,0 +1,145 @@ +# 阅读理解问答(MRC) + +## 简介 +阅读理解问答(MRC)组件是基于生成式大模型的阅读理解问答系统。该组件支持拒答、澄清、重点强调、友好性提升、溯源等多种功能,可用于回答用户提出的问题。 + +### 功能介绍 +MRC(阅读理解问答模块)是一项先进的自然语言处理功能,旨在使机器能够理解、分析文本内容,并基于这些内容回答相关问题。 本模块基于大语言模型,提供对文本内容的深入理解和精确回答能力。 + +### 特色优势 +我们的MRC模块,基于百度自研的先进语言模型文新一言,提供了一系列强大的阅读理解问答功能。在保持文本理解和问题回答的高精度的同时, +我们特别强调了答案的质量和交互体验。以下是我们MRC模块的几个主要功能特色: + - 1.多版本模型支持:我们的MRC模块包括不同版本的文新一言大模型,Erniebot 4.0、Qianfan-Agent-Speed-8k等,每个版本都针对特定的应用场景进行了优化。 用户可以根据自己的需求选择最适合的模型版本,以获得最佳的性能。 + - 2.答案格式的多样性: + - 拒答功能:当问题超出模型知识范围或不具体时,模型可以选择不回答,避免提供误导性信息。 + - 澄清功能:对于模棱两可或含糊的问题,模型可以请求更多信息或对问题进行澄清,以确保答案的准确性。 + - 重点内容强调:模型可以识别并强调答案中的关键信息,使答案更清晰、更易于理解。 + - 友好度提升:模型可以以更自然、更亲切礼貌的方式呈现答案,且必要时对答案进行分点论述,改善用户体验。 + - 答案溯源:模型能提供答案的来源信息,增强答案的可信度和透明度。 + + - 3.灵活的功能开关:每项功能都配备了开关,用户可以根据不同的应用场景和需求,灵活地启用或关闭某些功能。这种可定制性确保了MRC模块能够在各种环境下提供最优化的表现。 + +### 应用场景 +我们的MRC模块,凭借文心大模型强大的文本理解能力,以及多功能性,已在多个领域展现出显著的价值。 + - 政务服务:在政务领域,MRC模块可以帮助构建智能问答系统,为公民提供关于政策、法规和服务程序的即时信息。它可以通过理解复杂的政府文件和公文,准确回答与政策相关的查询,极大地提高政府服务的效率和透明度。 + - 法律咨询:法律领域充满了专业术语和复杂的概念。我们的MRC模块能够深入理解法律文献和案例,为法律专业人士和普通民众提供准确的法律咨询。无论是寻找相关法条还是理解特定法律案例,MRC模块都能提供快速、可靠的帮助。 + - 医疗健康:在医疗健康领域,准确的信息至关重要。MRC模块能够解析医学文献、病例报告和临床试验数据,为医生和研究人员提供支持,帮助他们在诊断、治疗和研究中做出更明智的决策。此外,它也能在患者咨询中发挥作用,为患者提供关于疾病、治疗方案和药物的详细信息。 + - 教育和研究:MRC模块可以作为学习和研究的强大工具,帮助学生和研究人员快速找到他们需要的信息。无论是解答学术问题,还是提供详细的背景资料,MRC模块都能提供卓越的支持。 + - 企业客户服务:企业可以利用MRC模块构建高效的客服系统,提供24/7的咨询服务。从产品详情到服务流程的解释,MRC模块都能提供准确、及时的答案,提升客户满意度并减轻人工客服的压力。 + - 金融咨询:在金融领域,MRC模块可以帮助用户理解复杂的金融产品、市场趋势和投资策略。通过提供准确的数据解读和市场分析,MRC模块能够辅助投资者和金融专业人士做出更明智的决策。 +除上述场景以外,还可应用于其他更多生产生活的场景中。 + +## 基本用法 + +### 快速开启 + +```python +import appbuilder +import os + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 创建MRC对象 +mrc_component = appbuilder.MRC(model="Qianfan-Agent-Speed-8k") + +# 初始化参数 +msg = "残疾人怎么办相关证件" +msg = appbuilder.Message(msg) +context_list = appbuilder.Message(["""如何办理残疾人通行证一、残疾人通行证办理条件: +1、持有中华人民共和国残疾人证,下肢残疾或者听力残疾; +2、持有准驾车型为C1(听力残疾)、C2(左下肢残疾、听力残疾)""", + """3、本人拥有本市登记核发的非营运小型载客汽车,车辆须在检验有效期内,并有有效交强险凭证, +C5车辆加装操纵辅助装置后已办理变更手续。二、办理地点:北京市朝阳区左家庄北里35号: +北京市无障碍环境建设促进中心"""]) + +# 模拟运行MRC基本组件 +result = mrc_component.run(msg, context_list) + +# 输出运行结果 +print(result) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +import os +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 + +### 调用参数 +|参数名称 |参数类型 | 是否必须 |描述 | 示例值 | +|--------|--------|---|----|------------------------------------------| +|msg |Message | 是 |输入消息,包含用户提出的问题。| Message("你好") | +|context_list|Message| 是 |用户输入的问题对应的段落文本列表。| Message(["""context1""","""context2"""]) | +|reject|bool| 否 |拒绝开关,如果为 True,则启用该能力。默认为 False。当输入的问题在context_list中没有找到答案时,开关开启时,模型会用特定话术("当前文档库找不到对应的答案,我可以尝试用我的常识来回答你。")做回复的开头,并后接自有知识做回复内容。| eg.示例值 | +|clarify|bool| 否 |澄清开关,如果为 True,则启用该能力。默认为 False。 当输入的问题比较模糊、或者主体指代不清晰,且context_list中包含有可以回答该模糊问题的多种潜在备选答案时,开启该开关,大模型会以特定的话术做澄清反问,引导用户继续补充问题发问。举例子,query:发电机的续航时间? Answer: 根据搜索结果得到了xx和xx两种型号的发电机,您的问题具体涉及到哪一个?请补充关键信息,作为完整的问题重新发问。| eg.示例值 | +|highlight|bool| 否 |重点强调开关,如果为 True,则启用该能力。默认为 False。开启该功能时,回复结果中会高亮显示关键部分的内容。| 加粗的部分是**重点内容** | +|friendly|bool| 否 |友好性提升开关,如果为 True,则启用该能力。默认为 False。开关开启时,部分回复的开头会加礼貌用语。且如果回答涉及到大段的信息,会倾向于以<总-分>或者<总-分-总>的形式做分点论述,使得答案的格式更规整,可读性更强。| eg.示例值 | +|cite|bool| 否 |溯源开关,如果为 True,则启用该能力。默认为 False。开关开启时,回复内容后会接形如(^[1]^)的标记来表示回答内容在原文(context_list)中的来源索引。例如:按照当地公安机关出入境管理部门规定的其他材料办理^[2]^。| eg.示例值 | +|temperature|float| 否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。| 0.0001 | + + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |Message |返回结果|对象,包含模型运行后的输出消息。| +### 响应示例 +```json +{"result": "极氪007的售价区间为20.99~29.99万元。"} +``` + +### 错误码 +无 + + + +## 高级用法 +该组件的高级用法包括定制化的输入处理、输出处理,以及更复杂的调用场景。用户可以根据具体需求扩展组件功能,实现个性化的问答系统。 +包括如下功能: +1、拒答 +2、澄清反问 +3、重点强调 +4、友好度提升 +5、溯源 + + +### 代码样例 +```python +import appbuilder +import os + +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 创建MRC对象 +mrc_component = appbuilder.MRC(model="Qianfan-Agent-Speed-8k") + +# 初始化参数 +msg = "残疾人怎么办相关证件" +msg = appbuilder.Message(msg) +context_list = appbuilder.Message(["""如何办理残疾人通行证一、残疾人通行证办理条件: +1、持有中华人民共和国残疾人证,下肢残疾或者听力残疾; +2、持有准驾车型为C1(听力残疾)、C2(左下肢残疾、听力残疾)""", + """3、本人拥有本市登记核发的非营运小型载客汽车,车辆须在检验有效期内,并有有效交强险凭证, +C5车辆加装操纵辅助装置后已办理变更手续。二、办理地点:北京市朝阳区左家庄北里35号: +北京市无障碍环境建设促进中心"""]) + +# 模拟运行MRC组件,开启拒答、澄清追问、重点强调、友好性提升和溯源能力五个功能 +result = mrc_component.run(msg, context_list, reject=True, + clarify=True, highlight=True, friendly=True, cite=True) + +# 输出运行结果 +print(result) +``` + +## 更新记录和贡献 +* 阅读理解问答 (2023-12) + + diff --git a/docs/BasisModule/Components/llms/nl2pandas/README.md b/docs/BasisModule/Components/llms/nl2pandas/README.md new file mode 100644 index 000000000..a6828200f --- /dev/null +++ b/docs/BasisModule/Components/llms/nl2pandas/README.md @@ -0,0 +1,68 @@ +# 自然语言转pandas (nl2pandas) + +## 简介 +自然语言转pandas (nl2pandas)这个组件通过理解对表格信息的提问,生成对应语义的可执行Python代码,主要使用Pandas库。它可以用于基于表格的查询,问答等多种场景。 + +### 功能介绍 +自然语言转pandas (nl2pandas)根据用户的输入的表格信息和查询query,利用大语言模型的理解和生成能力,自动生成符合查询语义的一行或多行pandas代码。 + +### 特色优势 +自然语言转pandas (nl2pandas),基于百度自研的大语言模型文心一言,提供内置的自然语言转pandas代码的能力,无需更多的prompt描述,即可生成对应的查询代码。 + +### 应用场景 +自然语言转pandas (nl2pandas)可用对结构化表格数据的自然语言查询场景,问答场景等。 + +## 基本用法 +这里是一个简单示例,展示如何使用自然语言转Pandas组件: + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +#定义表格信息 假设有一个小学学校表格,包含学校名、所属地区、创办时间、类别、学生人数、教职工人数、教学班数量等列。列名后给出示例(例如清华附小是学校名的示例),以及列值类型(字符串类型、数字值类型),最后给出列名的解释。列之间使用换行符分隔。 +table_info = '''表格列信息如下:\n学校名 : 清华附小 , 字符串类型,代表小学学校的名称\n所属地区 : 西城区 , 字符串类型,表示该小学学校所在的位置\n创办时间 : 1998 , 数字值类型,表示该小学学校的创办时间\n类别 : 公立小学 , 字符串类型,表示该小学学校所在的类别\n学生人数 : 2000 , 数字值类型,表示该小学学校的学生数量\n教职工人数 : 140 , 数字值类型,表示该小学学校的教职工数量\n教学班数量 : 122 , 数字值类型,表示该小学学校的教学班数量''' + +#定义查询问题 +query = "海淀区有哪些学校" +query = appbuilder.Message(query) + +#定义并运行Nl2pandas实例,得到结果 +nl2pandas = appbuilder.Nl2pandasComponent(model="Qianfan-Agent-Speed-8k") +answer = nl2pandas(query, table_info = table_info) +``` + +## 参数说明 + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|query |Message | 是 | 查询语句,一般是针对表格信息的提问 |例如'海淀区的小学有哪些'。建议长度是50字以内。 | +|table_info |str | 是 | 表格信息,是表格列名以及对应列名的举例和释义 |例如:’表格列信息如下:\n学校名 : 清华附小 , 字符串类型,代表小学学校的名称\n所属地区 : 西城区 , 字符串类型,表示该小学学校所在的位置\n创办时间 : 1998 , 数字值类型,表示该小学学校的创办时间\n类别 : 公立小学 , 字符串类型,表示该小学学校所在的类别\n学生人数 : 2000 , 数字值类型,表示该小学学校的学生数量\n教职工人数 : 140 , 数字值类型,表示该小学学校的教职工数量\n教学班数量 : 122 , 数字值类型,表示该小学学校的教学班数量‘ | +|stream |bool | 否 |指定是否以流式形式返回响应。默认为 False。 |False | +|temperature |float | 否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 |0.7 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |Message |返回结果|Message(content="df.loc[df['所属地区'] == "海淀区","学校名"]")| + +## 高级用法 + +多个表格查询或跨表查询场景。 + +## 更新记录和贡献 + +- 初始版本发布(2023-10) \ No newline at end of file diff --git a/docs/BasisModule/Components/llms/oral_query_generation/README.md b/docs/BasisModule/Components/llms/oral_query_generation/README.md new file mode 100644 index 000000000..4a796b11b --- /dev/null +++ b/docs/BasisModule/Components/llms/oral_query_generation/README.md @@ -0,0 +1,107 @@ +# 口语化Query生成(Oral Query Generation) + +## 简介 +口语化Query生成组件(Oral Query Generation)可以基于输入文本生成与文档内容相关的Query。 + +### 功能介绍 +基于输入文本生成与文档内容相关的Query。 + +### 特色优势 +生成的query划分为问题和短语两种类型,可分别用于不同场景。 + +### 应用场景 +可用于推荐问题生成、标签生成、文档索引增强等。 + +## 基本用法 +### 快速开始 +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + + +text = ('文档标题:在OPPO Reno5上使用视频超级防抖\n' + '文档摘要:OPPO Reno5上的视频超级防抖,视频超级防抖3.0,多代视频防抖算法积累,这一代依旧超级防抖超级稳。 开启视频超级' + '防抖 开启路径:打开「相机 > 视频 > 点击屏幕上方的“超级防抖”标识」 后置视频同时支持超级防抖和超级防抖Pro功能,开启超级' + '防抖后手机屏幕将出现超级防抖Pro开关,点击即可开启或关闭。 除此之外,前置视频同样加持防抖算法,边走边拍也能稳定聚焦脸部' + ',实时视频分享您的生活。') + +#! 该组件推荐使用Qianfan-Agent-Speed-8k模型。 +oral_query_generation = appbuilder.OralQueryGeneration(model='Qianfan-Agent-Speed-8k') +result = oral_query_generation(appbuilder.Message(text), query_type='全部', output_format='str') + +print(result) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `model` | str | 是 | 模型名称,用于指定要使用的千帆模型。推荐使用Qianfan-Agent-Speed-8k模型。 | Qianfan-Agent-Speed-8k | +| `secret_key` | str | 否 | 用户鉴权token,默认从环境变量中获取: `os.getenv("APPBUILDER_TOKEN", "")` | bce-v3/XXX | +| `gateway` | str | 否 | 后端网关服务地址,默认从环境变量中获取: `os.getenv("GATEWAY_URL", "")` | https://appbuilder.baidu.com | +| `lazy_certification` | bool | 否 | 延迟认证,为True时在第一次运行时认证。默认为False。 | False | + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `message` | obj | 是 | 输入消息,用于模型的主要输入内容。 | Message(content='...') | +| `query_type` | str | 否 | 待生成的query类型,包括问题、短语和全部(问题+短语)。默认为全部。 | 全部 | +| `output_format` | str | 否 | 输出格式,包括json和str。默认为str。 | str | +| `stream` | bool | 否 | 指定是否以流式形式返回响应。默认为 False。 | False | +| `temperature` | float | 否 | 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 | 0.1 | +| `top_p` | float | 否 | 影响输出文本的多样性,取值越大,生成文本的多样性越强。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 0.0。 | 0.0 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | +| `result` | obj | 模型运行后的输出结果 | Message(content='...') | + +### 响应示例 +``` +Message(name=msg, content=1. OPPO Reno5上有什么特殊的功能? +2. 视频超级防抖是什么? +3. 视频超级防抖有什么作用? +4. 如何在OPPO Reno5上开启视频超级防抖? +5. 视频超级防抖Pro是什么? +6. 开启视频超级防抖后,屏幕上会出现什么? +7. 前置视频有防抖算法吗? +8. OPPO Reno5上的视频超级防抖 +9. 视频超级防抖3.0 +10. 多代视频防抖算法积累的作用 +11. 开启视频超级防抖的方法 +12. 视频超级防抖Pro的功能 +13. 开启视频超级防抖后,屏幕上会出现的东西 +14. 前置视频防抖算法的作用, mtype=dict, extra={}) +``` + +## 高级用法 + +## 更新记录和贡献 +### 2024.5.22 +#### [Updated] +- 升级能力,主要升级内容如下: + - 生成的query要求能够使用输入文本进行回答。 + - 生成的query划分为问题和短语类型。 + - 生成的query数量不再限制为10个。 +- 在调用组件时,支持输出问题、短语或全部(问题 + 短语);支持输出格式为json或者str(兼容之前版本的输出格式)。 + +### 2024.1.24 +#### [Updated] +- 更新README。 + +### 2023.12.07 +#### [Added] +- 增加口语化Query生成组件。 +- 增加口语化Query生成组件单元测试。 \ No newline at end of file diff --git a/docs/BasisModule/Components/llms/playground/README.md b/docs/BasisModule/Components/llms/playground/README.md new file mode 100644 index 000000000..73c598591 --- /dev/null +++ b/docs/BasisModule/Components/llms/playground/README.md @@ -0,0 +1,82 @@ +# 空应用(Playground) + +## 简介 +Playground空应用(Playground)是一款灵活的组件,允许用户自定义prompt模板并执行。 + + +### 功能介绍 +Playground空应用(Playground)是一款灵活的组件,允许用户自定义prompt模板并执行。它适用于各种场景,特别是在需要自定义输入模板和使用预训练模型进行交互的情况下。 + +### 特色优势 +灵活可自定义,用户可自由定义提示词,来跟大模型进行交互。 + +### 应用场景 +在需要灵活定义提示词的场景,并且其他提供的开箱即用的组件无法满足的情况下使用。 + +## 基本用法 + +要开始使用 Playground,你需要设置prompt模板和模型名称。以下是一个基本示例: + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +play = appbuilder.Playground( + prompt_template="你好,{name},我是{bot_name},{bot_name}是一个{bot_type},我可以{bot_function},你可以问我{bot_question}。", + model="Qianfan-Agent-Speed-8k" +) +play(appbuilder.Message({"name": "小明", "bot_name": "小红", "bot_type": "聊天机器人", "bot_function": "聊天", "bot_question": "你好吗?"}), stream=False) +``` + +## 参数说明 +### 初始化参数 + +| 参数名称 | 类型 | 说明 | +|----------------|------------|----------------------------------| +| prompt_template | str | 输入模板,用于指定prompt格式。 | +| model | str \| None | 模型名称,用于指定要使用的千帆模型。 | + +### 调用参数 + +| 参数名称 | 类型 | 说明 | 默认值 | +|-----------|---------------|----------------------------|------| +| message | obj:`Message` | 输入消息,必需参数。 | 无 | +| stream | bool | 是否以流式形式返回响应。 | False | +| temperature | float | 模型配置的温度参数。 | 1e-10 | +| max_output_tokens | int | 指定生成的文本的最大长度,默认最大输出token数为1024, 最小为2, 最大输出token与选择的模型有关 | 1024 | +|disable_search| bool | 是否关闭搜索功能,默认关闭 | True | +|response_format| str | 指定返回的响应格式,可选值有:`text`, `json_object`| text | +|stop| str | 生成停止标识,当模型生成结果以stop中某个元素结尾时,停止文本生成。每个元素长度不超过20字符,最多4个元素. | [] | + + +### 响应参数 + +| 类型 | 说明 | +|----------------|--------------------| +| obj:`Message` | 模型运行后的输出消息。 | + +### 响应示例 +```json +{"result": "北京科技馆。"} +``` + +### 错误码 +|错误码|描述| +|------|---| + + +## 高级用法 +此部分可根据实际应用场景提供更复杂的示例和用法说明。 + +## 示例和案例研究 +目前暂无具体案例,将在未来更新。 + +## API文档 +无 + +## 更新记录和贡献 +- 2024年01月24日 更新Readme格式,调整请求参数样式,新增特色优势 +- 2024年08月01日 更新playground组件的入参,并且前向兼容,支持未来的大模型对话参数 diff --git a/docs/BasisModule/Components/llms/qa_pair_mining/README.md b/docs/BasisModule/Components/llms/qa_pair_mining/README.md new file mode 100644 index 000000000..8fcfa6e5e --- /dev/null +++ b/docs/BasisModule/Components/llms/qa_pair_mining/README.md @@ -0,0 +1,125 @@ +# 问答对挖掘(QAPairMining) + +## 简介 +问答对挖掘(QAPairMining)可以基于输入文本内容,快速生成多个问题及对应答案,极大提高信息提炼的效率和准确性。广泛用于在线客服、智能问答等领域。 + +### 功能介绍 +基于输入文本内容,快速生成多个问题及对应答案;可与文档解析、分段联用,快速生成文档的问答对。 + +### 特色优势 +问答对挖掘组件快速基于输入文本生成的问题和答案,准确率高;可快速依据文档生成FAQ,减少人工成本。 + +### 适用场景 +适用于在线客服、智能问答等场景 + +## 基本用法 + +### 快速开始 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +qa_mining = appbuilder.QAPairMining(model="Qianfan-Agent-Speed-8k") +# 输入文本(对此文本挖掘问答对) +msg = '2017年,工商银行根据外部宏观环境变化,及时调整业务策略,优化资产负债结构,' + \ + '保持存贷款业务协调发展,提升资产负债配置效率。' + \ + '2018年3月末,工商银行总资产264,937.81亿元,比上年末增加4,067.38亿元.' +msg = appbuilder.Message(msg) +answer = qa_mining(msg) + +print(">>> Output: {}".format(answer.content)) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 + +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +| message | String |是 |输入消息,用于模型的主要输入内容。这是一个必需的参数。| `Message("2017年,工商银行根据...")` | +| stream |bool|否 |指定是否以流式形式返回响应。默认为 False。| False | +| temperature |float|否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 | 1e-10 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +| result | String | 输出消息,包含模型运行后的输出内容。| 见响应示例 | + +### 响应示例 +```text +问题:2017年,工商银行是如何应对外部宏观环境变化的? +答案:工商银行根据外部宏观环境变化,及时调整业务策略,优化资产负债结构,保持存贷款业务协调发展,提升资产负债配置效率。 + +问题:2018年3月末,工商银行总资产是多少? +答案:264,937.81亿元。 +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 高级用法 + +基于一篇文档,快速生成多个问题及对应答案,极大提高信息提炼的效率和准确性。 +主要流程如下: + +1. 读取本地文档,文档解析分段,获取段落; +2. 段落作为问答对挖掘的输入,挖掘问答对。 + +### 代码样例 +```python +import os +import requests + +from appbuilder.utils.logger_util import logger +from appbuilder import Message, DocParser, DocSplitter, QAPairMining + + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +# os.environ["APPBUILDER_TOKEN"] = "..." + +# 进行文档内容解析 +file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" +file_data = requests.get(file_url).content +file_path = "./test.pdf" # 待解析的文件路径 +with open(file_path, "wb") as f: + f.write(file_data) + +# 解析文档 +msg = Message(file_path) +parser = DocParser() +parse_result = parser.run(msg, return_raw=True) + +# 对文档进行分段落,split_by_chunk需要return_raw=True +splitter = DocSplitter( + splitter_type="split_by_chunk", overlap=0) +split_result = splitter(parse_result) + +# 每个段落抽取问答对,并返回结果 +for doc_segment in split_result.content["paragraphs"]: + qa_mining = QAPairMining(model="Qianfan-Agent-Speed-8k") + text = doc_segment.get("text", "") + if text == "": + logger.error("Text is null. break") + break + logger.info("Input: \n{}".format(text)) + answer = qa_mining(Message(text)) + logger.info("Output: \n{}".format(answer.content)) + break # 样例代码只跑1个段落 +``` + +## 更新记录和贡献 +* 问答对挖掘能力 (2023-12) diff --git a/docs/BasisModule/Components/llms/query_decomposition/README.md b/docs/BasisModule/Components/llms/query_decomposition/README.md new file mode 100644 index 000000000..d1b7f06bc --- /dev/null +++ b/docs/BasisModule/Components/llms/query_decomposition/README.md @@ -0,0 +1,75 @@ +# 复杂Query分解(QueryDecomposition) + +## 简介 +复杂Query分解(QueryDecomposition)可以将已经确定为复杂问题的原始问题拆解为一个个简单问题。广泛应用在知识问答场景。 + +### 功能介绍 +在知识问答领域中存在很多复杂问题需要处理,这些复杂问题通常需要进行问题分解并采用分治的方法处理。复杂Query分解组件尝试对已经判定为复杂问题的原始问题进行拆解,把复杂问题拆解为一个个简单问题。 + +### 特色优势 +复杂Query分解组件可以将复杂问题分解为不同层级的简单问题。这有助于更系统地分析和解决问题,提高答案的全面性。 + +### 应用场景 +广泛应用于知识问答场景 + +## 基本用法 +下面是复杂Query分解的代码示例: +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +query_decomposition = appbuilder.QueryDecomposition(model="Qianfan-Agent-Speed-8k") + +msg = "吸塑包装盒在工业化生产和物流运输中分别有什么重要性?" +msg = appbuilder.Message(msg) +answer = query_decomposition(msg) + +print("Answer: \n{}".format(answer.content)) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|model |str |是 |模型名称,用于指定要使用的千帆模型|Qianfan-Agent-Speed-8k| + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message |obj:`Message`|是 |输入消息,用于模型的主要输入内容。这是一个必需的参数| | +|stream|bool|否 |指定是否以流式形式返回响应。默认为 False|False| +|temperature|float|否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10|1e-10| + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|Message |obj:`Message` |输出消息,包含模型运行后的输出| | + +### 响应示例 +```text +1. 吸塑包装盒在工业化生产中有什么重要性? +2. 吸塑包装盒在物流运输中有什么重要性? +``` +### 错误码 +无 + +## 高级用法 +你可以通过自定义调整参数来获得想要的结果,例如: +```python +# 流式返回, 调整模型temperature参数 +answer = query_decomposition(msg, stream=True, temperature=0.5) +``` + +## 更新记录和贡献 +* 复杂Query分解 (2024-01) diff --git a/docs/BasisModule/Components/llms/query_rewrite/README.md b/docs/BasisModule/Components/llms/query_rewrite/README.md new file mode 100644 index 000000000..ca568cf03 --- /dev/null +++ b/docs/BasisModule/Components/llms/query_rewrite/README.md @@ -0,0 +1,66 @@ +# 多轮改写 (QueryRewrite) + +## 简介 +多轮改写组件 (QueryRewrite) 是一个用于处理多轮对话和查询改写的组件。它主要用于理解和优化用户与机器人的交互过程,进行指代消解及省略补全。该组件支持不同的改写类型,可根据对话历史生成更准确的用户查询。 + +### 功能介绍 +多轮改写组件 (QueryRewrite) 据用户和机器人的聊天记录,改写用户当前query,利用大语言模型的理解及生成能力,进行指代消解及省略补全。 + +### 特色优势 +多轮改写组件 (QueryRewrite) ,基于百度自研的大语言模型文心一言,无需更多的prompt描述,即可根据对话历史生成更准确的用户查询。 + +### 应用场景 +多轮改写组件 (QueryRewrite) 可用于智能问答、对话式搜索等场景。 + +## 基本用法 + +以下是一个简单的例子,展示如何快速开始使用 QueryRewrite 组件: + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 初始化并使用 QueryRewrite 组件 +query_rewrite = appbuilder.QueryRewrite(model="Qianfan-Agent-Speed-8k") +answer = query_rewrite(appbuilder.Message(['我应该怎么办理护照?', '您可以查询官网或人工咨询', '我需要准备哪些材料?', '身份证、免冠照片一张以及填写完整的《中国公民因私出国(境)申请表》', '在哪里办']), rewrite_type="带机器人回复") +print(answer) +``` + +## 参数说明 + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message |Message |是 |需要改写的文本,用于模型的主要输入内容,这是一个必需的参数。 |Message(content=['我应该怎么办理护照?', '您可以查询官网或人工咨询','我需要准备哪些材料?', '身份证、免冠照片一张以及填写完整的《中国公民因私出国(境)申请表》', '在哪里办']) | +|rewrite_type |str |否 |改写类型选项,可选值为 '带机器人回复'(改写时参考user查询历史和assistant回复历史),'仅用户查询'(改写时参考user查询历史)。 默认是"带机器人回复" |"带机器人回复" | +|stream |bool | 否 |指定是否以流式形式返回响应。默认为 False。 |False | +|temperature |float | 否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。对于此组件勿动! |1e-10 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |Message |返回结果|Message(content="身份证在哪办")| + +### 响应示例 +``` +Message(name=msg, content="身份证在哪办", mtype=dict, extra={}) +``` + +## 示例和案例研究 +实际应用中,QueryRewrite 可用于多种场景,如信息检索、智能对话等。 + +## 更新记录和贡献 +当前版本:v2 (2023-12) diff --git a/docs/BasisModule/Components/llms/similar_question/README.md b/docs/BasisModule/Components/llms/similar_question/README.md new file mode 100644 index 000000000..ca5b11297 --- /dev/null +++ b/docs/BasisModule/Components/llms/similar_question/README.md @@ -0,0 +1,90 @@ +# 相似问生成(SimilarQuestion) + +## 简介 +相似问生成组件(SimilarQuestion)可以用于基于输入的问题,挖掘出与该问题相关的类似问题。广泛用于客服、问答等场景。 + +### 功能介绍 +基于输入的问题,挖掘出与该问题相关的类似问题。 + +### 特色优势 +相似问生成组件,可一次生成多个相似问题,准确率可达90%以上。 + +### 应用场景 +应用于客服、问答等场景 + +## 基本用法 + +### 快速开始 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +similar_question = appbuilder.SimilarQuestion(model="Qianfan-Agent-Speed-8k") + +msg = "我想吃冰淇淋,哪里的冰淇淋比较好吃?" +msg = appbuilder.Message(msg) +answer = similar_question(msg) + +print("Answer: \n{}".format(answer.content)) +``` + +## 参数说明 + +### 初始化参数 +无 + + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +| message | String |是 |输入消息,用于模型的主要输入内容。这是一个必需的参数。| `Message("我想吃冰淇淋,哪里的冰淇淋比较好吃?")` | +| stream |bool|否 |指定是否以流式形式返回响应。默认为 False。| False | +| temperature |float|否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 | 1e-10 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +| result | String | 返回结果 | "1. 哪里能品尝到美味的冰淇淋?\n2. 哪..." | + +### 响应示例 + +```text +1. 哪里能品尝到美味的冰淇淋? +2. 哪里能买到好吃的冰淇淋? +3. 哪里能品尝到正宗的冰淇淋? +4. 哪里能品尝到最新鲜的冰淇淋? +5. 哪里能买到口感最好的冰淇淋? +6. 哪里能品尝到最经典的冰淇淋? +``` + +### 错误码 +|错误码|描述| +|------|---| + + +## 高级用法 + +### 特殊场景示例 + +你可以根据特定的场景调整参数来获得更精确的结果,例如: + +```python +# 流式返回, 调整模型temperature参数 +answer = similar_question(msg, stream=True, temperature=0.5) +``` + +## 示例和案例研究 + +### 示例 + +- **场景:** 用户提出问题 +- **输入:** "我想吃冰淇淋,哪里的冰淇淋比较好吃?" +- **输出:** 1. 请问哪里的冰淇淋最美味? 2. 在哪些地方可以品尝到最好的冰淇淋? ..... + + +## 更新记录和贡献 +* 相似问生成能力 (2023-12) \ No newline at end of file diff --git a/docs/BasisModule/Components/llms/style_rewrite/README.md b/docs/BasisModule/Components/llms/style_rewrite/README.md new file mode 100644 index 000000000..f694e3762 --- /dev/null +++ b/docs/BasisModule/Components/llms/style_rewrite/README.md @@ -0,0 +1,82 @@ +# 风格转写 (StyleRewrite) + +## 简介 +风格转写组件(StyleRewrite) 可以基于生成式大模型对文本的风格进行改写。支持多种文本风格,包括营销、客服、直播、激励及教学话术。 + + +### 功能介绍 +文本风格转写能够将一段文本转换成不同的风格(营销、客服、直播、激励及教学话术),同时保持原文的基本意义不变。基于大模型的文本理解与生成能力,根据用户指定的风格重新组织语言和表达方式。它不仅能识别和模仿不同的写作风格,还能在转换过程中保持文本的连贯性和逻辑性。 + +### 特色优势 +- 准确性与流畅性: 在转写时保持原文意义的准确传达,同时确保文本流畅自然。 +- 风格多样性: 能够覆盖广泛的文本风格,满足不同场合的需求。 +- 提高效率: 节省人工重新编写文本的时间。 + +### 应用场景 +不同的文本风格可以应用到以下不同的场景中: +- 营销风格:该风格的转写能力可以根据商品的描述生成一段营销文案,生动地为用户介绍商品特点。 +- 客服风格:针对客户关心的产品问题,用礼貌易懂的口语化文本进行回复,提升客户服务体验。 +- 直播风格:在线直播平台的主播或内容创作者可以使用文本风格转写技术来优化其直播脚本,使其更吸引特定的观众群体。 +- 激励风格:在激励演讲、团队管理或个人发展领域,文本风格转写可以帮助创建更有动力和启发性的内容。起到鼓舞人心的作用。 +- 教学风格:可以帮助教师或教材作者生成互动感强、并且引人入胜的教学材料。 + + +## 基本用法 + +以下是一个简单的例子,展示如何快速开始使用 StyleRewrite 组件: + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +# 初始化并使用 StyleRewrite 组件 +style_rewrite = appbuilder.StyleRewrite(model="Qianfan-Agent-Speed-8k") +answer = style_rewrite(appbuilder.Message("文心大模型发布新版"), style="激励话术") +``` + + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message |String |是 |需要改写的文本|文心大模型发布新版| +|style|String|否 |想要转换的文本风格,默认为"营销话术",目前支持营销、客服、直播、激励及教学五种话术。|激励话术| +|stream|bool|否 |指定是否以流式形式返回响应,默认为 False。|True| +|temperature|float|否 |模型配置的温度参数,默认为 1e-10|1e-10| + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |String |返回结果|"文心NLP大模型平台再添新功绩!近日,文心NLP大模型平台成功发布新版,这标志着我们在这个领域又取得了新的里程碑。新版的文心NLP大模型平台在技术、功能和易用性等方面都有了显著的提升,为用户提供了更好的使用体验。"| + +### 响应示例 +```json +{"result": "文心NLP大模型平台再添新功绩!近日,文心NLP大模型平台成功发布新版,这标志着我们在这个领域又取得了新的里程碑。新版的文心NLP大模型平台在技术、功能和易用性等方面都有了显著的提升,为用户提供了更好的使用体验。"} +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 高级用法 + +目前该模块仅提供基础的文本风格转写功能。 + + +## 更新记录和贡献 +* 当前版本:v1 diff --git a/docs/BasisModule/Components/llms/style_writing/README.md b/docs/BasisModule/Components/llms/style_writing/README.md new file mode 100644 index 000000000..9ae429339 --- /dev/null +++ b/docs/BasisModule/Components/llms/style_writing/README.md @@ -0,0 +1,78 @@ +# 风格写作(StyleWriting) + +## 简介 +风格写作组件(StyleWriting)是一款基于生成式大模型进行文本创作的工具,支持多种风格,包括B站、小红书等,适用于编写文案、广告等多种场景。 + +### 功能介绍 +风格写作组件(StyleWriting)根据用户的输入内容和风格要求,利用大语言模型的生成能力,自动生成符合特定风格的文案。 + + +### 特色优势 +风格写作组件(StyleWriting),基于百度自研的大语言模型文新一言,提供内置的风格生成能力,无需更多的prompt描述,即可生成对应风格的文案。 + + +### 应用场景 +风格写作组件(StyleWriting)可用于特定平台的文案生成分发营销场景。 + + +## 基本用法 + +为了快速开始使用风格写作组件,您可以参考以下步骤: + +```python +import appbuilder +import os + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +model = "Qianfan-Agent-Speed-8k" +style_writing = appbuilder.StyleWriting(model) + +query = "帮我写一篇关于人体工学椅的文案" +style = "小红书" +length = 100 + +msg = appbuilder.Message(query) +answer = style_writing(message=msg, style_query=style, length=length) +print(answer) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message |Message |是 |输入的消息,用于模型的主要输入内容,这是一个必需的参数。 |Message(content="帮我生成一个介绍保温杯的话术") | +|style_query |str |否 |定义生成文案的格式,包括"通用"、"B站"、"小红书",默认为"通用" |"通用" | +|length |int |否 |定义生成文案的长度,可选 '短' (100), '中' (300), '长' (600), 默认100 |100 | +|stream |bool | 否 |指定是否以流式形式返回响应。默认为 False。 |False | +|temperature |float | 否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 |0.7 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |Message |返回结果|Message(content="大家好,我给你们介绍一款家里和办公室都要备上的保温杯。...")| + +### 响应示例 +``` +Message(name=msg, content=大家好,我给你们介绍一款家里和办公室都要备上的保温杯。我平常上班的时候都会装上一杯热开水,但用普通保温杯装上一会就凉了,所以我赶紧在网上淘了一个好货。它是双层设计,内层是不锈钢材质,外层是玻璃材质,非常贴心,冷热都能装。装上热水,保温效果非常出色,到晚上还是热的。这个保温杯的外观也非常漂亮,采用优质不锈钢材质,耐磨、易清洗。同时,它还非常轻便,可以轻松放入口袋、背包中。有了这个保温杯后,我再也不用担心喝水问题了。无论是在家里、办公室还是户外活动,它都能随时随地为你提供热水。而且,它还非常安全、健康,采用了优质的保温材料和先进的生产工艺。无论男女老少都可以使用这款保温杯哦。快来购买吧。", mtype=dict, extra={}) +``` + +## 高级用法 + +使用风格写作组件进行更复杂的文本创作,例如调整不同的风格和长度参数来适应特定的写作场景。 + +## 更新记录和贡献 + +- 初始版本发布(2023-10) diff --git a/docs/BasisModule/Components/llms/tag_extraction/README.md b/docs/BasisModule/Components/llms/tag_extraction/README.md new file mode 100644 index 000000000..313541a7f --- /dev/null +++ b/docs/BasisModule/Components/llms/tag_extraction/README.md @@ -0,0 +1,83 @@ +# 标签抽取(TagExtraction) + +## 简介 +标签抽取组件(TagExtraction)是一款高效的标签抽取组件,基于生成式大模型,专门用于从文本中提取关键标签。它适用于各种文本分析场景,如内容分类、关键词提取等。 + +### 功能介绍 +标签抽取组件(TagExtraction)专门设计用于从各类文本中高效地提取关键标签。此组件利用先进的生成式大模型,可以准确识别和提取文本中的重要信息,如关键词、短语或主题。它不仅能快速分析大量文本数据,还能精准识别文本的核心内容,支持用户快速了解文本的主要信息和结构 + +### 特色优势 +- 高效准确:基于先进的生成式大模型,提供高效且准确的标签提取功能。 +- 适用广泛:能够处理不同类型和格式的文本数据,适用于多种文本分析场景。 +- 格式友好:输出格式采用规范化编号输出,后处理时方便快捷。 + +### 应用场景 +标签抽取组件可以广泛应用于多种场景: + +- 内容分类:快速为文章或文档分类,提高信息管理和检索效率。 +- 关键词提取:从文本中提取关键词,帮助用户快速了解文本主题和内容。 +- 数据分析:在大数据分析中,可以用于预处理,提取有价值的信息。 +- 搜索引擎优化:帮助网站或博客提取有效标签,改善其在搜索引擎中的可见度。 + + +## 基本用法 + +要开始使用 `TagExtraction`,首先需要设置环境变量 `APPBUILDER_TOKEN`,然后创建 `TagExtraction` 实例并传递文本消息。 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +tag_extraction = appbuilder.TagExtraction(model="Qianfan-Agent-Speed-8k") +result = tag_extraction(appbuilder.Message("从这段文本中抽取关键标签")) +``` + +这个例子展示了如何实例化 `TagExtraction` 组件并使用一个文本消息进行标签抽取。 + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +无 + +### 调用参数 + +|参数名称 |参数类型 |是否必须 |描述 |示例值| +|--------|--------|--------|----|------| +|message |String |是 |需要抽取标签的文本|从这段文本中抽取关键标签| +|stream|bool|否 |指定是否以流式形式返回响应,默认为 False。|True| +|temperature|float|否 |模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。|1e-10| + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |Message |返回结果|对象,包含模型运行后的输出消息。| +### 响应示例 +```json +{"result": "1.5G 2.云计算 3.人工智能 4.数字经济 5.数据中心 6.新型基础设施 7.政策优化 8.产业发展 9.国家重视 10.快速增长"} +``` + +## 高级用法 + +高级用法可以包括自定义模型参数或使用不同的模型源。例如,可以通过指定不同的 `model` 来使用特定于域的模型进行标签抽取。 + +```python +tag_extraction = appbuilder.TagExtraction(model="custom-model") +result = tag_extraction(appbuilder.Message("自定义模型抽取的标签")) +``` + +## 示例和案例研究 + +在实际应用中,`TagExtraction` 可以用于新闻文章、社交媒体帖子或其他任何文本内容的关键标签提取,帮助内容创建者或营销分析师快速了解主要主题和趋势。 + + diff --git a/docs/BasisModule/Components/matching/README.md b/docs/BasisModule/Components/matching/README.md new file mode 100644 index 000000000..3134870eb --- /dev/null +++ b/docs/BasisModule/Components/matching/README.md @@ -0,0 +1,89 @@ +# 语义匹配(Matching) + +## 简介 + +语义匹配组件(Matching)可以计算query与文本列表之间的相似度关系,并根据其进行排序。 + +### 功能介绍 + +根据query与文本列表之间的相似度关系,并根据其进行排序。 + +### 特色优势 + +基于百度文心大模型技术的文本表示模型,学习数据的内在特征,使得排序效果相较于bm25等排序算法,可以更好地处理相似问和同义、近义句子之间的偏序关系。 + +### 应用场景 + +1. 语义排序 + +## 基本用法 + +### 下面是基于query和文本之间的相似度进行匹配排序的代码示例 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 初始化所需要的组件 +embedding = appbuilder.Embedding() +matching = appbuilder.Matching(embedding) + +# 定义query和文本列表 +query = appbuilder.Message("你好") +contexts = appbuilder.Message(["世界", "你好"]) + +contexts_matched = matching(query, contexts) +print(contexts_matched.content) +``` + +``` +['你好', '世界'] +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ---------- | ----------- | -------- | ------------------------------------------------------------- | --------------- | +| embedding | Embedding | 可选 | 一个类型为Embedding的Component,用于初始化 Matching 的向量计算功能。底座模型当前仅支持 embedding-v1 作为可选值。若不指定,默认值为 embedding-v1 。 | appbuilder.Embedding() | + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| --------- | ----------- | -------- | ------------------------------------------------------------ | ---------------------------------- | +| query | 字符串 | 必须 | 一个类型为 string 的句子,用于输入。该句子的长度不能超过384个字符,通常为用户输入的问题。 | "如何提高工作效率?" | +| contexts | 字符串列表 | 必须 | 一个类型为 List[string] 的句子数组。数组中的每个元素都是一个句子,且每个句子的长度不能超过384个字符。这些句子通常为与问题相关的文本候选集。 | ["时间管理技巧", "提高专注力的方法"] | +| return_score | 布尔 | 可选 | 默认为False, 仅返回排序后的字符串列表;当设置为True时,返回匹配分数和字符串的二元组列表 | + +### 响应示例 + +默认为排完序后的字符串列表 + +``` +["时间管理技巧", "提高专注力的方法"] +``` + +当设置`return_score = True`时,二元组的第一个值为相似度分数,第二个值为字符串 + +``` +[(0.9999999852985002, '你好'), (0.18920520439845268, '世界')] +``` + +### 错误码 + +无 + +## 更新记录和贡献 + +* 语义匹配 (2023-12) diff --git a/docs/BasisModule/Components/mix_card_ocr/README.md b/docs/BasisModule/Components/mix_card_ocr/README.md new file mode 100644 index 000000000..60bd2a925 --- /dev/null +++ b/docs/BasisModule/Components/mix_card_ocr/README.md @@ -0,0 +1,215 @@ +# 身份证混贴识别(MixCardOCR) + +## 简介 +身份证混贴识别(MixCardOCR),身份证混贴识别支持自动检测与识别身份证正反面在同一张图片上的场景,一次识别图片中身份证正反面所有字段。 + + +### 功能介绍 +支持对二代居民身份证正反面所有8个字段进行结构化识别,包括姓名、性别、民族、出生日期、住址、身份证号、签发机关、有效期限,识别准确率超过99%;同时支持身份证正面头像检测,并返回头像切片的base64编码及位置信息。 + +### 特色优势 +同时,支持对用户上传的身份证图片进行图像风险和质量检测,可识别图片是否为复印件或临时身份证,是否被翻拍或编辑,是否存在正反颠倒、模糊、欠曝、过曝等质量问题。 + + + +### 应用场景 +身份证混贴识别支持自动检测与识别身份证正反面在同一张图片上的场景,一次识别图片中身份证正反面所有字段。 + + +## 基本用法 + +下面是身份证混贴识别的代码示例: + +示例图片为:![示例图片](https://bj.bcebos.com/v1/appbuilder/test_mix_card_ocr.jpeg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T06%3A18%3A11Z%2F-1%2Fhost%2F695b8041c1ded194b9e80dbe1865e4393da5a3515e90d72d81ef18296bd29598) + +```python +import os +import requests +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +image_url= "https://bj.bcebos.com/v1/appbuilder/test_mix_card_ocr.jpeg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T06%3A18%3A11Z%2F-1%2Fhost%2F695b8041c1ded194b9e80dbe1865e4393da5a3515e90d72d81ef18296bd29598" + + +# 从BOS存储读取样例文件 +raw_image = requests.get(image_url).content +inp = appbuilder.Message(content={"raw_image": raw_image}) +# inp = Message(content={"url": image_url}) + +# 运行身份证混贴识别OCR +mix_card_ocr = appbuilder.MixCardOCR() +out = mix_card_ocr.run(inp) +# 打印识别结果 +print(out.content) + +# {'front': {'fields': [{'key': '出生', 'value': '19920225', 'position': {'left': 620, 'top': 218, 'width': 239, 'height': 30}}, {'key': '性别', 'value': '女', 'position': {'left': 616, 'top': 164, 'width': 25, 'height': 30}}, {'key': '民族', 'value': '汉', 'position': {'left': 766, 'top': 164, 'width': 29, 'height': 30}}, {'key': '姓名', 'value': '姚佳', 'position': {'left': 621, 'top': 102, 'width': 84, 'height': 35}}, {'key': '公民身份号码', 'value': '110103199202250229', 'position': {'left': 733, 'top': 417, 'width': 399, 'height': 36}}, {'key': '住址', 'value': '北京市海淀区仙秀园555号', 'position': {'left': 618, 'top': 277, 'width': 253, 'height': 67}}], 'position': {'left': 483, 'top': 42, 'width': 737, 'height': 464}}, 'back': {'fields': [{'key': '签发日期', 'value': '20150413', 'position': {'left': 789, 'top': 946, 'width': 139, 'height': 34}}, {'key': '签发机关', 'value': '北京市公安局海淀分局', 'position': {'left': 787, 'top': 883, 'width': 275, 'height': 35}}, {'key': '失效日期', 'value': '20350413', 'position': {'left': 946, 'top': 945, 'width': 144, 'height': 34}}], 'position': {'left': 473, 'top': 537, 'width': 749, 'height': 480}}, 'direction': 0} +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 + +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 |示例值| +|------------|--------|------|-----------------------------|---| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 || +| +content | Dict | 是 | 消息内容 || +| +raw_image | String | 否 | 原始图片字节流 || +| +url | String | 否 | 图片下载链接地址 || +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer| 否 | HTTP重试次数 |3|| + +### 响应参数 + +| 参数名称 | 参数类型 | 描述 | 示例值 | +|------------|--------|---------------------|----------------------------------------------------| +| front | object | 身份证正面信息 | | +| +fields | list | 字段信息 | | +| ++key | str | 字段名 | | +| ++value | str | 字段值 | | +| ++position | object | 字段坐标,结构同下position | | +| +position | object | 身份证正面坐标 | | +| ++left | int | 表示定位位置的长方形左上顶点的水平坐标 | | +| ++top | int | 表示定位位置的长方形左上顶点的垂直坐标 | | +| ++width | int | 表示定位位置的长方形的宽度 | | +| ++height | int | 表示定位位置的长方形的高度 | | +| back | object | 身份证反面信息,结构同front | | +| direction | int | 图像旋转角度 | 图像旋转角度,0(正向),- 1(逆时针90度),- 2(逆时针180度),- 3(逆时针270度) | + +### 响应示例 +```json +{ + "front": { + "fields": [{ + "key": "出生", + "value": "19920225", + "position": { + "left": 620, + "top": 218, + "width": 239, + "height": 30 + } + }, + { + "key": "性别", + "value": "女", + "position": { + "left": 616, + "top": 164, + "width": 25, + "height": 30 + } + }, + { + "key": "民族", + "value": "汉", + "position": { + "left": 766, + "top": 164, + "width": 29, + "height": 30 + } + }, + { + "key": "姓名", + "value": "姚佳", + "position": { + "left": 621, + "top": 102, + "width": 84, + "height": 35 + } + }, + { + "key": "公民身份号码", + "value": "110103199202250229", + "position": { + "left": 733, + "top": 417, + "width": 399, + "height": 36 + } + }, + { + "key": "住址", + "value": "北京市海淀区仙秀园555号", + "position": { + "left": 618, + "top": 277, + "width": 253, + "height": 67 + } + } + ], + "position": { + "left": 483, + "top": 42, + "width": 737, + "height": 464 + } + }, + "back": { + "fields": [{ + "key": "签发日期", + "value": "20150413", + "position": { + "left": 789, + "top": 946, + "width": 139, + "height": 34 + } + }, + { + "key": "签发机关", + "value": "北京市公安局海淀分局", + "position": { + "left": 787, + "top": 883, + "width": 275, + "height": 35 + } + }, + { + "key": "失效日期", + "value": "20350413", + "position": { + "left": 946, + "top": 945, + "width": 144, + "height": 34 + } + } + ], + "position": { + "left": 473, + "top": 537, + "width": 749, + "height": 480 + } + }, + "direction": 0 +} +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 高级用法 +目前该模块仅提供基础的身份证混贴识别。 + +## 更新记录和贡献 +* 身份证混贴识别 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/object_recognize/README.md b/docs/BasisModule/Components/object_recognize/README.md new file mode 100644 index 000000000..2ac5d94f2 --- /dev/null +++ b/docs/BasisModule/Components/object_recognize/README.md @@ -0,0 +1,115 @@ +# 通用物体和场景识别-高级版(ObjectRecognition) + +## 简介 +通用物体和场景识别组件(ObjectRecognition)可以识别超过10万类常见物体和场景,接口返回大类及细分类的名称。广泛适用于图像或视频内容分析、拍照识图等业务场景。 +### 功能介绍 +* 识别物体或场景名称 + + 识别动物、植物、商品、建筑、风景、动漫、食材、公众人物等10万个常见物体及场景,接口返回大类及细分类的名称结果; + +### 特色优势 +* 可识别超过10万类常见物体和场景,接口返回大类及细分类的名称,并支持获取识别结果对应的百科信息; + +### 应用场景 +可以识别超过10万类常见物体和场景,广泛适用于图像或视频内容分析、拍照识图等业务场景 + + +## 基本用法 + +示例图片为: + +![示例图片](https://bj.bcebos.com/v1/appbuilder/object_recognize_test.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-11T11%3A00%3A19Z%2F-1%2Fhost%2F2c31bf29205f61e58df661dc80af31a1dc1ba1de0a8f072bc5a87102bd32f9e3) + + + +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 从BOS读取样例图片 +image_url = "https://bj.bcebos.com/v1/appbuilder/object_recognize_test.png?"\ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-"\ + "11T11%3A00%3A19Z%2F-1%2Fhost%2F2c31bf29205f61e58df661dc80af31a1dc"\ + "1ba1de0a8f072bc5a87102bd32f9e3" +raw_image = requests.get(image_url).content +# 创建物体识别组件实例 +object_recognition = appbuilder.ObjectRecognition() +# 执行识别操作并获取结果 +out = object_recognition.run(appbuilder.Message(content={"raw_image": raw_image})) +print(out.content) +# {'result': [{'keyword': '苹果', 'score': 0.961247, 'root': '植物-蔷薇科'}, {'keyword': '姬娜果', 'score': 0.740838, 'root': '植物-其它'}, {'keyword': '梨子', 'score': 0.392218, 'root': '商品-水果'}, {'keyword': '车厘子', 'score': 0.193986, 'root': '植物-其它'}, {'keyword': '石榴', 'score': 0.000239, 'root': '植物-千屈菜科'}]} +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 (以表格形式展示) +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|---------|---------|------|-----------------------------|------------------------------------------------| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | Message(content={"raw_image": b"待识别的图片字节流数据"}) | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +| retry | Integer | 否 | HTTP重试次数 | 3 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|----------|---------|-------------|-----------------------------------------------------| +| result | Array[] | 返回结果 | [{"keyword":"苹果","score":0.961247,"root":"植物-蔷薇科"}] | +| +keyword | String | 图片中的物体或场景名称 | "苹果" | +| +score | Float | 置信度 | 0.961247 | +| +root | String | 识别结果的上层标签 | "植物-蔷薇科" | + + +### 响应示例 +```json +{ + "result":[ + { + "keyword":"苹果", + "score":0.961247, + "root":"植物-蔷薇科" + }, + { + "keyword":"姬娜果", + "score":0.740838, + "root":"植物-其它" + }, + { + "keyword":"梨子", + "score":0.392218, + "root":"商品-水果" + }, + { + "keyword":"车厘子", + "score":0.193986, + "root":"植物-其它" + }, + { + "keyword":"石榴", + "score":0.000239, + "root":"植物-千屈菜科" + } + ] +} +``` +### 错误码 +| 错误码 | 描述 | +|-----|----| + +## 高级用法 +目前该模块仅提供基础通用物体与场景识别功能。 + +## 更新记录和贡献 +* 通用物体及场景识别 (2023-12-08) diff --git a/docs/BasisModule/Components/plant_recognize/README.md b/docs/BasisModule/Components/plant_recognize/README.md new file mode 100644 index 000000000..e8b04d83c --- /dev/null +++ b/docs/BasisModule/Components/plant_recognize/README.md @@ -0,0 +1,116 @@ +# 植物识别(PlantRecognition) + +## 简介 +植物识别(PlantRecognition),即对于输入的一张图片(可正常解码,且长宽比较合适),输出植物识别结果。 + +### 功能介绍 +可识别超过2万种常见植物和近8千种花卉,接口返回植物的名称,并支持获取识别结果对应的百科信息 + +### 特色优势 +还可使用EasyDL定制训练平台,定制识别植物种类 + +### 应用场景 +适用于拍照识图、幼教科普、图像内容分析等场景 + +## 基本用法 + +下面是植物识别的代码示例: + +示例图片为 + +![示例图片](https://bj.bcebos.com/v1/appbuilder/palnt_recognize_test.jpg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-23T09%3A51%3A03Z%2F-1%2Fhost%2Faa2217067f78f0236c8262cdd89a4b4f4b2188d971ca547c53d01742af4a2cbe) + +```python +import os +import requests +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." +image_url = "https://bj.bcebos.com/v1/appbuilder/palnt_recognize_test.jpg?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-23T09%3A51%3A03Z%2F-1%2Fhost%2Faa2217067f78f0236c8262cdd89a4b4f4b2188d971ca547c53d01742af4a2cbe" + +# 从BOS存储读取样例文件 +raw_image = requests.get(image_url).content +inp = appbuilder.Message(content={"raw_image": raw_image}) +# inp = Message(content={"url": image_url}) + +# 运行植物识别 +plant_recognize = appbuilder.PlantRecognition() +out = plant_recognize.run(inp) +# 打印识别结果 +print(out.content) + +# {'plant_score_list': [{'name': '榕树', 'score': 0.4230029582977295}, {'name': '榆树', 'score': 0.1273619383573532}, {'name': '美国榆', 'score': 0.12065108865499496}, {'name': '白蜡树', 'score': 0.11650644987821579}, {'name': '雨树', 'score': 0.045340824872255325}]} +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 + +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 |示例值| +|------------|--------|------|-----------------------------|---| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 || +| +content | Dict | 是 | 消息内容 || +| +raw_image | String | 否 | 原始图片字节流 || +| +url | String | 否 | 图片下载链接地址 || +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer| 否 | HTTP重试次数 |3|| + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|------------------|--------|--------|--------------------------------------------------| +| plant_score_list | List | 植物识别列表 | | +| name | String | 植物名 | | +| score | Float | 植物识别打分 | | + + +### 响应示例 +```json +{ + "plant_score_list": [ + { + "name": "榕树", + "score": 0.4230029582977295 + }, + { + "name": "榆树", + "score": 0.1273619383573532 + }, + { + "name": "美国榆", + "score": 0.1206519496 + }, + { + "name": "白蜡树", + "score": 0.11650644987821579 + }, + { + "name": "雨树", + "score": 0.045340824872255325 + } + ] +} +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 高级用法 +目前该模块仅提供基础的植物识别。 + + +## 更新记录和贡献 +* 植物识别 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/ppt_generation_from_file/README.md b/docs/BasisModule/Components/ppt_generation_from_file/README.md new file mode 100644 index 000000000..0267c84f9 --- /dev/null +++ b/docs/BasisModule/Components/ppt_generation_from_file/README.md @@ -0,0 +1,83 @@ +# 文件生成PPT(PPTGenerationFromFile) + +## 简介 +文件生成PPT组件(PPTGenerationFromFile)可以根据上传的文件(支持**中英文**)生成PPT。 + +### 功能介绍 +根据上传的文件(支持**中英文**)生成PPT。 + +### 特色优势 +可根据文件(支持**中英文**)生成高质量PPT。 + +### 应用场景 +PPT生成。 + +## 基本用法 +### 快速开始 +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ['APPBUILDER_TOKEN'] = '...' + + +ppt_generator = appbuilder.PPTGenerationFromFile() + +user_input = { + 'file_url':'http://image.yoojober.com/users/chatppt/temp/2024-06/6672a92c87e6f.doc', + 'user_name':'百度千帆AppBuilder' +} +result = ppt_generator(appbuilder.Message(user_input)) +print(result.content) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ['APPBUILDER_TOKEN'] = 'bce-YOURTOKEN' +``` + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `secret_key` | str | 否 | 用户鉴权token,默认从环境变量中获取: `os.getenv("APPBUILDER_TOKEN", "")` | bce-v3/XXX | +| `gateway` | str | 否 | 后端网关服务地址,默认从环境变量中获取: `os.getenv("GATEWAY_URL", "")` | https://appbuilder.baidu.com | +| `lazy_certification` | bool | 否 | 延迟认证,为True时在第一次运行时认证。默认为False。 | False | + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `message` | obj | 是 | 输入消息,用于模型的主要输入内容。 | Message(content=input_data) | +| `poll_request_times` | int | 否 | 轮询请求结果次数。默认为60。 | 60 | +| `poll_request_interval` | int | 否 | 轮询请求的间隔时间(秒)。默认为5。 | 5 | + +其中message包含的input_data包括以下参数: + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `file_url` | str | 是 | 文件链接。 | http://image.yoojober.com/users/chatppt/temp/2024-06/6672a92c87e6f.doc | +| `user_name` | str | 否 | 作者名。 | 百度千帆AppBuilder | + + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | +| `result` | obj | 模型运行后的输出结果,包含PPT下载链接。 | Message(content='...') | + +### 响应示例 +``` +https://download.yoojober.com/chatppt_business/2024-07/d1a1ab518ebcfbba7908a6734fa11d13.pptx?e=1721964933&token=8_2qFlGEVQZPpFvHdGR6gg2t9A9QZfWT9wwTl92s:9bs8LWV1SQLJNJoJgtd-sLF-CTw= +``` + +## 高级用法 + +## 更新记录和贡献 +### 2024.8.1 +#### [Added] +- 增加文件生成PPT组件。 +- 增加文件生成PPT组件单元测试。 \ No newline at end of file diff --git a/docs/BasisModule/Components/ppt_generation_from_instruction/README.md b/docs/BasisModule/Components/ppt_generation_from_instruction/README.md new file mode 100644 index 000000000..34c8f0109 --- /dev/null +++ b/docs/BasisModule/Components/ppt_generation_from_instruction/README.md @@ -0,0 +1,90 @@ +# 指令生成PPT(PPTGenerationFromInstruction) + +## 简介 +指令生成PPT组件(PPTGenerationFromInstruction)可以基于指令或者自定义信息生成PPT。 + +### 功能介绍 +基于指令或者自定义信息生成PPT。 + +### 特色优势 +- 可生成高质量PPT。 +- 支持传入自定义信息生成PPT。 +- 生成PPT复杂度可控。 + +### 应用场景 +PPT生成。 + +## 基本用法 +### 快速开始 +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ['APPBUILDER_TOKEN'] = '...' + + +ppt_generator = appbuilder.PPTGenerationFromInstruction() + +user_input = { + 'text': '生成一个介绍北京的PPT。', + 'custom_data': {}, + 'complex': 1, + 'user_name': '百度千帆AppBuilder' +} +result = ppt_generator(appbuilder.Message(user_input)) +print(result.content) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ['APPBUILDER_TOKEN'] = 'bce-YOURTOKEN' +``` + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `secret_key` | str | 否 | 用户鉴权token,默认从环境变量中获取: `os.getenv("APPBUILDER_TOKEN", "")` | bce-v3/XXX | +| `gateway` | str | 否 | 后端网关服务地址,默认从环境变量中获取: `os.getenv("GATEWAY_URL", "")` | https://appbuilder.baidu.com | +| `lazy_certification` | bool | 否 | 延迟认证,为True时在第一次运行时认证。默认为False。 | False | + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `message` | obj | 是 | 输入消息,用于模型的主要输入内容。 | Message(content=input_data) | +| `poll_request_times` | int | 否 | 轮询请求结果次数。默认为60。 | 60 | +| `poll_request_interval` | int | 否 | 轮询请求的间隔时间(秒)。默认为5。 | 5 | + +其中message包含的input_data包括以下参数: + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `text` | str | 是 | 请求生成PPT的query。可为空字符串"",与custom_data有一个参数不为空即可。 | 请你生成一个介绍北京的PPT。 | +| `custom_data` | obj | 是 | 自定义参数,可指定标题、副标题、作者、结构等信息。可为空字典{},与text有一个参数不为空即可。 | `{"title": "标题", "sub_title": "副标题", "author": "作者", "catalogs": [{"catalog": "一级大纲1", "sub_catalog": ["一级大纲1-二级大纲1"]}, {"catalog": "一级大纲2", "sub_catalog": ["一级大纲2-二级大纲1"]}], "contents": [{"catalog_index": 0, "sub_catalog_index": 0, "content": ["一级大纲1-二级大纲1-内容1", "一级大纲1-二级大纲1-内容2"]}, {"catalog_index": 1, "sub_catalog_index": 0, "content": [{"key": "一级大纲2-二级大纲1-小标题1", "value": "一级大纲2-二级大纲1-子内容1"}, {"key": "一级大纲2-二级大纲1-小标题2", "value": "一级大纲2-二级大纲1-子内容2"}, {"key": "一级大纲2-二级大纲1-小标题3", "value": "一级大纲2-二级大纲1-子内容3"}], "picture": ["https://image.yoojober.com/chatppt_business/2024-02/000114cd07b809cb8c6bb22674e814da.png"]}]}` | +| `complex` | integer | 否 | PPT复杂度,可选:1、2、3,其中1最简单、3最复杂。 | 1 | +| `font_name` | str | 否 | PPT字体,可选:黑体、宋体、仿宋、幼圆、楷体、隶书。 | 黑体 | +| `user_name` | str | 否 | 作者名。 | 百度千帆AppBuilder | + + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | +| `result` | obj | 模型运行后的输出结果,包含PPT下载链接。 | Message(content='...') | + +### 响应示例 +``` +https://download.yoojober.com/chatppt_business/2024-07/bf2af50285e52261507abdd7385e02c4.pptx?e=1721964536&token=8_2qFlGEVQZPpFvHdGR6gg2t9A9QZfWT9wwTl92s:nikgRM9RbPxzClBvmKrweeKd9Ck= +``` + +## 高级用法 + +## 更新记录和贡献 +### 2024.8.1 +#### [Added] +- 增加指令生成PPT组件。 +- 增加指令生成PPT组件单元测试。 \ No newline at end of file diff --git a/docs/BasisModule/Components/ppt_generation_from_paper/README.md b/docs/BasisModule/Components/ppt_generation_from_paper/README.md new file mode 100644 index 000000000..022f25d01 --- /dev/null +++ b/docs/BasisModule/Components/ppt_generation_from_paper/README.md @@ -0,0 +1,97 @@ +# 论文生成PPT(PPTGenerationFromPaper) + +## 简介 +论文生成PPT组件(PPTGenerationFromPaper)可以根据上传的论文(支持**中英文**)生成PPT。 + +### 功能介绍 +根据上传的论文(支持**中英文**)生成PPT。 + +### 特色优势 +可根据论文(支持**中英文**)生成高质量PPT。 + +### 应用场景 +PPT生成。 + +## 基本用法 +### 快速开始 +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ['APPBUILDER_TOKEN'] = '...' + + +ppt_generator = appbuilder.PPTGenerationFromPaper() + +user_input = { + 'file_key': 'http://image.yoojober.com/users/chatppt/temp/2024-06/6672aa839a9da.docx', + 'style': '科技', + 'color': '蓝色', + 'title': '', + 'pleader': '百度千帆AppBuilder', + 'advisor': '百度千帆AppBuilder', + 'school': '北京大学', + 'school_logo': '', + 'school_picture': '' +} +result = ppt_generator(appbuilder.Message(user_input)) +print(result.content) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ['APPBUILDER_TOKEN'] = 'bce-YOURTOKEN' +``` + +### 初始化参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `secret_key` | str | 否 | 用户鉴权token,默认从环境变量中获取: `os.getenv("APPBUILDER_TOKEN", "")` | bce-v3/XXX | +| `gateway` | str | 否 | 后端网关服务地址,默认从环境变量中获取: `os.getenv("GATEWAY_URL", "")` | https://appbuilder.baidu.com | +| `lazy_certification` | bool | 否 | 延迟认证,为True时在第一次运行时认证。默认为False。 | False | + +### 调用参数 + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `message` | obj | 是 | 输入消息,用于模型的主要输入内容。 | Message(content=input_data) | +| `poll_request_times` | int | 否 | 轮询请求结果次数。默认为60。 | 60 | +| `poll_request_interval` | int | 否 | 轮询请求的间隔时间(秒)。默认为5。 | 5 | + +其中message包含的input_data包括以下参数: + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | -------- | +| `file_key` | str | 是 | 论文链接。 | http://image.yoojober.com/users/chatppt/temp/2024-06/6672aa839a9da.docx | +| `style` | str | 否 | PPT风格,可选:科技、商务、小清新、可爱卡通、中国风、极简、党政。 | 科技 | +| `color` | str | 否 | PPT主色调。可选:紫色、红色、橙色、黄色、绿色、青色、蓝色、粉色。 | 紫色 | +| `title` | str | 否 | 自定义标题。优先使用自定义标题,如果为空则使用解析结果中的标题。 | 论文分享 | +| `pleader` | str | 否 | 汇报人。 | 百度千帆AppBuilder | +| `advisor` | str | 否 | 指导教师。 | 百度千帆AppBuilder | +| `school` | str | 否 | 学校名称。 | 北京大学 | +| `school_logo` | str | 否 | 学校logo链接。 | | +| `school_picture` | str | 否 | 学校图片链接。 | | + + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +| ------- | ------- | -------- | -------- | +| `result` | obj | 模型运行后的输出结果,包含PPT下载链接。 | Message(content='...') | + +### 响应示例 +``` +https://download.yoojober.com/chatppt_business/2024-07/6f472b65ee324d2da7849b6003a896e3.pptx?e=1721964794&token=8_2qFlGEVQZPpFvHdGR6gg2t9A9QZfWT9wwTl92s:nG-hbPN51uPP8FOeTY2jdQcT51w= +``` + +## 高级用法 + +## 更新记录和贡献 +### 2024.8.1 +#### [Added] +- 增加论文生成PPT组件。 +- 增加论文生成PPT组件单元测试。 \ No newline at end of file diff --git a/docs/BasisModule/Components/qrcode_ocr/README.md b/docs/BasisModule/Components/qrcode_ocr/README.md new file mode 100644 index 000000000..217917bdf --- /dev/null +++ b/docs/BasisModule/Components/qrcode_ocr/README.md @@ -0,0 +1,111 @@ +# 二维码识别 (QRcodeOCR) + +## 简介 +二维码识别 (QRcodeOCR) 可对图片中的二维码、条形码进行检测和识别,返回存储的文字信息及其位置信息。 + + +### 功能介绍 +* 二维码识别 + + 检测识别图片中的二维码(包括QR_CODE、DATA_MATRIX、AZTEC、PDF_417 4类),自动返回存储的内容。 +* 条形码识别 + + 检测识别图片中的条形码(包括CODE_128、UPC_A、EAN_13、ITF、CODABAR 等9类),自动返回存储的内容。 +### 特色优势 +* 支持对图片中的二维码、条形码进行检测和识别,自动返回存储的内容。 + +### 应用场景 +* 物品信息管理 + + 解析识别各类物品的二维码或条形码信息,应用于商品、药品出入库管理及货物运输管理等场景,轻松一扫即可快速完成对物品信息的读取、登记和存储,简化物品管理流程 +## 基本用法 + +下面是二维码识别的代码示例: + +示例图片为: +![示例图片](https://bj.bcebos.com/v1/appbuilder/qrcode_ocr_test.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T12%3A45%3A13Z%2F-1%2Fhost%2Ffc43d07b41903aeeb5a023131ba6e74ab057ce26d50e966dc31ff083e6a9c41b) + +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 从BOS读取样例图片 +image_url = "https://bj.bcebos.com/v1/appbuilder/qrcode_ocr_test.png?" \ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-" \ + "01-24T12%3A45%3A13Z%2F-1%2Fhost%2Ffc43d07b41903aeeb5a023131ba6" \ + "e74ab057ce26d50e966dc31ff083e6a9c41b" +raw_image = requests.get(image_url).content +# 创建二维码识别组件实例 +qrcode_ocr = appbuilder.QRcodeOCR() +# 执行识别操作并获取结果 +out = qrcode_ocr.run(appbuilder.Message(content={"raw_image": raw_image}), location="true") +print(out.content) +# {'codes_result': [{'type': 'QR_CODE', 'text': ['ocr文字识别'], 'location': {'top': 506, 'left': 1302, 'width': 1972, 'height': 1961}}]} +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 (以表格形式展示) +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|----------|---------|------|-------------------------------------------------------------------------|------------------------------------------------| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | Message(content={"raw_image": b"待识别的图片字节流数据"}) | +| location | String | 否 | 是否输出二维码/条形码位置信息,false:不返回位置信息,true:默认值,返回图中二维码/条形码的位置信息,包括上边距、左边距、宽度、高度 | "false" | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +| retry | Integer | 否 | HTTP重试次数 | 3 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|--------------|----------|-------------|-------------------------------------------------------------------------------------------------------------------| +| codes_result | Array[] | 返回结果 | [{'type': 'QR_CODE', 'text': ['ocr文字识别'], 'location': {'top': 506, 'left': 1302, 'width': 1972, 'height': 1961}}] | +| +type | String | 识别码类型条码类型 | 'QR_CODE' | +| +text | Array[] | 条形码/二维码识别内容 | ['ocr文字识别'] | +| +location | Object{} | 条形码/二维码位置信息 | {'top': 506, 'left': 1302, 'width': 1972, 'height': 1961} | +| ++top | Integer | 条形码/二维码的上边距 | 506 | +| ++left | Integer | 条形码/二维码的左边距 | 1302 | +| ++width | Integer | 条形码/二维码的宽度 | 1972 | +| ++height | Integer | 条形码/二维码的高度 | 1961 | + + +### 响应示例 +```json +{ + "codes_result": [ + { + "type": "QR_CODE", + "text": ["ocr文字识别"], + "location": { + "top": 506, + "left": 1302, + "width": 1972, + "height": 1961 + } + } + ] +} +``` +### 错误码 +| 错误码 | 描述 | +|-----|----| + +## 高级用法 + +目前该模块仅提供基础的二维码识别功能。 + + +## 更新记录和贡献 +* 二维码识别能力 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/rag_with_baidu_search/README.md b/docs/BasisModule/Components/rag_with_baidu_search/README.md new file mode 100644 index 000000000..8196d8886 --- /dev/null +++ b/docs/BasisModule/Components/rag_with_baidu_search/README.md @@ -0,0 +1,158 @@ +# 百度搜索RAG(deprecate) + +## 简介 +百度搜索(BaiduSearch),通过百度搜索引擎搜索相关内容。 +现推荐使用RagWithBaiduSearchPro +| | 旧组件(百度搜索RAG)| 新组件(百度搜索RAG_PRO) +|--------------|------------------ |------------------ +| 指令 | ☑️ | ☑️ +| 拒绝回答开关 | ☑️ | ❌ +| 高亮开关 | ☑️ | ❌ +| 友好度开关 | ☑️ | ❌ +| 澄清开关 | ☑️ | ❌ +| 溯源开关 | ☑️ | ☑️ +| 流式请求 | ☑️ | ☑️ +| temperature | ☑️ | ☑️ +| top_p | ☑️ | ☑️ +| 检索个数 | ❌ | ☑️ +| 检索类型(网页、视频等) | ❌ | ☑️ + +### 功能介绍 +百度搜索是最大的中文搜索引擎,帮助用户在海量信息中找到最需要的内容。 + +### 特色优势 +百度搜索凭借先进的中文搜索技术、个性化推荐、全面的信息覆盖、即时的搜索结果和强大的安全防护,为用户提供快速、准确、安全的搜索体验,满足多样化的信息需求。 + +### 应用场景 +通用搜索领域 + +## 基本用法 +以下是一个简单的例子来演示如何开始使用百度搜索组件: + +```python +import appbuilder +import os + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 创建rag_with_baidusearch对象 +rag_with_baidusearch_component = appbuilder.RAGWithBaiduSearch(model="Qianfan-Agent-Speed-8k") + +# 运行rag_with_baidusearch基本组件 +msg = appbuilder.Message("残疾人怎么办相关证件") +result = rag_with_baidusearch_component.run(msg) + +# 获取reference +references = result.extra + +# 输出运行结果 +print(result) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 +- `instruction (obj:Message, 可选)`: 可设定人设,如:你是问答助手,在回答问题前需要加上“很高兴为您解答:” +- `reject (bool, 可选)`: 拒绝开关,如果为 True,则启用该能力。默认为 False。当输入的问题在搜索结果中没有找到答案时,开关开启时,模型会用特定话术("当前文档库找不到对应的答案,我可以尝试用我的常识来回答你。")做回复的开头,并后接自有知识做回复内容。 +- `clarify (bool, 可选)`: 澄清开关,如果为 True,则启用该能力。默认为 False。 当输入的问题比较模糊、或者主体指代不清晰,且context_list中包含有可以回答该模糊问题的多种潜在备选答案时,开启该开关,大模型会以特定的话术做澄清反问,引导用户继续补充问题发问。举例子,query:发电机的续航时间? Answer: 根据搜索结果得到了xx和xx两种型号的发电机,您的问题具体涉及到哪一个?请补充关键信息,作为完整的问题重新发问。 +- `highlight (bool, 可选)`: 重点强调开关,如果为 True,则启用该能力。默认为 False。开启该功能时,回复结果中会高亮显示关键部分的内容。 +- `friendly (bool, 可选)`: 友好性提升开关,如果为 True,则启用该能力。默认为 False。开关开启时,部分回复的开头会加礼貌用语。且如果回答涉及到大段的信息,会倾向于以<总-分>或者<总-分-总>的形式做分点论述,使得答案的格式更规整,可读性更强。 +- `cite (bool, 可选)`: 溯源开关,如果为 True,则启用该能力。默认为 False。开关开启时,回复内容后会使用引用标记来标注回答内容参考的搜索结果序号,如^[1]^ (引用单个搜索结果),^[1][2]^(引用多个搜索结果)。例如:按照当地公安机关出入境管理部门规定的其他材料办理^[2]^。 + + +### 调用参数 +调用参数中的 instruction, reject, clarify, highlight, friendly 和 cite 会覆盖初始化时的参数。 + +- `msg (obj:Message)`: 输入消息,包含用户提出的问题。这是一个必需的参数。 +- `instruction (obj:Message, 可选)`: 可设定人设,如:你是问答助手,在回答问题前需要加上“很高兴为您解答:” +- `reject (bool, 可选)`: 拒绝开关,如果为 True,则启用该能力。默认为 False。当输入的问题在搜索结果中没有找到答案时,开关开启时,模型会用特定话术("当前文档库找不到对应的答案,我可以尝试用我的常识来回答你。")做回复的开头,并后接自有知识做回复内容。 +- `clarify (bool, 可选)`: 澄清开关,如果为 True,则启用该能力。默认为 False。 当输入的问题比较模糊、或者主体指代不清晰,且context_list中包含有可以回答该模糊问题的多种潜在备选答案时,开启该开关,大模型会以特定的话术做澄清反问,引导用户继续补充问题发问。举例子,query:发电机的续航时间? Answer: 根据搜索结果得到了xx和xx两种型号的发电机,您的问题具体涉及到哪一个?请补充关键信息,作为完整的问题重新发问。 +- `highlight (bool, 可选)`: 重点强调开关,如果为 True,则启用该能力。默认为 False。开启该功能时,回复结果中会高亮显示关键部分的内容。 +- `friendly (bool, 可选)`: 友好性提升开关,如果为 True,则启用该能力。默认为 False。开关开启时,部分回复的开头会加礼貌用语。且如果回答涉及到大段的信息,会倾向于以<总-分>或者<总-分-总>的形式做分点论述,使得答案的格式更规整,可读性更强。 +- `cite (bool, 可选)`: 溯源开关,如果为 True,则启用该能力。默认为 False。开关开启时,回复内容后会使用引用标记来标注回答内容参考的搜索结果序号,如^[1]^ (引用单个搜索结果),^[1][2]^(引用多个搜索结果)。例如:按照当地公安机关出入境管理部门规定的其他材料办理^[2]^。 +- `stream (bool, 可选)`: 指定是否以流式形式返回响应。默认为 False。 +- `temperature (float, 可选)`: 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 +- `top_p (float, 可选)`: 模型配置的top_p参数,top_p值越高输出文本越多样,top_p值越低输出文本越稳定。取值范围为 0.0 到 1.0,默认值为 1e-10。 + + +### 返回值 +- 返回一个 `Message` 对象,包含模型运行后的输出消息。 + + +## 高级用法 +该组件的高级用法包括定制化的输入处理、输出处理,以及更复杂的调用场景。用户可以根据具体需求扩展组件功能,实现个性化的问答系统。 +包括如下功能: +1、人设 +2、拒答 +3、澄清反问 +4、重点强调 +5、友好度提升 +6、溯源 + + +### 代码样例 + +```python +import appbuilder +import os + +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 创建rag_with_baidusearch对象, 并初始化人设指令 +rag_with_baidusearch_component = appbuilder.RAGWithBaiduSearch( + model="Qianfan-Agent-Speed-8k", + instruction=appbuilder.Message("你是问答助手,在回答问题前需要加上: 很高兴为您解答")) + + +# 运行rag_with_baidusearch组件,开启拒答、澄清追问、重点强调、友好性提升、溯源能力功能 +msg = appbuilder.Message("残疾人怎么办相关证件") +result = rag_with_baidusearch_component.run( + msg, reject=True, clarify=True, highlight=True, + friendly=True, cite=True, temperature=0.5, stream=False) + +# 输出运行结果 +print(result) +``` + +### 返回参数说明 + +返回的message中具体字段说明如下: + +| 字段 | 字段说明 | +|---------------|--------| +| name | 名称 | +| mtype | 类型 | +| content | 内容 | +| extra | 引用 | +| +search_baidu | 百度搜索结果 | +| ++content | 网页内容摘要 | +| ++url | 网页链接 | +| ++ref_id | 序号 | +| ++title | 标题 | +| ++icon | 网站图标 | +| ++site_name | 网站名 | + + +### 典型返回样例 +``` +Message(name=msg, content=您好,请问您是想询问关于残疾人办理什么证件的问题吗?如果是,我可以为您提供一些信息。 + +首先,如果您是首次申请办理残疾人证,需要携带身份证、户口簿和三张两寸近期免冠白底彩色照片到县残联办证窗口提出申请。如果您因身体原因无法亲自前往,可以联系村(社区)工作人员代办申请。 + +其次,如果您是指残疾类型等级证明,您需要携带相关材料到指定医院或医生进行评级,并由医生签名盖章。 + +最后,如果您是指残疾人享受低保或残疾人贫困证的一级肢体、视力、智力、精神、多重及60周岁以上的一级听力、语言的重度残疾人可以享受重度残疾人生活补助,那么您需要携带身份证、户口本和残疾证申请表到县、市、区级残联进行办理。 + +希望这些信息对您有所帮助。如果您还有其他问题,欢迎随时提问。^[2]^, mtype=dict, extra={'search_baidu': [{'content': '(一)3张两寸近期免冠白底彩色照片。 (二)身份证、户口簿原件及复印件。 (三)申请智力、精神类残疾人证和未成年人申请残疾人证需同时提供法定监护人的身份证、户口本原件及复印件和监护人的证明材料。监护人证明材料为以下三项中任意一项: (1)能体现双方直系血缘亲属关系的户口簿。 (2)申请人所在村(社区)出具的说明双方关系的证明材料。 (3)其他能够证明其双方关系的合法证件。(法院判决书、结婚证、出生证明等) (四)经常居住地的有效居住证(户籍地不在本市申请人需提供此证件,本市户籍申请人无需提供此证件)。 (五)经常居住地残联要求的其他材料。 残疾证办理事项及流程', 'icon': 'https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1505232404,3530227258&fm=195&app=88&f=JPEG?w=200&h=200', 'url': 'https://www.jingzhou.gov.cn/ztfwnew/shjz/cjrbl/index.shtml', 'ref_id': '1', 'site_name': '荆州市人民政府', 'title': '残疾人证办理服务'}, {'content': '{#}申请{@}. 首次申请办理残疾人证人员,需持申请人居民身份证,户口簿和3张两寸近期免冠白底彩照,到县残联办证窗口(县政务服务中心一楼1号窗口)提出办证申请,填写《中华人民共和国残疾人证申请表》.如因身体原因个人无法出行办证,可联系村(社区)工作人员代办申请.', 'icon': None, 'url': 'https://mp.weixin.qq.com/s?__biz=MzIxMzM5ODY5OQ==&mid=2247485042&idx=1&sn=26a4cad0122d24971d3f5ce598af3564&chksm=97b623b6a0c1aaa02f776c19f567e0b3fabdef3d9f5c957e1f260f286fe5356101fd1ac4e675&scene=27', 'ref_id': '2', 'site_name': '微信公众平台', 'title': '残疾人证如何办理?到哪里评定?你想知道的都在这里'}, {'content': '一、残疾人如何办残疾证 1、户口所在地的县、市、区级残联领取《残疾人证申请表》和《残疾评定表》; 2、身份证或户口本复印件一张; 3、两寸彩色相片2-6张(多带不碍事,各地标准不一); 4、残疾类型等级证明。残疾很明显的可以直接到残联进行评级(像肢体类)审核办理,不明显的必须到指定医院、指定医生进行评级签名并盖章。 一切手续完备,就到县、市、区级残联进行办理,快的话立等可取,慢的话7-15天也差不多了。 二、残疾证有什么用? 1、持有残疾证的残疾人可享受低保或持残疾人贫困证的一级肢体、视力、智力、精神、多重及60周岁以上的一级听力、语言的重度残疾人,可享受重度残疾人生活补助。 2、残疾人托(安)养方面,一级重度残疾人(不含听力、语言、视力残疾)或18至60周岁二级重度残疾人(不含听力、语言、视力残疾),集中托养:低保户、贫困户的对象补助每年补助现金按各地政策规定金额发放。', 'icon': 'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=215799447,688541359&fm=195&app=88&f=JPEG?w=200&h=200', 'url': 'https://mip.66law.cn/laws/1060751.aspx', 'ref_id': '3', 'site_name': '华律网', 'title': '残疾人如何办残疾证-证件办理|华律办事直通车'}]}) +``` diff --git a/docs/BasisModule/Components/rag_with_baidu_search_pro/README.md b/docs/BasisModule/Components/rag_with_baidu_search_pro/README.md new file mode 100644 index 000000000..816a26c8b --- /dev/null +++ b/docs/BasisModule/Components/rag_with_baidu_search_pro/README.md @@ -0,0 +1,134 @@ +# 百度搜索RAG_PRO + +## 简介 +百度搜索RAG_PRO组件旨在解决传统生成模型在生成长文本时可能会受到信息获取不足的问题,核心思想是将百度搜索与LLM相结合,使得生成的文本可以借助检索到的信息进行增强,从而提高生成文本的质量和相关性。 + +### 功能介绍 +基于百度搜索结果进行RAG检索增强问答。 +百度搜索RAG_PRO组件支持配置用户指令,temperature,top_p,以及溯源开关等,为用户提供了更灵活的控制选项。 +对比旧版百度搜索RAG,新版百度搜索RAG_PRO在支持配置检索个数和检索类型(网页、视频等)方面进行了升级。 + +### 特色优势 +百度搜索RAG_PRO组件的综合优势在于通过结合百度搜索的搜索引擎技术和ERNIE模型的语义理解能力,可以更准确地理解用户的搜索意图,并提供与搜索查询相关性更高的搜索结果。 + +### 应用场景 +通用搜索领域 + +## 基本用法 +以下是一个简单的例子来演示如何开始使用百度搜索RAG_PRO组件: + +```python +import appbuilder +import os + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 创建rag_with_baidusearch_pro对象 +rag_with_baidu_search_pro = appbuilder.RagWithBaiduSearchPro(model="Qianfan-Agent-Speed-8k") + +# 运行rag_with_baidusearch基本组件 +msg = appbuilder.Message("残疾人怎么办相关证件") +result = rag_with_baidu_search_pro.run(msg) + +# 获取reference +references = result.extra + +# 输出运行结果 +print(result) +``` + +## 参数说明 +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 +- `model`: 模型名称,用于指定要使用的千帆模型。 +- `instruction (obj:Message, 可选)`: 可设定人设,如:你是问答助手,在回答问题前需要加上“很高兴为您解答:” + + +### 调用参数 +调用参数中的 instruction 会覆盖初始化时的参数。 + +- `msg (obj:Message)`: 输入消息,包含用户提出的问题。这是一个必需的参数。 +- `instruction (obj:Message, 可选)`: 可设定人设,如:你是问答助手,在回答问题前需要加上“很高兴为您解答:” +- `stream (bool, 可选)`: 指定是否以流式形式返回响应。默认为 False。 +- `temperature (float, 可选)`: 模型配置的温度参数,用于调整模型的生成概率。取值范围为 0.0 到 1.0,其中较低的值使生成更确定性,较高的值使生成更多样性。默认值为 1e-10。 +- `top_p (float, 可选)`: 模型配置的top_p参数,top_p值越高输出文本越多样,top_p值越低输出文本越稳定。取值范围为 0.0 到 1.0,默认值为 1e-10。 +- `search_top_k (int, 可选)`: 指定百度搜索返回的检索个数,最多10,默认为4。 +- `hide_corner_markers (bool, 可选)`: 溯源开关,True隐藏来源,False显示来源,默认为True,不显示结果来源。 + + +### 返回值 +- 返回一个 `Message` 对象,包含模型运行后的输出消息。 + + +## 高级用法 +该组件的高级用法包括定制化的输入处理、输出处理,以及更复杂的调用场景。用户可以根据具体需求扩展组件功能,实现个性化的问答系统。 +包括如下功能: +1、人设 +2、溯源 +3、百度搜索检索个数 + + +### 代码样例 + +```python +import appbuilder +import os + +# 设置环境变量 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 创建rag_with_baidusearch对象, 并初始化人设指令 +rag_with_baidusearch_pro = appbuilder.RagWithBaiduSearchPro( + model="Qianfan-Agent-Speed-8k", + instruction=appbuilder.Message("你是问答助手,在回答问题前需要加上: 很高兴为您解答")) + + +# 运行rag_with_baidusearch组件,开启拒答、澄清追问、重点强调、友好性提升、溯源能力功能 +msg = appbuilder.Message("残疾人怎么办相关证件") +result = rag_with_baidusearch_pro.run( + msg, temperature=0.5, stream=False) + +# 输出运行结果 +print(result) +``` + +### 返回参数说明 + +返回的message中具体字段说明如下: + +| 字段 | 字段说明 | +|---------------|--------| +| name | 名称 | +| mtype | 类型 | +| content | 内容 | +| extra | 引用 | +| +search_baidu | 百度搜索结果 | +| ++content | 网页内容摘要 | +| ++url | 网页链接 | +| ++ref_id | 序号 | +| ++title | 标题 | +| ++icon | 网站图标 | +| ++site_name | 网站名 | + + +### 典型返回样例 +``` +Message(name=msg, content=您好,请问您是想询问关于残疾人办理什么证件的问题吗?如果是,我可以为您提供一些信息。 + +首先,如果您是首次申请办理残疾人证,需要携带身份证、户口簿和三张两寸近期免冠白底彩色照片到县残联办证窗口提出申请。如果您因身体原因无法亲自前往,可以联系村(社区)工作人员代办申请。 + +其次,如果您是指残疾类型等级证明,您需要携带相关材料到指定医院或医生进行评级,并由医生签名盖章。 + +最后,如果您是指残疾人享受低保或残疾人贫困证的一级肢体、视力、智力、精神、多重及60周岁以上的一级听力、语言的重度残疾人可以享受重度残疾人生活补助,那么您需要携带身份证、户口本和残疾证申请表到县、市、区级残联进行办理。 + +希望这些信息对您有所帮助。如果您还有其他问题,欢迎随时提问。^[2]^, mtype=dict, extra={'search_baidu': [{'content': '(一)3张两寸近期免冠白底彩色照片。 (二)身份证、户口簿原件及复印件。 (三)申请智力、精神类残疾人证和未成年人申请残疾人证需同时提供法定监护人的身份证、户口本原件及复印件和监护人的证明材料。监护人证明材料为以下三项中任意一项: (1)能体现双方直系血缘亲属关系的户口簿。 (2)申请人所在村(社区)出具的说明双方关系的证明材料。 (3)其他能够证明其双方关系的合法证件。(法院判决书、结婚证、出生证明等) (四)经常居住地的有效居住证(户籍地不在本市申请人需提供此证件,本市户籍申请人无需提供此证件)。 (五)经常居住地残联要求的其他材料。 残疾证办理事项及流程', 'icon': 'https://ss1.baidu.com/6ONXsjip0QIZ8tyhnq/it/u=1505232404,3530227258&fm=195&app=88&f=JPEG?w=200&h=200', 'url': 'https://www.jingzhou.gov.cn/ztfwnew/shjz/cjrbl/index.shtml', 'ref_id': '1', 'site_name': '荆州市人民政府', 'title': '残疾人证办理服务'}, {'content': '{#}申请{@}. 首次申请办理残疾人证人员,需持申请人居民身份证,户口簿和3张两寸近期免冠白底彩照,到县残联办证窗口(县政务服务中心一楼1号窗口)提出办证申请,填写《中华人民共和国残疾人证申请表》.如因身体原因个人无法出行办证,可联系村(社区)工作人员代办申请.', 'icon': None, 'url': 'https://mp.weixin.qq.com/s?__biz=MzIxMzM5ODY5OQ==&mid=2247485042&idx=1&sn=26a4cad0122d24971d3f5ce598af3564&chksm=97b623b6a0c1aaa02f776c19f567e0b3fabdef3d9f5c957e1f260f286fe5356101fd1ac4e675&scene=27', 'ref_id': '2', 'site_name': '微信公众平台', 'title': '残疾人证如何办理?到哪里评定?你想知道的都在这里'}, {'content': '一、残疾人如何办残疾证 1、户口所在地的县、市、区级残联领取《残疾人证申请表》和《残疾评定表》; 2、身份证或户口本复印件一张; 3、两寸彩色相片2-6张(多带不碍事,各地标准不一); 4、残疾类型等级证明。残疾很明显的可以直接到残联进行评级(像肢体类)审核办理,不明显的必须到指定医院、指定医生进行评级签名并盖章。 一切手续完备,就到县、市、区级残联进行办理,快的话立等可取,慢的话7-15天也差不多了。 二、残疾证有什么用? 1、持有残疾证的残疾人可享受低保或持残疾人贫困证的一级肢体、视力、智力、精神、多重及60周岁以上的一级听力、语言的重度残疾人,可享受重度残疾人生活补助。 2、残疾人托(安)养方面,一级重度残疾人(不含听力、语言、视力残疾)或18至60周岁二级重度残疾人(不含听力、语言、视力残疾),集中托养:低保户、贫困户的对象补助每年补助现金按各地政策规定金额发放。', 'icon': 'https://ss0.baidu.com/6ONWsjip0QIZ8tyhnq/it/u=215799447,688541359&fm=195&app=88&f=JPEG?w=200&h=200', 'url': 'https://mip.66law.cn/laws/1060751.aspx', 'ref_id': '3', 'site_name': '华律网', 'title': '残疾人如何办残疾证-证件办理|华律办事直通车'}]}) +``` diff --git a/docs/BasisModule/Components/retriever/README.md b/docs/BasisModule/Components/retriever/README.md new file mode 100644 index 000000000..dddf9d4ef --- /dev/null +++ b/docs/BasisModule/Components/retriever/README.md @@ -0,0 +1,10 @@ +# 向量检索 + +## 简介 +Appbuilder提供多种向量数据库作为向量检索的底座,当前主要支持百度向量数据库、百度 ElasticSearch。 + +### 功能介绍 +`向量检索-VDB`组件(Baidu VDB Retriever)以百度向量数据库作为向量存储和检索的底座。百度向量数据库是一个专注于多维向量数据的存储、检索和分析的企业级分布式数据库服务。基于百度自主研发的向量数据库内核,VectorDB在保证高性能和高可用性的同时,也特别注重易用性和可扩展性。它支持多种索引类型和相似度计算方法,能够满足各类复杂和多样化的数据应用需求。特别值得一提的是,VectorDB能够管理高达数十亿的向量规模,同时保持毫秒级的查询响应时间,非常适合进行大规模的向量检索和分析任务。 + +`向量检索-BES`组件(Baidu ElasticSearch Retriever)以百度 ElasticSearch作为向量存储和检索的底座。百度 ElasticSearch是一款专为企业级需求设计的分布式搜索和分析服务,它在全面兼容开源ElasticSearch的基础上,提供了更多增强功能。这款服务的核心优势在于其高性能和高可靠性,它为处理结构化和非结构化数据提供了一个低成本且高效的平台。对于关注数据安全的客户来说,百度ElasticSearch提供了先进的权限管理机制,使得您可以根据业务需求自由地配置集群权限。 + diff --git a/docs/BasisModule/Components/retriever/baidu_vdb/README.md b/docs/BasisModule/Components/retriever/baidu_vdb/README.md new file mode 100644 index 000000000..b97d49086 --- /dev/null +++ b/docs/BasisModule/Components/retriever/baidu_vdb/README.md @@ -0,0 +1,108 @@ +# 向量检索-VectorDB(BaiduVectorDBRetriever) + +## 简介 +向量检索-VectorDB(BaiduVectorDBRetriever)基于一款百度向量数据库的内容检索组件,支持根据文本的向量的相似度进行内容检索。 + +### 功能介绍 +向量检索-VectorDB(BaiduVectorDBRetriever)用于在将文本内容输入到百度向量数据库,根据文本的向量相似度进行高效的内容检索。 + +### 特色优势 +高效准确:基于百度向量数据库的强大能力,提供高效且准确的内容检索功能。 + +### 应用场景 +各种内容检索场景 + +## 准备工作 +在使用向量检索-VectorDB(BaiduVectorDBRetriever)进行内容检索之前,需要到百度向量数据库官网创建相应的实例,[教程](https://cloud.baidu.com/doc/VDB/s/hlrsoazuf)。 + +## 基本用法 + +以下是有关如何开始使用向量检索-VectorDB(BaiduVectorDBRetriever)的代码示例: + +补充说明: +- `you_vdb_instance_id` 为VectorDB 实例ID,请替换为您的实例ID,在VectorDB控制台界面上可以查看 +- `your_api_key` 为您在VectorDB上申请的账户密钥,请替换为您自己的root账户密钥,在VectorDB控制台界面上可以查看 + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +segments = appbuilder.Message(["文心一言大模型", "百度在线科技有限公司"]) +# 初始化构建索引 +vector_index = appbuilder.BaiduVDBVectorStoreIndex.from_params( + instance_id=your_instance_id, + api_key=your_api_key, + drop_exists=True, +) +vector_index.add_segments(segments) + +query = appbuilder.Message("文心一言") +retriever = vector_index.as_retriever() +res = retriever(query) +print(res) +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数说明: +`BaiduVDBVectorStoreIndex()` 实例化参数说明: +- instance_id(str,必填):百度向量数据库的实例id,创建实例时获取 +- api_key (str,必填):连接向量数据库所需的密码,创建实例时获取 +- account (str,非必填):连接向量数据库所需的用户名,默认root +- database_name (str,非必填) :向量数据库的名称,默认为AppBuilderDatabase +- table_params (TableParams,非必填) :VectorDB table参数,参考链接[VectorDB table params](https://cloud.baidu.com/doc/VDB/s/mlrsob0p6) +- embedding (Embedding,非必填) :appbuilder.Embedding类型,若有构造好的Embedding,可以增量插入,否则默认新建embedding + +------- + +`BaiduVDBVectorStoreIndex().from_params()` 构造函数参数说明: +- instance_id(str,必填):百度向量数据库的实例id,创建实例时获取 +- api_key (str,必填):连接向量数据库所需的密码,创建实例时获取 +- account (str,非必填):连接向量数据库所需的用户名,默认root +- database_name (str,非必填) :向量数据库的名称,默认为AppBuilderDatabase +- table_name (str,非必填) :向量数据库的表名,默认为AppBuilderTable +- drop_exists (bool, 非必填) :是否清空数据库历史记录,默认为False + +------- + + +### 调用参数: + +`BaiduVDBRetriever().run()` 函数参数说明: + +| 参数名称 | 参数类型 |是否必须 | 描述 | 示例值 | +|---------|--------|--------|------------------|---------------| +| message | String |是 | 需要检索的内容, 类型为Message,content类型为str, 长度要求(0,512) | "中国2023人均GDP" | +| top_k | int |否 | 返回相似度最高的top_k个内容,top_k的数值范围(1,embedding索引数量] | 1 | + + +### 响应参数 + +`BaiduVDBRetriever().run()` 函数返回值说明: + +| 参数名称 | 参数类型 | 描述 | 示例值 | +|------|--------|-----|--------------------| +| text | string | 检索结果 | "中国2023年人均GDP8.94万元" | +| score | float | 相似度 | 0.95 | +| meta | dict | 元信息 | "" | +### 响应示例 +```json +{"text": "中国2023年人均GDP8.94万元", "score": 0.95, "meta": ""} +``` + +## 高级用法: + +本组件根据向量的相似度进行检索,支持使用不同的embedding方法和索引方式来优化检索的效果。 + +## 更新记录和贡献 +* 向量检索能力 (2024-03) diff --git a/docs/BasisModule/Components/retriever/bes/README.md b/docs/BasisModule/Components/retriever/bes/README.md new file mode 100644 index 000000000..df7911d7c --- /dev/null +++ b/docs/BasisModule/Components/retriever/bes/README.md @@ -0,0 +1,88 @@ +# 向量检索-BES(BaiduElasticSearchRetriever) + +## 简介 +向量检索-BES组件(BaiduElasticSearchRetriever)基于一款Baidu ElasticSearch的内容检索组件,支持根据文本的向量的相似度进行内容检索。 + +### 功能介绍 +向量检索-BES组件(BaiduElasticSearchRetriever)用于在将文本内容输入到Baidu ElasticSearch,根据文本的向量相似度进行高效的内容检索。 + +### 特色优势 +- 高效准确:基于Baidu ElasticSearch的强大能力,提供高效且准确的内容检索功能。 + +### 应用场景 +各种内容检索场景 + +## 准备工作 +在使用BaiduElasticSearchRetriever进行内容检索之前,需要到Baidu ElasticSearch官网创建相应的集群,详情见[教程](https://cloud.baidu.com/doc/BES/s/gke3ocf89)。 + +注:创建集群时请选择7.10.2版本的ES,否则可能无法使用本组件。 + +## 基本用法 + +以下是有关如何开始使用BESRetriever的代码示例: + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +embedding = appbuilder.Embedding() +segments = appbuilder.Message(["文心一言大模型", "百度在线科技有限公司"]) +# 初始化构建索引 +vector_index = appbuilder.BESVectorStoreIndex.from_segments(segments=segments, cluster_id=es_cluster_id, user_name=es_username, + password=es_password, embedding=embedding) +# 获取当前索引中的全部内容 +all_content = vector_index.get_all_segments() +print(all_content) +# 转化为retriever +retriever = vector_index.as_retriever() +# 按照query进行检索 +query = appbuilder.Message("文心一言") +res = retriever(query=query, top_k=1) +print(res) +# 删除当前索引中的全部内容 +vector_index.delete_all_segments() +``` + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数说明: + +- segments (Message[List[str]],必填):需要入库的文本段落 +- cluster_id (str,必填):ElacticSearch集群的id,创建集群时获取 +- user_name (str,必填):连接ES集群所需的用户名,创建集群时获取 +- password (str,必填):连接ES集群所需的密码,创建集群时获取 +- embedding (obj,非必填):用于将文本转为向量的模型,默认为Embedding + +### 调用参数: +| 参数名称 | 参数类型 |是否必须 | 描述 | 示例值 | +|---------|--------|--------|------------------|---------------| +| message | String |是 | 需要检索的内容 | "中国2023人均GDP" | +| top_k | int |否 | 返回相似度最高的top_k个内容 | 1 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|------|--------|-----|--------------------| +| text | string | 检索结果 | "中国2023年人均GDP8.94万元" | +| score | float | 相似度 | 0.95 | +| meta | dict | 元信息 | "" | +### 响应示例 +```json +{"text": "中国2023年人均GDP8.94万元", "score": 0.95, "meta": ""} +``` + +## 高级用法: + +本组件根据向量的相似度进行检索,支持使用不同的embedding方法和索引方式来优化检索的效果。 + +## 更新记录和贡献 +* 向量检索能力 (2023-12) \ No newline at end of file diff --git a/docs/BasisModule/Components/retriever/reranker/README.md b/docs/BasisModule/Components/retriever/reranker/README.md new file mode 100644 index 000000000..fbe1d35da --- /dev/null +++ b/docs/BasisModule/Components/retriever/reranker/README.md @@ -0,0 +1,91 @@ +# 文本精排(Reranker) + +## 简介 +文本精排能力,将Query召回到的N个候选文本段落进行精排;保证与Query相关程度越高的文本段落排序越靠前,提升检索效果。 + +### 功能介绍 +文本精排(Reranker)用于检索排序,输入为Query和Top K个段落,输出为每个段落的排序得分;Query相关程度越高的文本段落排序越靠前,用于提升检索效果。 + +### 特色优势 +- 高效准确:基于开源模型[ +bce-reranker](https://huggingface.co/maidalun1020/bce-reranker-base_v1)的能力,提供高效且准确的内容检索功能。[百度云推理服务Api](https://cloud.baidu.com/doc/WENXINWORKSHOP/s/xlu216rqn) + +### 应用场景 +检索排序场景 + + +## 基本用法 + +以下是有关如何开始使用BESRetriever的代码示例: + +```python +import os +import appbuilder +from appbuilder import Message + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +reranker = appbuilder.Reranker() +ranked_1 = reranker("你好", ["他也好", "hello?"]) +print(ranked_1) + +# 使用上游的Message作为输入的代码示例 +ranked_2 = reranker(appbuilder.Message("你好"), appbuilder.Message(["他也好", "hello?"])) +print(ranked_2) +``` + +## 参数说明 +### 初始化参数说明: + +| 参数名称 | 参数类型 |是否必须 | 描述 | 示例值 | +|---------|--------|--------|------------------|---------------| +| model | str |是 | 指定底座模型的类型。当前仅支持 bce-reranker-base 作为可选值。若不指定,默认值为 bce-reranker-base。 | bce-reranker-base | + + +### 调用参数: + +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|---------|--------|--------|------------------|---------------| +| query | str |是 | 精排Query,长度小于1600。 | "你好" | +| texts | List[str] | 是 | 精排输入段落,会对列表里的所有内容排序,最大长度为50. | ["你好", "世界"] | + +### 响应参数: + +| 参数名称 | 参数类型 | 描述 | 示例值 | +|---------|--------|------------------|---------------| +| +document | str | 输入的段落 | "hello?" | +| +relevance_score | float | 精排的相关性分数 | 0.565118 | +| +index | int | 输入段落的原始index | -- | + + +### 响应示例 +#### 输入 +```python +query="你好", text=["他也好", "hello?"] +``` + +#### 响应 +```json +[ + { + "document": "hello?", + "relevance_score": 0.5651187300682068, + "index": 1 + }, + { + "document": "他也好", + "relevance_score": 0.47729530930519104, + "index": 0 + } +] +``` + + +### 错误码 + +无 + +## 更新记录和贡献 + +* reranker-base (2024-08) diff --git a/docs/BasisModule/Components/table_ocr/README.md b/docs/BasisModule/Components/table_ocr/README.md new file mode 100644 index 000000000..8134f60e1 --- /dev/null +++ b/docs/BasisModule/Components/table_ocr/README.md @@ -0,0 +1,161 @@ +# 表格文字识别 (TableOCR) + +## 简介 +表格文字识别 (TableOCR) 可支持识别图片中的表格内容,返回各表格的表头表尾内容、单元格文字内容及其行列位置信息,全面覆盖各类表格样式,包括常规有线表格、无线表格、含合并单元格表格。同时,支持多表格内容识别。 +### 功能介绍 +* 简单表格文字识别 + +支持识别具备完整框线的常规简单表格,结构化输出表头、表尾及每个单元格的文字内容。 +* 复杂表格文字识别 + +可识别无表格框线,但行、列位置明确的表格,支持含合并单元格的复杂表格文字识别。 +### 特色优势 +* 支持识别图片中的表格内容,返回各表格的表头表尾内容、单元格文字内容及其行列位置信息,全面覆盖各类表格样式,包括常规有线表格、无线表格、含合并单元格表格。同时,支持单图中多表格内容的识别。 + +### 应用场景 +* 信息登记表识别 + + 对个人、商品、公示内容等纸质信息登记表进行识别,用于登记信息的结构化整理和统计,大幅度降低人力录入成本,提升信息管理的便捷性 +* 财税报表识别 + + 提取识别银行对账单、资产负债表、损益表等财税场景常用表格内容,快速实现表格内容的电子化,用于财税信息统计、存档及核算,大幅度提升信息录入效率 +## 基本用法 + +下面是表格文字识别的代码示例: + +示例图片为 + +![示例图片](https://bj.bcebos.com/v1/appbuilder/table_ocr_test.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-01-24T12%3A37%3A09Z%2F-1%2Fhost%2Fab528a5a9120d328dc6d18c6064079145ff4698856f477b820147768fc2187d3) + +```python +import os +import appbuilder +import requests + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +# 从BOS读取样例图片 +image_url = "https://bj.bcebos.com/v1/appbuilder/table_ocr_test.png?" \ + "authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024" \ + "-01-24T12%3A37%3A09Z%2F-1%2Fhost%2Fab528a5a9120d328dc6d18c6" \ + "064079145ff4698856f477b820147768fc2187d3" +raw_image = requests.get(image_url).content +# 创建表格文字识别组件实例 +table_ocr = appbuilder.TableOCR() +# 执行识别操作并获取结果 +out = table_ocr.run(appbuilder.Message(content={"raw_image": raw_image})) +print(out.content) +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 (以表格形式展示) +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|---------|---------|------|-----------------------------|------------------------------------------------| +| message | String | 是 | 输入的消息,用于模型的主要输入内容。这是一个必需的参数 | Message(content={"raw_image": b"待识别的图片字节流数据"}) | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +| retry | Integer | 否 | HTTP重试次数 | 3 | + +### 响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|------------------|---------|---------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| tables_result | array[] | 返回结果 | [{"table_location": [],"header": [],"body": [],"footer": []}] | +| +table_location | array[] | 单个表格的四角点x,y坐标 | [{ "x": 15, "y": 15 },{ "x": 371, "y": 15 },{ "x": 371, "y": 98 },{ "x": 15, "y": 98 }], | +| +header | array[] | 表头信息 | [{'location': [{'x': 325, 'y': 40}, {'x': 528, 'y': 40}, {'x': 528, 'y': 71}, {'x': 325, 'y': 71}], 'words': '财务状况变动表'}, {...}] | +| +body | array[] | 单元格信息 | [{"cell_location": [{ "x": 15, "y": 15 },{ "x": 120, "y": 15 },{ "x": 120, "y": 58 },{ "x": 15, "y": 58 }],"row_start": 0,"row_end": 1,"col_start": 0,"col_end": 1,"words": "参数"},{...}] | +| +footer | array[] | 表尾信息 | [{'location': [...], 'words': '...'}, {...}] | + +### 响应示例 +```json +{ + "tables_result": [ + { + "table_location": [ + { "x": 15, "y": 15 }, + { "x": 371, "y": 15 }, + { "x": 371, "y": 98 }, + { "x": 15, "y": 98 } + ], + "header": [], + "body": [ + { + "cell_location": [ + { "x": 15, "y": 15 }, + { "x": 120, "y": 15 }, + { "x": 120, "y": 58 }, + { "x": 15, "y": 58 } + ], + "row_start": 0, + "row_end": 1, + "col_start": 0, + "col_end": 1, + "words": "参数" + }, + { + "cell_location": [ + { "x": 120, "y": 15 }, + { "x": 371, "y": 15 }, + { "x": 371, "y": 58 }, + { "x": 120, "y": 58 } + ], + "row_start": 0, + "row_end": 1, + "col_start": 1, + "col_end": 2, + "words": "值" + }, + { + "cell_location": [ + { "x": 15, "y": 58 }, + { "x": 120, "y": 58 }, + { "x": 120, "y": 98 }, + { "x": 15, "y": 98 } + ], + "row_start": 1, + "row_end": 2, + "col_start": 0, + "col_end": 1, + "words": "Content-Type" + }, + { + "cell_location": [ + { "x": 120, "y": 58 }, + { "x": 371, "y": 58 }, + { "x": 371, "y": 98 }, + { "x": 120, "y": 98 } + ], + "row_start": 1, + "row_end": 2, + "col_start": 1, + "col_end": 2, + "words": "application/x-www-form-urlencoded" + } + ], + "footer": [] + } + ] +} +``` +### 错误码 +| 错误码 | 描述 | +|-----|----| + +## 高级用法 + +目前该模块仅提供基础的表格文字识别功能。 + + +## 更新记录和贡献 +* 表格文字识别能力 (2024-01) \ No newline at end of file diff --git a/docs/BasisModule/Components/text_to_image/README.md b/docs/BasisModule/Components/text_to_image/README.md new file mode 100644 index 000000000..09c1671da --- /dev/null +++ b/docs/BasisModule/Components/text_to_image/README.md @@ -0,0 +1,93 @@ +# 文生图 (Text2Image) + +## 简介 +文生图(Text2Image)基于文心大模型,可以根据用户输入的文本,自动创作不限定风格的图,为内容创作者提供灵感和高质量配图。 + +### 功能介绍 +AI一下,文字成画,AI 精准理解中文文本,支持用户自由输入,只需一句话,让文字秒变精美画作,支持自定义丰富的修饰词,可生成不同风格、不同构图、不同流派的图片,满足个性化的图片生成需求。 +### 特色优势 +利用知识增强扩散模型,学习过程融入语言、视觉、跨模态等多源知识,生成图像语义一致性更高,基于混合降噪专家网络,全球最大跨模态生成模型,参数规模达到240亿,根据生成阶段选择最优生成“专家”,从图像轮廓渐进优化细节,全面提升生成质量。 +### 应用场景 +图片素材、艺术插图、海报制作、故事插图、壁纸制作、电商应用、室内设计、影视制作、游戏原画设计、服务创意启发平台等。 + +## 基本用法 + +下面是文生图的代码示例: + +```python +import os +import appbuilder +# 设置环境变量和初始化 +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +text2Image = appbuilder.Text2Image() +content_data = {"prompt": "上海的经典风景", "width": 1024, "height": 1024, "image_num": 1} +msg = appbuilder.Message(content_data) +out = text2Image.run(msg) +print(out.content) +#{'img_urls': ['...']} +``` + +生成的"上海的经典风景"图片如下 + +![示例图片](https://bj.bcebos.com/v1/appbuilder-sdk-components/shanghai.png?authorization=bce-auth-v1%2FALTAKGa8m4qCUasgoljdEDAzLm%2F2024-05-30T03%3A08%3A30Z%2F-1%2Fhost%2F64296a40b3f01d39776129e0b4ce732b1784f2f91e3afcf9dd7c1de8c3df6a0a) + + +## 参数说明 + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 + +无 + +### 调用参数 +|参数名称 |参数类型 |是否必须 |描述 | 示例值 | +|--------|--------|--------|----|--------| +|message |String |是 |输入的消息,输入的消息,用于模型的主要输入内容。这是一个必需的参数| Message(content={"prompt": "上海的经典风景"}) | +|width|Integer|是 |图片宽度,支持:512x512、640x360、360x640、1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560。| 1024 | +|height|Integer|是 |图片高度,支持:512x512、640x360、360x640、1024x1024、1280x720、720x1280、2048x2048、2560x1440、1440x2560。| 1024 | +|image_num|Integer|是 |生成图片数量,默认一张,支持生成 1-8 张。| 1 | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer|是 |HTTP重试次数| 3 | + +### 响应参数 +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|result |String |返回结果|["xxx"]| + +### 响应示例 +```json +{"img_urls": ["xxx"]} +``` +### 错误码 +| 错误码 |描述| +|---|---| +| 282000 |服务器内部错误,请再次请求, 如果持续出现此类错误,请在控制台提交工单联系技术支持团队| +| 282004 |请求中包含敏感词、非法参数、字数超限,或上传违规参考图,请检查后重新尝试| +| 282003 |缺少必要参数| +| 17 |日配额流量超限| +| 18 |QPS 超限额| +| 216630 |服务器内部错误,请再次请求,如果持续出现此类错误,请通过工单联系技术支持| +| 501 |文本黄反拦截| +| 201 |模型生图失败| +| 216100 |参数不满足格式要求| +| 216201 |参考图不满足格式要求| +| 4 |错误信息为中文的“请求超限”指所有用户提交的 AI 作画总数超限制| +| 13 |错误信息为中文的“QPS 超限”指单个用户使用提交请求接口的 QPS 超限| +| 15 |错误信息为中文的“并发超限”指单个用户使用 AI 作画的并发超限| +| 17 |错误信息为中文的“用量超限”指单个用户使用 AI 作画的用量超限| + + + +## 高级用法 + +目前该模块仅提供基础的文生图功能。 +## 更新记录和贡献 +* 文生图能力 (2023-12) diff --git a/docs/BasisModule/Components/translate/README.md b/docs/BasisModule/Components/translate/README.md new file mode 100644 index 000000000..23f1ba468 --- /dev/null +++ b/docs/BasisModule/Components/translate/README.md @@ -0,0 +1,316 @@ +# 文本翻译-通用版(Translation) + +## 简介 + +文本翻译组件(Translation)提供多种语言互译的在线文本翻译服务。支持术语定制功能,用户可对翻译结果进行干预,快速提高翻译质量。可广泛应用于移动端、PC网站、智能硬件等不同产品形态中,满足多领域、多场景的翻译需求。 + +### 功能介绍 + +支持200+语种互译,传入待翻译内容,并指定源语言(支持语种自动检测)和目标语言,即可获得翻译结果,并支持术语干预。 +支持在【创建应用】-【添加工具组件】时,对以下语言的试用: + +|名称 | 代码 | 名称 | 代码 | 名称 | 代码 | +|------------|--------|------------|--------|------------|--------| +| 自动检测 | auto | 中文 | zh | 英语 | en | +| 粤语 | yue | 文言文 | wyw | 日语 | jp | +| 韩语 | kor | 法语 | fra | 西班牙语 | spa | +| 泰语 | th | 阿拉伯语 | ara | 俄语 | ru | +| 葡萄牙语 | pt | 德语 | de | 意大利语 | it | +| 希腊语 | el | 荷兰语 | nl | 波兰语 | pl | +| 保加利亚语 | bul | 爱沙尼亚语 | est | 丹麦语 | dan | +| 芬兰语 | fin | 捷克语 | cs | 罗马尼亚语 | rom | +| 斯洛文尼亚语 | slo | 瑞典语 | swe | 匈牙利语 | hu | +| 繁体中文 | cht | 越南语 | vie | | | + +### 特色优势 + +1. 依托互联网数据资源和自然语言处理技术优势,上线全球首个互联网神经网络翻译系统,日均响应千亿字符请求 +2. 2019国际机器翻译评测(WMT19)中,获得中英翻译第一,提供业界领先的机器翻译服务 +3. 支持用户上传术语对翻译结果进行干预,优化翻译质量,用户可根据不同产品、不同领域创建多个术语库 +4. 翻译请求可实现实时响应,服务稳定性高,在海外也可及时获取翻译结果,保障用户稳定的服务体验 + +### 应用场景 + +1. 教育学习:在外语教学及学习场景中,通过实时句子翻译、单词释义、语音合成等功能,帮助师生沟通、外教课后点评,辅助阅读和写作,全面提升学习效率与质量 +2. 手机厂商:应用于手机系统中,实现手机系统取词翻译、对话文本翻译等服务。为手机应用开发者提供便捷的翻译功能 +3. 跨境电商:在商业全球化背景下,针对跨国商贸服务中产品名称、详情页等网站基本信息进行翻译,助力企业开拓国际市场 +4. 智能硬件:应用于翻译机、学习机、智能手表等硬件系统中,为用户提供文本翻译、词典及语音合成等能力,实现便捷准确的多语种互译功能 + +## 基本用法 + +通过如下示例代码可以快速开始使用文本翻译组件: + +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = '...' + +translate = appbuilder.Translation() +resp = translate(appbuilder.Message("你好\n中国"), from_lang="zh", to_lang="en") +# 输出{'from_lang': 'zh', 'to_lang': 'en', 'trans_result': [{'src': '你好', 'dst': 'hello'}, {'src': '中国', 'dst': 'China'}]} +print(resp.content) +``` + +## 参数说明 + +### 鉴权配置 + +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 + +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数说明 + +无 + +### 调用参数说明 + +|参数名称 |参数类型 |是否必须 |描述 | 示例值 | +|--------|--------|--------|----|--------| +|message |obj:`Message` |是 |输入的请求翻译文本| Message("你好") | +|from_lang|String|否 |翻译的源语言,默认为`auto`,表示自动检测语言。| zh | +|to_lang|Integer|否 |需要翻译的目标语言,默认为`en`,表示英语。| en | +|timeout| Float | 否 | HTTP超时时间,单位:秒 |1|| +|retry|Integer|否 |HTTP重试次数| 3 | + +### 响应参数 + +|参数名称 |参数类型 |描述 |示例值| +|--------|--------|----|------| +|from_lang |String |翻译源语言| zh| +|to_lang |String |翻译目标语言|en| +|trans_result |List[Object] |返回结果|[{'src': '你好', 'dst': 'hello'}]| +|trans_result[0].src |String |源文本|你好| +|trans_result[0].dst |String |目标文本|hello| + +### 响应示例 + +```json +{ + "from_lang": "zh", + "to_lang": "en", + "trans_result": [ + { + "src": "你好", + "dst": "hello" + } + ] +} +``` + +### 错误码 +|错误码|描述| +|------|---| + +## 更新记录和贡献 +* 文本翻译-通用版 (2024-01) + +## 语种列表 + +|名称 |代码 |语种检测| +|----|-----|------| +| 阿拉伯语 | ara | 是 | +| 爱尔兰语 | gle | 是 | +| 奥克语 | oci | 是 | +| 阿尔巴尼亚语 | alb | 是 | +| 阿尔及利亚阿拉伯语 | arq | 否 | +| 阿肯语 | aka | 否 | +| 阿拉贡语 | arg | 否 | +| 阿姆哈拉语 | amh | 是 | +| 阿萨姆语 | asm | 是 | +| 艾马拉语 | aym | 否 | +| 阿塞拜疆语 | aze | 是 | +| 阿斯图里亚斯语 | ast | 是 | +| 奥塞梯语 | oss | 否 | +| 爱沙尼亚语 | est | 是 | +| 奥杰布瓦语 | oji | 否 | +| 奥里亚语 | ori | 是 | +| 奥罗莫语 | orm | 否 | +| 波兰语 | pl | 是 | +| 波斯语 | per | 是 | +| 布列塔尼语 | bre | 是 | +| 巴什基尔语 | bak | 否 | +| 巴斯克语 | baq | 是 | +| 巴西葡萄牙语 | pot | 否 | +| 白俄罗斯语 | bel | 是 | +| 柏柏尔语 | ber | 是 | +| 邦板牙语 | pam | 否 | +| 保加利亚语 | bul | 是 | +| 北方萨米语 | sme | 否 | +| 北索托语 | ped | 否 | +| 本巴语 | bem | 否 | +| 比林语 | bli | 否 | +| 比斯拉马语 | bis | 否 | +| 俾路支语 | bal | 否 | +| 冰岛语 | ice | 是 | +| 波斯尼亚语 | bos | 是 | +| 博杰普尔语 | bho | 否 | +| 楚瓦什语 | chv | 否 | +| 聪加语 | tso | 否 | +| 丹麦语 | dan | 是 | +| 德语 | de | 是 | +| 鞑靼语 | tat | 是 | +| 掸语 | sha | 否 | +| 德顿语 | tet | 否 | +| 迪维希语 | div | 否 | +| 低地德语 | log | 是 | +| 俄语 | ru | 是 | +| 法语 | fra | 是 | +| 菲律宾语 | fil | 是 | +| 芬兰语 | fin | 是 | +| 梵语 | san | 否 | +| 弗留利语 | fri | 否 | +| 富拉尼语 | ful | 否 | +| 法罗语 | fao | 否 | +| 盖尔语 | gla | 否 | +| 刚果语 | kon | 否 | +| 高地索布语 | ups | 否 | +| 高棉语 | hkm | 是 | +| 格陵兰语 | kal | 否 | +| 格鲁吉亚语 | geo | 是 | +| 古吉拉特语 | guj | 是 | +| 古希腊语 | gra | 否 | +| 古英语 | eno | 否 | +| 瓜拉尼语 | grn | 否 | +| 韩语 | kor | 是 | +| 荷兰语 | nl | 是 | +| 胡帕语 | hup | 否 | +| 哈卡钦语 | hak | 否 | +| 海地语 | ht | 否 | +| 豪萨语 | hau | 否 | +| 黑山语 | mot | 否 | +| 吉尔吉斯语 | kir | 否 | +| 加利西亚语 | glg | 是 | +| 加拿大法语 | frn | 否 | +| 加泰罗尼亚语 | cat | 是 | +| 捷克语 | cs | 是 | +| 卡拜尔语 | kab | 是 | +| 卡纳达语 | kan | 是 | +| 卡努里语 | kau | 否 | +| 卡舒比语 | kah | 否 | +| 康瓦尔语 | cor | 否 | +| 科萨语 | xho | 是 | +| 科西嘉语 | cos | 否 | +| 克里克语 | cre | 否 | +| 克里米亚鞑靼语 | cri | 否 | +| 克林贡语 | kli | 否 | +| 克罗地亚语 | hrv | 是 | +| 克丘亚语 | que | 否 | +| 克什米尔语 | kas | 否 | +| 孔卡尼语 | kok | 否 | +| 库尔德语 | kur | 是 | +| 拉丁语 | lat | 是 | +| 老挝语 | lao | 否 | +| 罗马尼亚语 | rom | 是 | +| 拉特加莱语 | lag | 否 | +| 拉脱维亚语 | lav | 是 | +| 林堡语 | lim | 否 | +| 林加拉语 | lin | 否 | +| 卢干达语 | lug | 否 | +| 卢森堡语 | ltz | 否 | +| 卢森尼亚语 | ruy | 否 | +| 卢旺达语 | kin | 是 | +| 立陶宛语 | lit | 是 | +| 罗曼什语 | roh | 否 | +| 罗姆语 | ro | 否 | +| 逻辑语 | loj | 否 | +| 马来语 | may | 是 | +| 缅甸语 | bur | 是 | +| 马拉地语 | mar | 否 | +| 马拉加斯语 | mg | 是 | +| 马拉雅拉姆语 | mal | 是 | +| 马其顿语 | mac | 是 | +| 马绍尔语 | mah | 否 | +| 迈蒂利语 | mai | 是 | +| 曼克斯语 | glv | 否 | +| 毛里求斯克里奥尔语 | mau | 否 | +| 毛利语 | mao | 否 | +| 孟加拉语 | ben | 是 | +| 马耳他语 | mlt | 是 | +| 苗语 | hmn | 否 | +| 挪威语 | nor | 是 | +| 那不勒斯语 | nea | 否 | +| 南恩德贝莱语 | nbl | 否 | +| 南非荷兰语 | afr | 是 | +| 南索托语 | sot | 否 | +| 尼泊尔语 | nep | 是 | +| 葡萄牙语 | pt | 是 | +| 旁遮普语 | pan | 是 | +| 帕皮阿门托语 | pap | 否 | +| 普什图语 | pus | 否 | +| 齐切瓦语 | nya | 否 | +| 契维语 | twi | 否 | +| 切罗基语 | chr | 否 | +| 日语 | jp | 是 | +| 瑞典语 | swe | 是 | +| 萨丁尼亚语 | srd | 否 | +| 萨摩亚语 | sm | 否 | +| 塞尔维亚-克罗地亚语 | sec | 否 | +| 塞尔维亚语 | srp | 是 | +| 桑海语 | sol | 否 | +| 僧伽罗语 | sin | 是 | +| 世界语 | epo | 是 | +| 书面挪威语 | nob | 是 | +| 斯洛伐克语 | sk | 是 | +| 斯洛文尼亚语 | slo | 是 | +| 斯瓦希里语 | swa | 是 | +| 索马里语 | som | 是 | +| 塞尔维亚语(西里尔) | src | 否 | +| 泰语 | th | 是 | +| 土耳其语 | tr | 是 | +| 塔吉克语 | tgk | 是 | +| 泰米尔语 | tam | 是 | +| 他加禄语 | tgl | 是 | +| 提格利尼亚语 | tir | 否 | +| 泰卢固语 | tel | 是 | +| 突尼斯阿拉伯语 | tua | 否 | +| 土库曼语 | tuk | 否 | +| 乌克兰语 | ukr | 是 | +| 瓦隆语 | wln | 是 | +| 威尔士语 | wel | 是 | +| 文达语 | ven | 否 | +| 沃洛夫语 | wol | 否 | +| 乌尔都语 | urd | 是 | +| 西班牙语 | spa | 是 | +| 希伯来语 | heb | 是 | +| 希腊语 | el | 是 | +| 匈牙利语 | hu | 是 | +| 西弗里斯语 | fry | 是 | +| 西里西亚语 | sil | 否 | +| 希利盖农语 | hil | 否 | +| 下索布语 | los | 否 | +| 夏威夷语 | haw | 否 | +| 新挪威语 | nno | 是 | +| 西非书面语 | nqo | 否 | +| 信德语 | snd | 否 | +| 修纳语 | sna | 否 | +| 宿务语 | ceb | 否 | +| 叙利亚语 | syr | 否 | +| 巽他语 | sun | 否 | +| 英语 | en | 是 | +| 印地语 | hi | 是 | +| 印尼语 | id | 是 | +| 意大利语 | it | 是 | +| 越南语 | vie | 是 | +| 意第绪语 | yid | 否 | +| 因特语 | ina | 否 | +| 亚齐语 | ach | 否 | +| 印古什语 | ing | 否 | +| 伊博语 | ibo | 否 | +| 伊多语 | ido | 否 | +| 约鲁巴语 | yor | 否 | +| 亚美尼亚语 | arm | 是 | +| 伊努克提图特语 | iku | 否 | +| 中文(简体) | zh | 是 | +| 中文(繁体) | cht | 是 | +| 中文(文言文) | wyw | 是 | +| 中文(粤语) | yue | 是 | +| 扎扎其语 | zaz | 否 | +| 中古法语 | frm | 否 | +| 祖鲁语 | zul | 否 | +| 爪哇语 | jav | 否 | diff --git a/docs/BasisModule/Components/tree_mind/README.md b/docs/BasisModule/Components/tree_mind/README.md new file mode 100644 index 000000000..3d8ebaaaa --- /dev/null +++ b/docs/BasisModule/Components/tree_mind/README.md @@ -0,0 +1,66 @@ +# 树图 (TreeMind) + +## 简介 +树图(TreeMind)提供智能思维导图制作工具和丰富的模板,支持脑图、逻辑图、树形图、鱼骨图、组织架构图、时间轴、时间线等多种专业格式。 + +### 功能介绍 +树图(TreeMind)是一款智能思维导图制作工具,它提供了一个用户友好的平台来创建和编辑各种类型的图表。该工具支持多种专业格式,包括脑图、逻辑图、树形图、鱼骨图、组织架构图、时间轴和时间线等,满足不同用户在不同场景下的需求。 + +### 特色优势 +TreeMind提供丰富的模板,支持多种图表格式,用户可以根据个人需求自由编辑和调整图表。 + +### 应用场景 +年度总结:用户可以利用TreeMind生成年度总结的思维导图,整理和回顾一年的工作成果和经验教训。 +项目管理:在项目管理中,TreeMind可以用来规划项目流程、组织架构和时间线,确保项目按计划进行。 +教育和学习:教师和学生可以使用TreeMind来创建课程大纲、学习笔记和复习资料,提高学习效率。 +商业策划:商业人士可以利用TreeMind来制定商业策略、市场分析和竞争对手分析等。 +会议记录:在会议中,TreeMind可以作为记录工具,帮助整理会议要点和行动计划。 + +## 基本用法 + +下面是文生图的代码示例: + +```python +import os +import appbuilder +# 设置环境变量和初始化 +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "..." + +treemind = appbuilder.TreeMind() +query = "生成一份年度总结的思维导图" +msg = appbuilder.Message(query) +out = treemind.run(msg) +print(out.content) + +>>> +{'result': '思维导图已经为您生成好了,您可以点击'img_link'对应的链接查看,如果您觉得这个思维导图还不够完美,或者您的想法需要更自由地表达,点击'edit_link'对应的链接,对思维导图变形、变色、变内容、甚至可以添加新的元素, +'img_link': 'https://static.shutu.cn/shutu/static/open6e/2024/05/24/dbd67eddec13f3a6a75857b9c6e06d85.jpeg', +'edit_link': 'https://gapi.shutu.cn/ai/edit-mind-url?works_guid=open5ab4af46187ff7c138fcd95de09efe92_bdappbuilder'} +``` + +生成的思维导图:
![图片url](https://bj.bcebos.com/appbuilder-sdk-components/TreeMind-年终总结思维导图.jpeg) + + +## 参数说明 + +### 鉴权配置 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +# 设置环境中的TOKEN,以下示例略 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +``` + +### 初始化参数 +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|---------|---------|------|-----------------------------|------------------------------------------------| +| message | obj:`Message` | 是 | 输入的消息,用于生成思维导图,这是一个必需的参数 | Message(content={"query": "生成一张年终总结的思维导图"}) | + +### 响应参数 + +| 参数名称 |参数类型 | 描述 | 示例值 | +|-------------|--------|------|------| +| resp | obj:`Message` | 组件返回结果 | Message(name=msg, content={'result': '生成的思维导图:xxx。思维导图已经为您生成好了,如果您觉得这个思维导图还不够完美,或者您的想法需要更自由地表达,点击编辑按钮,对思维导图变形、变色、变内容、甚至可以添加新的元素,您可以通过这个链接编辑:xxx。', 'img_link': 'xxx', 'edit_link': 'xxx'}, mtype=dict) | \ No newline at end of file diff --git a/docs/BasisModule/Components/tts/README.md b/docs/BasisModule/Components/tts/README.md new file mode 100644 index 000000000..a21dff6c2 --- /dev/null +++ b/docs/BasisModule/Components/tts/README.md @@ -0,0 +1,165 @@ +# 短文本在线合成(TTS) + +## 简介 +短文本在线合成组件(TTS)提供高度拟人、流畅自然的语音合成服务,将文本朗读出来,基础音库性价比更高,精品音库听感更逼真。 + +### 功能介绍 +提供高度拟人、流畅自然的语音合成服务。 + +### 特色优势 +将文本朗读出来,基础音库性价比更高,精品音库听感更逼真。可实时生成语音输出,几乎没有延迟,更加自然流畅。 + +### 应用场景 +文本朗读 + + +## 基本用法 + +下面是语音合成的代码示例: +```python +import os +import appbuilder + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +tts = appbuilder.TTS() +cwd = os.getcwd() + +# 使用baidu-tts模型, 默认返回MP3格式 +inp = appbuilder.Message(content={"text": "欢迎使用语音合成"}) +out = tts.run(inp) +mp3_sample_path = os.path.join(cwd,"sample.mp3") +with open(mp3_sample_path, "wb") as f: + f.write(out.content["audio_binary"]) +print("成功将文本转语音,mp3格式文件已写入:{}".format(mp3_sample_path)) + +# 使用paddlespeech-tts模型,目前只支持返回WAV格式 +wav_sample_path = os.path.join(cwd,"sample.wav") +inp = appbuilder.Message(content={"text": "欢迎使用语音合成"}) +out = tts.run(inp, model="paddlespeech-tts", audio_type="wav") +with open(wav_sample_path, "wb") as f: + f.write(out.content["audio_binary"]) +print("成功将文本转语音,wav格式文件已写入:{}".format(wav_sample_path)) +``` + + +## 参数说明 + +### 鉴权说明 +使用组件之前,请首先申请并设置鉴权参数,可参考[组件使用流程](https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5)。 +```python +import os + +os.environ["APPBUILDER_TOKEN"] = "..." +``` + +### 初始化参数 + +无 + +### 调用参数 +| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | +|------------|---------|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------| +| message | String | 是 | 待转成语音的文本 | Message(content={"text": "需合成的文本"}) | +| model | String | 否 | 默认是`baidu-tts`模型,可选值:`paddlespeech-tts`、`baidu-tts` | paddlespeech-tts | +| speed | Integer | 否 | 语音语速,默认是5中等语速,取值范围在0~15之间,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 | +| pitch | Integer | 否 | 语音音调,默认是5中等音调,取值范围在0~15之间,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 | +| volume | Integer | 否 | 语音音量,默认是5中等音量,取值范围在0~15之间,,仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 5 | +| person | Integer | 否 | 语音人物特征,默认是0(度小美),普通音库可选值包括: 0(度小美)、1(度小宇)、3(度逍遥-基础)、4(度丫丫);精品音库包括:5003(度逍遥-精品)、 5118(度小鹿) 、106(度博文)、 110(度小童)、 111(度小萌)、 103(度米朵)、 5(度小娇),仅当模型为`baidu-tts`参数有效,如果模型为`paddlespeech-tts`,参数自动失效 | 0 | +| audio_type | String | 否 | 音频文件格式,如果使用`baidu-tts`模型可选`mp3`, `wav`; 如果使用`paddlespeech-tts`模型非流式返回,参数只能设为`wav`;如果使用`paddlespeech-tts`模型流式返回,参数只能设为`pcm` | wav | +| stream | Bool | 否 | 默认是False, 目前`paddlespeech-tts`模型支持流式返回,`baidu-tts`模型不支持流式返回 | False | +| retry | Integer | 否 | HTTP重试次数 | 3 | +| timeout | Integer | 否 | HTTP超时时间 | 5 | + +### 非流式语音响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|---------------|--------|--------|---------| +| content | Dict | 消息内容 | 无 | +| +audio_binary | Bytes | 音频二进制流 | b'语音流' | +| +audio_type | String | 音频类型 | wav/mp3 | + + +### 流式语音响应参数 +| 参数名称 | 参数类型 | 描述 | 示例值 | +|---------|------------------|----------|-----| +| content | Python Generator | 可迭代的二进制流 | 无 | + + +### 响应示例 +```json +{ +"content": { + "audio_binary": "", + "audio_type": "mp3" + } +} +``` + + +### 错误码 +| 错误码 | 描述 | +|-----|----| + +## 高级用法 + +### TTS实时播放语音流 +```python +import os +import appbuilder +import pyaudio + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +tts = appbuilder.TTS() +# 使用paddlespeech-tts模型,目前只支持返回WAV格式 +inp = appbuilder.Message(content={"text": """随着科技的迅速发展,教育领域也经历了巨大的变革。科技不仅改变了教学和学习的方式,还扩展了教育的可能性和边界。 + 从在线课程到交互式学习工具,科技为学生和教师提供了前所未有的资源和机遇。科技使得个性化学习成为可能。通过智能学习系统和适应性学习技术, + 教育内容可以根据学生的学习速度和能力进行定制。"""}) +# 仅支持model为paddlespeech-tts,audio_type为pcm, stream为True +out = tts.run(inp, model="paddlespeech-tts", audio_type="pcm", stream=True) +play = pyaudio.PyAudio() +stream = play.open(format=play.get_format_from_width(2), + channels=1, + rate=24000, + output=True, + frames_per_buffer=2048) +# 实时播放语音流 +for pcm in out.content: + stream.write(pcm) +stream.stop_stream() +stream.close() +``` +### pcm文件转wav + +```python +import os +import appbuilder +import wave + +# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 +os.environ["APPBUILDER_TOKEN"] = "bce-YOURTOKEN" +tts = appbuilder.TTS() +inp = appbuilder.Message(content={"text": """随着科技的迅速发展,教育领域也经历了巨大的变革。科技不仅改变了教学和学习的方式,还扩展了教育的可能性和边界。 + 从在线课程到交互式学习工具,科技为学生和教师提供了前所未有的资源和机遇。科技使得个性化学习成为可能。通过智能学习系统和适应性学习技术, + 教育内容可以根据学生的学习速度和能力进行定制。"""}) +# 仅支持model为paddlespeech-tts,audio_type为pcm, stream为True +out = tts.run(inp, model="paddlespeech-tts", audio_type="pcm", stream=True) +count = 1 +cwd = os.getcwd() +for pcm in out.content: + wave_sample_path = os.path.join(cwd, "{}.wav".format(count)) + wavfile = wave.open(wave_sample_path, 'wb') + wavfile.setnchannels(1) + wavfile.setsampwidth(2) + wavfile.setframerate(24000) + wavfile.writeframes(pcm) + wavfile.close() + print("成功将第{}个pcm语音块转换成wav格式,并将对应文件写入:{}".format(count, wave_sample_path)) + count += 1 +``` + + +## 更新记录和贡献 +* 短文本在线合成 (2024-01) +* 增加流式能力 (2024-02) + diff --git a/docs/service/chainlit.md b/docs/BasisModule/Deployment/AgentChainlit.md similarity index 100% rename from docs/service/chainlit.md rename to docs/BasisModule/Deployment/AgentChainlit.md diff --git a/docs/basic_module/agentruntime.md b/docs/BasisModule/Deployment/agentruntime.md similarity index 100% rename from docs/basic_module/agentruntime.md rename to docs/BasisModule/Deployment/agentruntime.md diff --git a/docs/service/cloud.md b/docs/BasisModule/Deployment/cloud.md similarity index 83% rename from docs/service/cloud.md rename to docs/BasisModule/Deployment/cloud.md index af8092af7..40980f3ce 100644 --- a/docs/service/cloud.md +++ b/docs/BasisModule/Deployment/cloud.md @@ -98,10 +98,13 @@ curl --location 'http://{public_ip}:8091/chat' \ ### 接入AppBuilder工作流示例: * 进入AppBuilder官网,先后点击“个人空间”、“组件”、“创建组件”、“API接入” -wechat + +wechat * 点击“编辑API”、“导入cURL”,粘贴上面的curl命令,解析并导入 -wechat + +wechat * 调试通过 -wechat \ No newline at end of file + +wechat \ No newline at end of file diff --git a/docs/service/flask.md b/docs/BasisModule/Deployment/flask.md similarity index 100% rename from docs/service/flask.md rename to docs/BasisModule/Deployment/flask.md diff --git a/docs/basic_module/usersession.md b/docs/BasisModule/Deployment/usersession.md similarity index 100% rename from docs/basic_module/usersession.md rename to docs/BasisModule/Deployment/usersession.md diff --git a/docs/basic_module/get_model_list.md b/docs/BasisModule/Model/get_model_list.md similarity index 100% rename from docs/basic_module/get_model_list.md rename to docs/BasisModule/Model/get_model_list.md diff --git a/docs/basic_module/appbuilder_client.md b/docs/BasisModule/Platform/Application/appbuilder_client.md similarity index 100% rename from docs/basic_module/appbuilder_client.md rename to docs/BasisModule/Platform/Application/appbuilder_client.md diff --git a/docs/basic_module/get_app_list.md b/docs/BasisModule/Platform/Application/get_app_list.md similarity index 100% rename from docs/basic_module/get_app_list.md rename to docs/BasisModule/Platform/Application/get_app_list.md diff --git a/docs/basic_module/components.md b/docs/BasisModule/Platform/CustomComponents/components.md similarity index 100% rename from docs/basic_module/components.md rename to docs/BasisModule/Platform/CustomComponents/components.md diff --git a/docs/basic_module/knowledgebase.md b/docs/BasisModule/Platform/KnowledgeBase/knowledgebase.md similarity index 100% rename from docs/basic_module/knowledgebase.md rename to docs/BasisModule/Platform/KnowledgeBase/knowledgebase.md diff --git a/docs/BasisModule/Trace/README.md b/docs/BasisModule/Trace/README.md new file mode 100644 index 000000000..2a8bd2ff3 --- /dev/null +++ b/docs/BasisModule/Trace/README.md @@ -0,0 +1,7 @@ +# Appbuilder Trace 文档 + +本文档目录包含以下内容 + +- [Appbuilder Trace跟踪功能基本用法](basic.md) +- [Phoneix可视化软件的进阶用法](phoenix_method.md) +- [Appbuilder Trace跟踪功能示例](https://github.com/baidubce/app-builder/blob/master/cookbooks/appbuilder_trace/trace.ipynb) \ No newline at end of file diff --git a/docs/trace/basic.md b/docs/BasisModule/Trace/basic.md similarity index 100% rename from docs/trace/basic.md rename to docs/BasisModule/Trace/basic.md diff --git a/docs/trace/phoenix_method.md b/docs/BasisModule/Trace/phoenix_method.md similarity index 100% rename from docs/trace/phoenix_method.md rename to docs/BasisModule/Trace/phoenix_method.md diff --git a/docs/quick_start/changelog.md b/docs/DevelopGuide/ChangeLog/changelog.md similarity index 98% rename from docs/quick_start/changelog.md rename to docs/DevelopGuide/ChangeLog/changelog.md index e1f0dd2f5..71dbee66b 100644 --- a/docs/quick_start/changelog.md +++ b/docs/DevelopGuide/ChangeLog/changelog.md @@ -58,7 +58,7 @@ * **2024.10.18 v0.9.5版本发布** [ReleaseNote](https://github.com/baidubce/app-builder/releases/tag/0.9.5) * 更新KnowledgeBase组件,新增`切片详情`获取接口,新增切片关联的图片ID字段 * AppBuilderTrace 支持SentrySDK - * AppBuilder新增[Sphinx API文档](/docs/sphinx_md/appbuilder.md) + * AppBuilder新增[Sphinx API文档](../../API-Reference/Python/modules.md) * **2024.10.26 v0.9.6版本发布** [ReleaseNote](https://github.com/baidubce/app-builder/releases/tag/0.9.6) * 更新AppBuilderClient,简化Java & Go语言使用ToolCall的方式 * 新增长文档内容理解组件 diff --git a/docs/develop_guide/env.md b/docs/DevelopGuide/EnvironmentalParameters/env.md similarity index 100% rename from docs/develop_guide/env.md rename to docs/DevelopGuide/EnvironmentalParameters/env.md diff --git a/docs/develop_guide/README.md b/docs/DevelopGuide/HowToContributeCode/README.md similarity index 95% rename from docs/develop_guide/README.md rename to docs/DevelopGuide/HowToContributeCode/README.md index 921d17c59..6c96406e8 100644 --- a/docs/develop_guide/README.md +++ b/docs/DevelopGuide/HowToContributeCode/README.md @@ -2,8 +2,8 @@ 该文档目录包含以下内容: -- [二次开发基本介绍](https://github.com/baidubce/app-builder/blob/master/docs/develop_guide/README.md) -- [AppBuilder SDK 运行环境超参配置说明](https://github.com/baidubce/app-builder/blob/master/docs/develop_guide/env.md) +- [二次开发基本介绍](https://github.com/baidubce/app-builder/blob/master/docs/DevelopGuide/HowToContributeCode/README.md) +- [AppBuilder SDK 运行环境超参配置说明](https://github.com/baidubce/app-builder/blob/master/docs/DevelopGuide/EnvironmentalParameters/env.md) ## 二次开发 diff --git a/docs/QuickStart/CurrentlySupportedProgrammingLanguages/README.md b/docs/QuickStart/CurrentlySupportedProgrammingLanguages/README.md new file mode 100644 index 000000000..99aaf4c8f --- /dev/null +++ b/docs/QuickStart/CurrentlySupportedProgrammingLanguages/README.md @@ -0,0 +1,8 @@ +## SDK当前支持的编程语言 +- 平台功能 SDK: 支持Pyhon/Java/Go + - [应用管理](../../BasisModule/Platform/Application/get_app_list.md) + - [应用调用 AppBuilderClient SDK](../../BasisModule/Platform/Application/appbuilder_client.md) + - [知识库管理 KnowledgeBase SDK](../../BasisModule/Platform/KnowledgeBase/knowledgebase.md) +- AI基础能力组件 SDK:支持Python + - [获取模型列表](../../BasisModule/Model/get_model_list.md) + - [基础能力组件](../../docs/BasisModule/Platform/CustomComponents/components.md) \ No newline at end of file diff --git a/docs/basic_module/README.md b/docs/QuickStart/ExamplesOfIndustrialPracticeApplications/README.md similarity index 85% rename from docs/basic_module/README.md rename to docs/QuickStart/ExamplesOfIndustrialPracticeApplications/README.md index 0c0cd811e..431f2446e 100644 --- a/docs/basic_module/README.md +++ b/docs/QuickStart/ExamplesOfIndustrialPracticeApplications/README.md @@ -6,24 +6,10 @@ AppBuilder面向开发者提供AI原生应用一站式开发工具,包括基 封装程度由高至低,AppBuilder 提供了三种类型的SDK | 分类 | 场景及使用方式 | 百度云文档链接 | SDK 文档链接| |--------|--------|------------|------------| -| 端到端应用 | 在 AppBuilder 产品界面上通过零代码、低代码方式创建的 AI 原生应用,支持通过应用 API/SDK 进行调用 | [应用API及SDK](https://cloud.baidu.com/doc/AppBuilder/s/Plvggbuzc) | [AppBuilder Client SDK](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/appbuilder_client.md) | -| 流程编排 | 基于 Assistants API,可通过全代码形式创建和调试专属智能体(Agent) | [AssistantAPI](https://cloud.baidu.com/doc/AppBuilder/s/nluzkdben) | [AssistantSDK](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/assistant_sdk.md) | +| 端到端应用 | 在 AppBuilder 产品界面上通过零代码、低代码方式创建的 AI 原生应用,支持通过应用 API/SDK 进行调用 | [应用API及SDK](https://cloud.baidu.com/doc/AppBuilder/s/Plvggbuzc) | [AppBuilder Client SDK](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Platform/Application/appbuilder_client.md) | | 工具组件 | 基于组件 SDK,可调用包括大模型组件、AI能力组件等在内的多种组件 | [组件SDK](https://cloud.baidu.com/doc/AppBuilder/s/Glqb6dfiz) | [组件列表](https://cloud.baidu.com/doc/AppBuilder/s/Glqb6dfiz#3%E3%80%81%E5%BC%80%E9%80%9A%E7%BB%84%E4%BB%B6%E6%9C%8D%E5%8A%A1) | -## 本文档目录的内容 -- 平台功能 SDK: 支持Pyhon/Java/Go - - [应用管理](/docs/basic_module/get_app_list.md) - - [应用调用 AppBuilderClient SDK](/docs/basic_module/appbuilder_client.md) - - [知识库管理 KnowledgeBase SDK](/docs/basic_module/knowledgebase.md) -- Assistant SDK:支持Python - - [Assistant SDK 快速开始](/docs/basic_module/assistant_sdk.md) - - [Assistant SDK API说明](/docs/basic_module/assistant_type.md) -- AI基础能力组件 SDK:支持Python - - [获取模型列表](/docs/basic_module/get_model_list.md) - - [基础能力组件](/docs/basic_module/components.md) - - ## 功能示例 diff --git a/docs/quick_start/README.md b/docs/QuickStart/StartFirstAINativeApplication/README.md similarity index 98% rename from docs/quick_start/README.md rename to docs/QuickStart/StartFirstAINativeApplication/README.md index f1a5f2ff5..5b579369d 100644 --- a/docs/quick_start/README.md +++ b/docs/QuickStart/StartFirstAINativeApplication/README.md @@ -2,8 +2,8 @@ 该文档目录包含以下内容: -- [SDK安装](https://github.com/baidubce/app-builder/blob/master/docs/quick_start/install.md) -- [版本更新历史](https://github.com/baidubce/app-builder/blob/master/docs/quick_start/changelog.md) +- [SDK安装](https://github.com/baidubce/app-builder/blob/master/docs/QuickStart/StartFirstAINativeApplication/install.md) +- [版本更新历史](https://github.com/baidubce/app-builder/blob/master/docs/DevelopGuide/ChangeLog/changelog.md) ## 预备步骤 在正式开始使用AppBuilder-SDK之前,可以阅读以下内容: diff --git a/docs/quick_start/install.md b/docs/QuickStart/StartFirstAINativeApplication/install.md similarity index 100% rename from docs/quick_start/install.md rename to docs/QuickStart/StartFirstAINativeApplication/install.md diff --git a/docs/README.md b/docs/README.md index b45df8be4..211ba4ae1 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,33 +1,61 @@ # AppBuilder-SDK Documentataion ## Github 文档 -- [快速开始](https://github.com/baidubce/app-builder/blob/master/docs/quick_start/README.md) - - [安装说明](https://github.com/baidubce/app-builder/blob/master/docs/quick_start/install.md) - - [版本说明](https://github.com/baidubce/app-builder/blob/master/docs/quick_start/changelog.md) -- [基础功能](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/README.md) - - 平台功能 SDK: 支持Pyhon/Java/Go - - [应用管理](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/get_app_list.md) - - [应用调用 AppBuilderClient SDK](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/appbuilder_client.md) - - [知识库管理 KnowledgeBase SDK](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/knowledgebase.md) - - Assistant SDK:支持Python - - [Assistant SDK 快速开始](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/assistant_sdk.md) - - [Assistant SDK API说明](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/assistant_type.md) - - AI基础能力组件 SDK:支持Python - - [获取模型列表](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/get_model_list.md) - - [基础能力组件](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/components.md) -- [进阶实践](https://github.com/baidubce/app-builder/blob/master/docs/advanced_application/README.md) - - [Cookbooks](https://github.com/baidubce/app-builder/blob/master/cookbooks/README.md) - - [Appbuilder-SDK Trace跟踪功能](https://github.com/baidubce/app-builder/blob/master/docs/trace/README.md) - - [Appbuilder-SDK Trace基础用法](https://github.com/baidubce/app-builder/blob/master/docs/trace/basic.md) - - [Appbuilder-SDK Trace进阶用法](https://github.com/baidubce/app-builder/blob/master/docs/trace/phoenix_method.md) - - [组件调用的服务化封装](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/agentruntime.md) - - [会话数据管理工具](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/usersession.md) -- [SDK服务化部署](https://github.com/baidubce/app-builder/blob/master/docs/service/README.md) - - [API调用](https://github.com/baidubce/app-builder/blob/master/docs/service/flask.md) - - [交互式服务](https://github.com/baidubce/app-builder/blob/master/docs/service/chainlit.md) - - [公有云部署](https://github.com/baidubce/app-builder/blob/master/docs/service/cloud.md) -- [二次开发](https://github.com/baidubce/app-builder/blob/master/docs/develop_guide/README.md) - - [AppBuilder SDK 运行环境超参配置说明](https://github.com/baidubce/app-builder/blob/master/docs/develop_guide/env.md) +- [首页](https://github.com/baidubce/app-builder/blob/master/docs/README.md) + - 快速上手: + - 开始你的第一个AI原生应用: + - [安装](https://github.com/baidubce/app-builder/blob/master/docs/QuickStart/StartFirstAINativeApplication/install.md) + - [快速开始](https://github.com/baidubce/app-builder/blob/master/docs/QuickStart/StartFirstAINativeApplication/README.md) + - 产业实践应用范例: + - [SDK使用示例](https://github.com/baidubce/app-builder/blob/master/docs/QuickStart/ExamplesOfIndustrialPracticeApplications/README.md) + - [SDK当前支持的编程语言](https://github.com/baidubce/app-builder/blob/master/docs/QuickStart/CurrentlySupportedProgrammingLanguages/README.md) + - 基础: + - 模型: + - [获取模型列表](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Model/get_model_list.md) + - [组件](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - 监控: + - [TRACE基础功能](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Trace/basic.md) + - [TRACE拓展功能](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Trace/phoenix_method.md) + - 部署: + - [交互式前端部署](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Deployment/AgentChainlit.md) + - [公有云部署](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Deployment/cloud.md) + - [API 访问](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Deployment/flask.md) + - [AgentRuntime](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Deployment/agentruntime.md) + - [UserSession](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Deployment/usersession.md) + - 平台: + - 应用: + - [AppBuilderClient组件](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Platform/Application/appbuilder_client.md) + - [获取AppBuilder已发布的应用列表](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Platform/Application/get_app_list.md) + - 知识库: + - [知识库组件](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Platform/KnowledgeBase/knowledgebase.md) + - 自定义组件: + - [基础能力组件](https://github.com/baidubce/app-builder/blob/master/docs/BasisModule/Platform/CustomComponents/components.md) + - 应用: + - Agent: + - [基础知识](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [使用官方组件](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [ToolCall](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [ToolChoice](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [使用异步和流式加速客户端调用](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - RAG: + - [基础知识](https://github.com/baidubce/app-builder/blob/master/docs/Application/RAG/BasicKnowledge/rag.md) + - [知识库管理](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [Reference信息处理](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - Workflow: + - [基础知识](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [从零使用Workflow组装一个RAG应用](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [从零使用Workflow组装一个Agent应用](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - 开发者指南: + - [如何贡献代码](https://github.com/baidubce/app-builder/blob/master/docs/DevelopGuide/HowToContributeCode/README.md) + - [版本升级日志](https://github.com/baidubce/app-builder/blob/master/docs/DevelopGuide/ChangeLog/changelog.md) + - [常见问题FAQ](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [日志管理](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [错误信息](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [环境参数](https://github.com/baidubce/app-builder/blob/master/docs/DevelopGuide/EnvironmentalParameters/env.md) + - API Reference: + - [Python API Reference](https://github.com/baidubce/app-builder/blob/master/docs/API-Reference/Python/PythonAPI.md) + - [Java API Reference](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) + - [Go API Reference](https://github.com/baidubce/app-builder/blob/master/docs/Tools/DocPass/DocPass.md) ## 平台文档 diff --git a/docs/README_en.md b/docs/README_en.md index f423f800c..f2c79ddb6 100644 --- a/docs/README_en.md +++ b/docs/README_en.md @@ -1,5 +1,5 @@
-logo +logo
[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE) @@ -240,7 +240,7 @@ Hook: ## Panorama of Baidu AI Cloud Qianfan AppBuilder SDK capability
-wechat +wechat
@@ -265,7 +265,7 @@ Hook: ## Open source community and activities

AppBuilder-SDK WeChat Group QR Code

-wechat +wechat
- [Github Issue](https://github.com/baidubce/app-builder/issues): Submit installation/usage issues, report bugs, suggest new features, communicate development plans, etc diff --git a/docs/README_ja.md b/docs/README_ja.md index 23bc623a2..79aa542d3 100644 --- a/docs/README_ja.md +++ b/docs/README_ja.md @@ -1,5 +1,5 @@
-logo +logo
[![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](LICENSE) @@ -236,7 +236,7 @@ print(answer.content.answer) ## Baidu AI Cloud Qianfan AppBuilder SDKの機能全景
-wechat +wechat
@@ -261,7 +261,7 @@ print(answer.content.answer) ## オープンソースコミュニティと活動

AppBuilder-SDK WeChatグループQRコード

-wechat +wechat
- [Github Issue](https://github.com/baidubce/app-builder/issues): インストール/使用の問題を提出し、バグを報告し、新機能を提案し、開発計画をコミュニケーションします。 diff --git a/docs/Tools/DocPass/DocPass.md b/docs/Tools/DocPass/DocPass.md new file mode 100644 index 000000000..72099740c --- /dev/null +++ b/docs/Tools/DocPass/DocPass.md @@ -0,0 +1 @@ +# 文档更新中,敬请期待 \ No newline at end of file diff --git a/docs/tools/markdown2rst.py b/docs/Tools/MarkdownSh/markdown2rst.py similarity index 100% rename from docs/tools/markdown2rst.py rename to docs/Tools/MarkdownSh/markdown2rst.py diff --git a/docs/tools/markdown_parse.py b/docs/Tools/MarkdownSh/markdown_parse.py similarity index 100% rename from docs/tools/markdown_parse.py rename to docs/Tools/MarkdownSh/markdown_parse.py diff --git a/docs/sphinx_doc/Makefile b/docs/Tools/SphinxSh/Makefile similarity index 100% rename from docs/sphinx_doc/Makefile rename to docs/Tools/SphinxSh/Makefile diff --git a/docs/Tools/SphinxSh/PythonAPI.md b/docs/Tools/SphinxSh/PythonAPI.md new file mode 100644 index 000000000..4801ebacd --- /dev/null +++ b/docs/Tools/SphinxSh/PythonAPI.md @@ -0,0 +1,7 @@ +# Python API Reference + + +- [基础 API](appbuilder.md) + - [Assistant API](appbuilder.core.assistant.md) + - [Components API](appbuilder.core.components.md) + - [Console API](appbuilder.core.console.md) \ No newline at end of file diff --git a/docs/sphinx_doc/READEME.md b/docs/Tools/SphinxSh/READEME.md similarity index 88% rename from docs/sphinx_doc/READEME.md rename to docs/Tools/SphinxSh/READEME.md index 80c7b3762..d2a7c6af4 100644 --- a/docs/sphinx_doc/READEME.md +++ b/docs/Tools/SphinxSh/READEME.md @@ -4,9 +4,14 @@ - 完成SDK代码开发 - 依照google规范编写注释--仅需要对类和非私有方法进行注释 -- 进入根目录的docs/sphinx_doc目录下执行update_doc.sh脚本 -- 执行成功后,在docs/sphinx_doc/build/markdown目录下查看生成的文档是否无误 -- 迁移所有生成的文档到docs/sphinx_md目录下 +- 进入根目录的docs/Tools/SphinxSh目录下执行update_doc.sh脚本 +- 执行成功后,在docs/Tools/SphinxSh/build/markdown目录下查看生成的文档是否无误 +- 迁移所有生成的文档到docs/API-Reference/Python目录下 + +## 脚本功能 + +- 依据注释自动生成文档,并将文档迁移到docs/API-Reference/Python目录下 +- 将组件README.md文件按照目录格式迁移到BasisModule/Components目录下,为mkdocs生成文档提供基础链接 ## 代码注释规范 diff --git a/docs/sphinx_doc/appbuilder.core.rst b/docs/Tools/SphinxSh/appbuilder.core.rst similarity index 100% rename from docs/sphinx_doc/appbuilder.core.rst rename to docs/Tools/SphinxSh/appbuilder.core.rst diff --git a/docs/Tools/SphinxSh/get_components_md.py b/docs/Tools/SphinxSh/get_components_md.py new file mode 100644 index 000000000..2f6e56569 --- /dev/null +++ b/docs/Tools/SphinxSh/get_components_md.py @@ -0,0 +1,71 @@ +import os + +def find_readme_files(base_path): + readme_files = [] + for root, dirs, files in os.walk(base_path): + for file in files: + if file.lower() == "readme.md": + readme_files.append(os.path.join(root, file)) + return readme_files + +def extract_first_line(readme_path): + try: + with open(readme_path, 'r', encoding='utf-8') as file: + first_line = file.readline().strip() + if first_line.startswith('#'): + first_line = first_line[1:].strip() + return first_line + except Exception as e: + print(f"Error reading {readme_path}: {str(e)}") + return None + +def update_mkdocs_yml(results, mkdocs_path='../../../mkdocs.yml'): + try: + with open(mkdocs_path, 'r', encoding='utf-8') as file: + lines = file.readlines() + + # 查找 " - 组件:" 行的索引 + start_index = -1 + end_index = -1 + for i, line in enumerate(lines): + if line.strip() == '- 组件:': + start_index = i + elif line.strip() == '- 监控:': + end_index = i + break + + if start_index == -1 or end_index == -1: + print("未找到 '- 组件:' 或 '- 监控:' 行") + return + + # 删除两标记之间的内容 + del lines[start_index + 1:end_index] + + # 在找到的行后面插入新的结果 + for result in reversed(results): + lines.insert(start_index + 1, f" - {result}\n") + + # 写回文件 + with open(mkdocs_path, 'w', encoding='utf-8') as file: + file.writelines(lines) + print("mkdocs.yml 更新成功") + except Exception as e: + print(f"Error updating {mkdocs_path}: {str(e)}") + +def main(): + base_path = '../../BasisModule/Components' # 当前目录 + readme_files = find_readme_files(base_path) + results = [] + + for readme_path in readme_files: + first_line = extract_first_line(readme_path) + if first_line: + relative_path = os.path.relpath(readme_path, start=base_path) + result = f"{first_line}: BasisModule/Components/{relative_path.replace(os.sep, '/')}" + results.append(result) + + # 更新 mkdocs.yml 文件 + update_mkdocs_yml(results) + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/docs/sphinx_doc/make.bat b/docs/Tools/SphinxSh/make.bat similarity index 100% rename from docs/sphinx_doc/make.bat rename to docs/Tools/SphinxSh/make.bat diff --git a/docs/sphinx_doc/requirements.txt b/docs/Tools/SphinxSh/requirements.txt similarity index 100% rename from docs/sphinx_doc/requirements.txt rename to docs/Tools/SphinxSh/requirements.txt diff --git a/docs/sphinx_doc/source/conf.py b/docs/Tools/SphinxSh/source/conf.py similarity index 100% rename from docs/sphinx_doc/source/conf.py rename to docs/Tools/SphinxSh/source/conf.py diff --git a/docs/sphinx_doc/source/index.rst b/docs/Tools/SphinxSh/source/index.rst similarity index 100% rename from docs/sphinx_doc/source/index.rst rename to docs/Tools/SphinxSh/source/index.rst diff --git a/docs/sphinx_doc/update_doc.sh b/docs/Tools/SphinxSh/update_doc.sh similarity index 69% rename from docs/sphinx_doc/update_doc.sh rename to docs/Tools/SphinxSh/update_doc.sh index bf2167238..94eaf9462 100644 --- a/docs/sphinx_doc/update_doc.sh +++ b/docs/Tools/SphinxSh/update_doc.sh @@ -4,9 +4,9 @@ echo "========================开始更新文档========================" echo "================注释@HTTPClient.check_param装饰器===============" echo "当前路径:" pwd -cd ../.. +cd ../../.. find . -name "*.py" -exec sed -i '' 's/@HTTPClient\.check_param/# @HTTPClient.check_param/g' {} \; -cd docs/sphinx_doc +cd docs/Tools/SphinxSh echo "===============注释@HTTPClient.check_param装饰器完成==============" # 2、安装依赖 @@ -16,18 +16,34 @@ pwd python3 -m pip install -r requirements.txt echo "安装当前目录的Appbuilder-SDK:" -cd ../.. +cd ../../.. python3 -m pip uninstall appbuilder-sdk -y rm -rf dist python3 -u setup.py bdist_wheel python3 -m pip install dist/*.whl # 更新builde目录 rm -rf build -cd docs/sphinx_doc + +# 检查appbuilder目录是否已存在 +if [ -d "appbuilder" ]; then + echo "Error: Directory 'appbuilder' already exists." + exit 1 +fi + +# 检查python目录是否存在,如果存在则重命名为appbuilder +if [ -d "python" ]; then + mv python appbuilder + echo "Directory 'python' has been renamed to 'appbuilder'." +else + echo "Directory 'python' does not exist." + find . -name "*.py" -exec sed -i '' 's/# @HTTPClient\.check_param/@HTTPClient.check_param/g' {} \; || { echo "恢复装饰器失败"; exit 1; } + exit 1 +fi +cd docs/Tools/SphinxSh echo "=========================安装依赖=========================" -# 3、删除 doc/build 下的所有文件夹 +# 3、删除 build 下的所有文件夹 echo "================删除 doc/build 下的所有文件夹================" echo "当前路径:" pwd @@ -53,7 +69,7 @@ echo "=========删除doc/source下除index.rst的所有.rst文件完成========= echo "============删除原有的 docs/sphinx_md 文件夹及其文件============" echo "当前路径:" pwd -rm -rf ../docs/sphinx_md/* +rm -rf ../../API-Reference/Python/* echo "===========删除原有的 docs/sphinx_md 文件夹及其文件完成===========" @@ -61,8 +77,8 @@ echo "===========删除原有的 docs/sphinx_md 文件夹及其文件完成===== echo "=======执行命令 sphinx-apidoc -o source ../appbuilder/=======" echo "当前路径:" pwd -sphinx-apidoc -o source ../../appbuilder/ -# 删除test目录内容 +sphinx-apidoc -o source ../../../appbuilder/ +# 删除多余文档目录 rm ./source/appbuilder.tests.* rm ./source/appbuilder.utils.* rm ./source/appbuilder.core.assistant.type.rst @@ -76,7 +92,7 @@ cd .. echo "======执行命令 sphinx-apidoc -o source ../appbuilder/完成======" -# 7、在doc目录下执行命令 make markdown +# 7、在doc目录下执行命令 make markdown && make html echo "==============在doc目录下执行命令 make markdown================" echo "当前路径:" pwd @@ -91,17 +107,19 @@ echo "当前路径: $(pwd)" export PATH=/path/to/your/python:$PATH # 执行 make markdown make markdown || { echo "make markdown 命令失败"; exit 1; } -make html || { echo "make html 命令失败"; exit 1; } +# 迁移目录文档 +cp PythonAPI.md build/markdown/ +cp -r build/markdown/ ../../API-Reference/Python echo "=============在doc目录下执行命令 make markdown 完成==============" # 8、恢复装饰器 echo "========================恢复装饰器========================" -cd ../.. +cd ../../.. echo "当前路径:" pwd find . -name "*.py" -exec sed -i '' 's/# @HTTPClient\.check_param/@HTTPClient.check_param/g' {} \; || { echo "恢复装饰器失败"; exit 1; } -cd docs/sphinx_doc +cd docs/Tools/SphinxSh echo "========================恢复装饰器完成========================" @@ -114,7 +132,30 @@ find . -maxdepth 1 -type f -name '*.rst' ! -name 'index.rst' -exec rm {} \;|| { cd .. echo "删除 doc/source 下除index.rst的所有.rst文件完成" rm -rf /build/doctrees/* +cd ../../.. +if [ -d "appbuilder" ]; then + mv appbuilder python + echo "Directory 'appbuilder' has been renamed to 'python'." +else + echo "Directory 'appbuilder' does not exist." + exit 1 +fi +cd docs/Tools/SphinxSh echo "======================清理多余文件完成======================" +# 10、拷贝组件README.md文件到docs/BasisModule/Components目录 +echo "====拷贝组件README.md文件到docs/BasisModule/Components目录====" +echo "当前路径:" +pwd +cd ../../.. +cp -r python/core/components/* docs/BasisModule/Components +cd docs/BasisModule/Components +find . -type f -name "*.py" -exec rm {} + +cd ../../Tools/SphinxSh +# 运行mkdocs更改文件 +python3 get_components_md.py + +echo "====拷贝组件README.md文件到docs/BasisModule/Components目录完成====" + echo "========================更新文档完成========================" diff --git a/docs/sphinx_doc/update_rst.py b/docs/Tools/SphinxSh/update_rst.py similarity index 100% rename from docs/sphinx_doc/update_rst.py rename to docs/Tools/SphinxSh/update_rst.py diff --git a/docs/advanced_application/README.md b/docs/advanced_application/README.md deleted file mode 100644 index 98d7dc9d8..000000000 --- a/docs/advanced_application/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# 进阶应用 - -本文档目录包含以下内容 - -- [入门Cookbook](https://github.com/baidubce/app-builder/blob/master/cookbooks/README.md) -- [进阶业务实践](https://github.com/baidubce/app-builder/blob/master/docs/advanced_application/real_practice.md) -- [组件调用的服务化封装](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/agentruntime.md) -- [会话数据管理工具](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/userseesion.md) \ No newline at end of file diff --git a/docs/advanced_application/real_practice.md b/docs/advanced_application/real_practice.md deleted file mode 100644 index 37be06309..000000000 --- a/docs/advanced_application/real_practice.md +++ /dev/null @@ -1,3 +0,0 @@ -# 业务实践 - -> 内容审核中,敬请期待 \ No newline at end of file diff --git a/docs/basic_module/assistant_sdk.md b/docs/basic_module/assistant_sdk.md deleted file mode 100644 index c0042dd9c..000000000 --- a/docs/basic_module/assistant_sdk.md +++ /dev/null @@ -1,296 +0,0 @@ -# AppBuilder Assistant SDK - -## 简介 - -百度智能云千帆 AppBuilder 在提供零代码、低代码的AI原生应用搭建功能之外,也提供全代码灵活开发与集成能力。基于官方 API/SDK,开放丰富的组件服务,提供具备强大对话、思考及工具调用能力的 Agent 应用框架。 - -封装程度由高至低,提供了三种类型的SDK -| 分类 | 场景及使用方式 | 百度云文档链接 | SDK 文档链接| -|--------|--------|------------|------------| -| 端到端应用 | 在 AppBuilder 产品界面上通过零代码、低代码方式创建的 AI 原生应用,支持通过应用 API/SDK 进行调用 | [应用API及SDK](https://cloud.baidu.com/doc/AppBuilder/s/Plvggbuzc) | [Agent SDK](https://github.com/baidubce/app-builder/blob/master/docs/basic_module/appbuilder_client.md) | -| 代码态智能体 | 基于 Assistants API,可通过全代码形式创建和调试专属智能体(Agent) | [AssistantAPI](https://cloud.baidu.com/doc/AppBuilder/s/nluzkdben) | *当前文档* | -| 工具组件 | 基于组件 SDK,可调用包括大模型组件、AI能力组件等在内的多种组件 | [组件SDK](https://cloud.baidu.com/doc/AppBuilder/s/Glqb6dfiz) | [组件列表](https://cloud.baidu.com/doc/AppBuilder/s/Glqb6dfiz#3%E3%80%81%E5%BC%80%E9%80%9A%E7%BB%84%E4%BB%B6%E6%9C%8D%E5%8A%A1) | - -Assistants API/SDK 正在内测中,敬请期待公测版本。 - - - -### 功能介绍 - -Assistant SDK允许您在自己的应用程序中,使用纯代码构建人工智能助手。该助手可以利用模型、工具和文件来响应用户的诉求,提供关键的FunctionCall能力。 - -### 特色优势 - -与端到端应用相比,Assistants API/SDK 提供了更灵活、更强大的FunctionCall能力,可以满足更复杂的业务场景。基础功能对标 [OpenAI Assistant SDK](https://platform.openai.com/docs/assistants/overview?context=with-streaming),且会结合国内开发者习惯 与 最广泛的ToB场景,提供更多的易用功能与端到端示例。 - -### 应用场景 - -使用SDK纯代码构建Assistant助手,适合有进阶开发能力的开发者。 - -## 基本用法 - -以下是使用SDK进行构建的代码示例,更多详细信息请参考[Assistant API文档](https://cloud.baidu.com/doc/AppBuilder/s/nluzkdben) 与 [Assistant SDK 数据类型文档](https://cloud.baidu.com/doc/AppBuilder/s/nluzkdben) - -### 总览 -一个标准的Assistant构建及使用过程如下: -1. 创建一个Assistant -2. 创建一个Thread -3. 为Thread添加一个Message -4. 创建并运行一个Thread.Run - -下面的QuickStart会分别介绍每一个步骤的最简上手步骤 - -### QuickStart - - -#### Step1:创建一个Assistant - -Assistant 是一个助手的实例,助手可以添加多种参数,包括但不限于 -- 名称 `name` -- 模型 `model` -- 人设指令 `instructions`: 概述`Assistant`的整体功能和定位,需要它扮演一个什么样的『角色』 -- 思维指令 `thought_instructions`: 与业务逻辑和规则相关的指令。希望模型遵守的行为规范、准则及要求,尽可能清晰、详尽的在这里给出描述 -- 对话指令 `chat_instructions`: 与模型最终给出的回复内容相关的指令 - - -以下是一个创建Assistant的示例,更多支持的创建参数参考[Assistant API文档](https://cloud.baidu.com/doc/AppBuilder/s/nluzkdben) -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" - -assistant = appbuilder.assistant.assistants.create( - name="my_first_assistant", - description="你是一个热心肠的朋友,可以回答一些问题", - instructions="请用亲切的语气回答用户的每一个问题", - ) - -``` - - -#### Step2:创建一个Thread - -`thread` 代表一组对话,等价为`agent sdk`中的`conversation`,该`thread`对话中存储多组 `user <-> assistant`的对话 - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" - -thread = appbuilder.assistant.threads.create() - -``` - -#### Step3:为Thread添加一个Message - -用户或应用程序的消息内容,可以作为消息对象添加到`thread`中。消息可以包含文本`content`及`file_id`。添加到`thread`中的消息,需要遵循一唱一和的 `user问-assistant答` 顺序,并保证最后`thread`的最后一个`message`的`role`为`user`。 - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" - -thread = appbuilder.assistant.threads.create() -message = appbuilder.assistant.threads.messages.create( - thread_id=thread.id, content="hello world") - -``` - -#### Step4:创建并运行一个Thread.Run -将所有消息都添加到`thread`后,您可以使用`runs`下的方法,创建`run`,并使用相应的`assistant`来生成回复。assistant的回复将被自动添加到`thread`中。 - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" - -assistant = appbuilder.assistant.assistants.create( - name="my_first_assistant", - description="你是一个热心肠的朋友,可以回答一些问题", - instructions="请用亲切的语气回答用户的每一个问题") - -thread = appbuilder.assistant.threads.create() - -message = appbuilder.assistant.threads.messages.create( - thread_id=thread.id, - content="你好", -) - -run_result = appbuilder.assistant.threads.runs.run( - thread_id=thread.id, - assistant_id=assistant.id, -) -``` - -### assistant其余功能展示 - - -#### Step1:创建一个Assistant - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" - -assistant = appbuilder.assistant.assistants.create( - model = "ERNIE-4.0-8K", - name="test-assistant", - description="test", -) -``` - -#### Step2:查询当前用户创建的Assistant列表 - -```python -assistants_list = appbuilder.assistant.assistants.list() -``` - -#### Step3:查询Assistant详情 - -```python -# 这里的assistant_id为创建的Assistant的id -assistant_query = appbuilder.assistant.assistants.query(assistant_id=assistant.id) -``` - -#### Step4:更新Assistant - -```python -# 更新Assistant的name和description -assistant_update = appbuilder.assistant.assistants.update( - assistant_id = assistant.id, - model="ERNIE-4.0-8K", - name="Test_Name", - description = "test_description" -) -``` - -#### Step5:Assistant关于Files的操作 - -```python -# 上传一个File -file_path = "Your File address" -file = appbuilder.assistant.assistants.files.create(file_path=file_path) - -# 挂载File到Assistant -assistant_mount = appbuilder.assistant.assistants.mount_files( - assistant_id = assistant.id, - file_id = file.id, -) - -# 查询Assistant挂载的File列表 -assistant_files_list = appbuilder.assistant.assistants.mounted_files_list( - assistant_id = assistant.id, -) - -# 取消Assistant挂载的File -assistant_files_delete = appbuilder.assistant.assistants.unmount_files( - assistant_id = assistant.id, - file_id = file.id, -) -``` - -#### Step6:删除Assistant - -```python -assistant_delete = appbuilder.assistant.assistants.delete(assistant_id=assistant.id) -``` - -### files其余功能展示 - - -#### Step1:上传一个File - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" -file_path = "Your File address" -file = appbuilder.assistant.assistants.files.create(file_path=file_path) -``` - -#### Step2:file的相关操作 - -```python -# 查询已上传的文件列表 -files_list = appbuilder.assistant.assistants.files.list() - -# 查询已上传的文件信息 -files_query = appbuilder.assistant.assistants.files.query(file_id=file.id) - -# 下载已上传的文件 -# file_path:下载文件保存的地址 -file_download = appbuilder.assistant.assistants.files.download(file_id=file.id,file_path="Your File address") - -# 查看已上传文件的内容 -files_content=appbuilder.assistant.assistants.files.content(file_id=file.id) - -# 删除已上传的文件 -files_delete = appbuilder.assistant.assistants.files.delete(file_id=file.id) -``` - -### thread其余功能展示 - - -#### Step1:创建一个Thread - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" -thread = appbuilder.assistant.threads.create() -``` - -#### Step2:Tread的相关操作 - -```python -# 根据thread_id查询Thread对象的信息 -thr_query = appbuilder.assistant.threads.query(thread_id=thread.id) - -# 根据thread_id,对thread进行修改。当前Thread 仅可以修改metadata字段 -thr_update = appbuilder.assistant.threads.update(thread_id=thread.id,metadata={"test":"123"}) - -# 根据thread_id,删除Thread对象 -thr_delete = appbuilder.assistant.threads.delete(thread_id=thread.id) -``` - -### Message其余功能展示 - -#### Step1:创建一个Message - -```python -import appbuilder -os.environ["APPBUILDER_TOKEN"] = "your_appbuilder_token" -msg = appbuilder.assistant.threads.messages.create(thread_id=thread.id,content="hello world") -``` - -#### Step2:Message的相关操作 - -```python -# 查询指定Thread下的Message列表 -# 默认返回20条,limit可以指定返回的条数 -msg_list = appbuilder.assistant.threads.messages.list( - thread_id=msg.thread_id, - limit=1 -) - -# 根据message_id查询Message对象的信息 -msg_query = appbuilder.assistant.threads.messages.query( - thread_id=msg.thread_id, - message_id=msg.id -) - -# 根据message_id,对Message进行修改。当前Message 允许content和file_ids字段 -msg_update= appbuilder.assistant.threads.messages.update( - thread_id=msg.thread_id, - message_id=msg.id, - content='你好' -) - -# 查询一个Message对象下的文件列表 -# 默认返回20条,limit可以指定返回的条数 -msg_files = appbuilder.assistant.threads.messages.files( - thread_id=msg_update.thread_id, - message_id=msg_update.id, - limit=1 -) -``` - - -## 进阶用法 - -- [Assistant SDK 数据类型文档](https://cloud.baidu.com/doc/AppBuilder/s/nluzkdben) -- [Assistant SDK 基础能力Cookbook](https://github.com/baidubce/app-builder/blob/master/cookbooks/README.md) - diff --git a/docs/basic_module/assistant_type.md b/docs/basic_module/assistant_type.md deleted file mode 100644 index 7ec55894c..000000000 --- a/docs/basic_module/assistant_type.md +++ /dev/null @@ -1,1506 +0,0 @@ -# Assistant API说明 - -`Assistant SDK` 的基础接口 与 `Assistant API` 的接口与组织方式保持一致,且一一对应,更详细的接口说明请参考 [Assistant API](https://ai.baidu.com/ai-doc/ASSISTANT/Ck3d7) - -## appbuilder.assistant.assistants - -#### appbuilder.assistant.assistants.create - -功能:创建assistant实例 - -```python -def create(self, - name: str, - description: str, - model: Optional[str] = "ERNIE-4.0-8K", - response_format: Optional[str] = 'text', - instructions: Optional[str] = "", - thought_instructions: Optional[str] = "", - chat_instructions: Optional[str] = "", - tools: Optional[list[assistant_type.AssistantTool]] = [], - file_ids: Optional[list[str]] = [], - metadata: Optional[dict] = {}, - ) -> assistant_type.AssistantCreateResponse: - """ - 创建助手实例 - - Args: - name (str): 助手名称 - description (str): 助手描述 - model (Optional[str], optional): 模型名称. Defaults to "ERNIE-4.0-8K". - response_format (Optional[str], optional): 响应格式. Defaults to 'text'. - instructions (Optional[str], optional): 指令. Defaults to "". - thought_instructions (Optional[str], optional): 思考指令. Defaults to "". - chat_instructions (Optional[str], optional): 聊天指令. Defaults to "". - tools (Optional[list[assistant_type.AssistantTool]], optional): 工具列表. Defaults to []. - file_ids (Optional[list[str]], optional): 文件ID列表. Defaults to []. - metadata (Optional[dict], optional): 元数据. Defaults to {}. - - Returns: - assistant_type.AssistantCreateResponse: 助手创建响应 - - """ -``` - -- appbuilder.assistant.assistants.create 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#1%E5%88%9B%E5%BB%BAassistant) - -- appbuilder.assistant.assistants.create 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0) - -```python -class AssistantCreateRequest(BaseModel): - model: str = Field(default="ERNIE-4.0-8K") # 使用的模型 - name: str = Field(default="", min_length=1, max_length=128, pattern="^[\u4e00-\u9fa50-9a-zA-Z_-]+$") # 助理名称 - description: str = Field(default="", max_length=512) # 助理描述 - response_format: ResponseFormat = Field(default=ResponseFormat.TEXT) # 响应格式 - instructions: str = Field(default="你是百度制作的AI助手", max_length=4096) # 助理的通用指令 - thought_instructions: str = Field(default="", max_length=4096) # 助理的思维指令 - chat_instructions: str = Field(default="", max_length=4096) # 助理的聊天指令 - tools: list[AssistantTool] = Field(default=[], max_length=10) # 助理使用的工具列表 - file_ids: list[str] = Field(default=[], max_length=10) # 关联文件的ID列表 - metadata: dict = Field(default={}, max_length=16) # 元数据 -``` - -- appbuilder.assistant.assistants.create 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0) - -```python -class AssistantCreateResponse(BaseModel): - id: Optional[str] = "" # 助理ID - object: Optional[str] = "" # 助理对象标识 - name: Optional[str] = "" # 助理名称 - description: Optional[str] = "" # 助理描述 - instructions: Optional[str] # 助理的通用指令 - tools: Optional[list[AssistantTool]] = Field(default=[]) # 助理使用的工具列表 - created_at: Optional[int] = 0 # 助理创建时间戳 - thought_instructions: Optional[str] = "" # 助理的思维指令 - chat_instructions: Optional[str] = "" # 助理的聊天指令 - response_format: Optional[ResponseFormat] = Field(default=ResponseFormat.TEXT) # 响应格式 - file_ids: Optional[list[str]] = Field(default=[]) # 关联文件的ID列表 - metadata: Optional[dict] = Field(default={}, max_length=16) # 元数据 -``` - -#### appbuilder.assistant.assistants.update - -功能:根据assistant_id修改一个已创建的Assistant - -```python -def update(self, - assistant_id: str, - model: Optional[str], - name: Optional[str], - description: Optional[str], - instructions: Optional[str] = "", - tools: Optional[list[assistant_type.AssistantTool]] = [], - thought_instructions: Optional[str] = "", - chat_instructions: Optional[str] = "", - response_format: Optional[str] = "text", - file_ids: Optional[list[str]] = [], - metadata: Optional[dict] = {} - ) -> assistant_type.AssistantUpdateResponse: - """ - 根据assistant_id修改一个已创建的Assistant - - Args: - assistant_id (str): 助手ID。 - model (Optional[str]): 助手模型。 - name (Optional[str]): 助手名称。 - description (Optional[str]): 助手描述。 - response_format (Optional[str], optional): 响应格式。默认为None。 - instructions (Optional[str], optional): 助手指令。默认为None。 - thought_instructions (Optional[str], optional): 思考指令。默认为None。 - chat_instructions (Optional[str], optional): 聊天指令。默认为None。 - tools (Optional[list[assistant_type.AssistantTool]], optional): 助手工具列表。默认为空列表。 - file_ids (Optional[list[str]], optional): 文件ID列表。默认为空列表。 - metadata (Optional[dict], optional): 助手元数据。默认为空字典。 - - Returns: - assistant_type.AssistantUpdateResponse: 助手更新响应。 - - """ -``` - -- appbuilder.assistant.assistants.update 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#2%E4%BF%AE%E6%94%B9assistant) - -- appbuilder.assistant.assistants.update 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-1) - -```python -class AssistantUpdateRequest(BaseModel): - assistant_id: Optional[str] = "" # 助理ID - model: str = Field(default="ERNIE-4.0-8K") # 使用的模型 - name: str = Field(default="", min_length=1, max_length=128, pattern="^[\u4e00-\u9fa50-9a-zA-Z_-]+$") # 助理名称 - description: str = Field(default="", max_length=512) # 助理描述 - response_format: ResponseFormat = Field(default=ResponseFormat.TEXT) # 响应格式 - instructions: str = Field(default="你是百度制作的AI助手", max_length=4096) # 助理的通用指令 - thought_instructions: str = Field(default="", max_length=4096) # 助理的思维指令 - chat_instructions: str = Field(default="", max_length=4096) # 助理的聊天指令 - tools: list[AssistantTool] = Field(default=[], max_length=10) # 助理使用的工具列表 - file_ids: list[str] = Field(default=[], max_length=10) # 关联文件的ID列表 - metadata: dict = Field(default={}, max_length=16) # 元数据 -``` - -- appbuilder.assistant.assistants.update 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-1) - -```python -class AssistantUpdateResponse(BaseModel): - id: Optional[str] = "" # 助理ID - model: Optional[str] = "" # 助理对象标识 - name: Optional[str] = "" # 助理名称 - description: Optional[str] = "" # 助理描述 - response_format: Optional[ResponseFormat] = Field(default=ResponseFormat.TEXT) # 响应格式 - instructions: Optional[str] # 助理的通用指令 - created_at: Optional[int] = 0 # 助理创建时间戳 - thought_instructions: Optional[str] = "" # 助理的思维指令 - chat_instructions: Optional[str] = "" # 助理的聊天指令 - tools: Optional[list[AssistantTool]] = Field(default=[]) # 助理使用的工具列表 - file_ids: Optional[list[str]] = Field(default=[]) # 关联文件的ID列表 - metadata: Optional[dict] = Field(default={}, max_length=16) # 元数据 -``` - -#### appbuilder.assistant.assistants.list - -功能:查询当前用户已创建的assistant列表 - -```python -def list(self, - limit: Optional[int] = 20, - order: Optional[str] = "desc", - after: Optional[str] = "", - before: Optional[str] = "", - ) -> assistant_type.AssistantListResponse: - """ - 查询当前用户已创建的assistant列表 - - Args: - limit (Optional[int], optional): 返回助手列表的最大数量,默认为20。 - order (Optional[str], optional): 返回助手列表的排序方式,可选值为"asc"或"desc",默认为"desc"。 - after (Optional[str], optional): 返回助手列表中id在指定id之后的助手,默认为空字符串。 - before (Optional[str], optional): 返回助手列表中id在指定id之前的助手,默认为空字符串。 - - Returns: - assistant_type.AssistantListResponse: 助手列表响应体。 - - """ -``` - -- appbuilder.assistant.assistants.list 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#3-%E6%9F%A5%E8%AF%A2assistant%E5%88%97%E8%A1%A8) - -- appbuilder.assistant.assistants.list 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-2) - -```python -class AssistantListRequest(BaseModel): - limit: Optional[int] = Field(default=20) # 列举结果数量上限 - order: Optional[AssistantListRole] = Field(default= AssistantListRole.DESC) # 排序字段 - after: Optional[str] = Field(default="") # 查询指定assistant_id之后创建的Assistant - before: Optional[str] = Field(default="") # 查询指定assistant_id之前创建的Assistant -``` - -- appbuilder.assistant.assistants.list 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-2) - -```python -class AssistantListResponse(BaseModel): - object: str = "list" # 结构类型,返回值固定为 list - data: Optional[list[AssistantCreateResponse]] = Field(default=[]) # Assistant对象列表 - first_id: Optional[str] = "" # 返回的列表中第一条assistant的id - last_id: Optional[str] = "" # 返回的列表中最后一条assistant的id - has_more: bool = False # 是否还有更多的数据 -``` - -#### appbuilder.assistant.assistants.query - -功能:根据assistant_id查询Assistant信息 - -```python -def query(self, - assistant_id: Optional[str]) -> assistant_type.AssistantQueryResponse: - """ - 根据assistant_id查询Assistant信息 - - Args: - assistant_id (Optional[str]): 助手ID - - Returns: - assistant_type.AssistantQueryResponse: 助手查询响应结果 - - Raises: - HTTPError: 请求失败,抛出HTTPError异常 - """ -``` - -- appbuilder.assistant.assistants.query 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#4-%E6%9F%A5%E8%AF%A2assistant) - -- appbuilder.assistant.assistants.query 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-3) - -```python -class AssistantQueryRequest(BaseModel): - assistant_id: Optional[str] = "" # 助理ID -``` - -- appbuilder.assistant.assistants.query 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-3) - -```python -class AssistantQueryResponse(BaseModel): - id: Optional[str] = "" # 助理ID - object: Optional[str] = "" # 助理对象标识 - name: Optional[str] = "" # 助理名称 - description: Optional[str] = "" # 助理描述 - instructions: Optional[str] # 助理的通用指令 - tools: Optional[list[AssistantTool]] = Field(default=[]) # 助理使用的工具列表 - created_at: Optional[int] = 0 # 助理创建时间戳 - thought_instructions: Optional[str] = "" # 助理的思维指令 - chat_instructions: Optional[str] = "" # 助理的聊天指令 - response_format: Optional[ResponseFormat] = Field(default=ResponseFormat.TEXT) # 响应格式 - file_ids: Optional[list[str]] = Field(default=[]) # 关联文件的ID列表 - metadata: Optional[dict] = Field(default={}, max_length=16) # 元数据 -``` - -#### appbuilder.assistant.assistants.delete - -功能:根据assistant_id删除指定Assitant - -```python -def delete(self, - assistant_id: Optional[str]) -> assistant_type.AssistantDeleteResponse: - """ - 根据assistant_id删除指定Assitant - - Args: - assistant_id (Optional[str]): 待删除的助手实例ID。 - - Returns: - assistant_type.AssistantDeleteResponse: 删除助手实例后的响应结果。 - - Raises: - HttpRequestError: 发送HTTP请求时发生错误。 - - """ -``` - -- appbuilder.assistant.assistants.delete 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#5-%E5%88%A0%E9%99%A4assistant) - -- appbuilder.assistant.assistants.delete 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-4) - -```python -class AssistantDeleteRequest(BaseModel): - assistant_id: Optional[str] = "" # 助理ID -``` - -- appbuilder.assistant.assistants.delete 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-4) - -```python -class AssistantDeleteResponse(BaseModel): - id: Optional[str] = "" # 助理ID - object: Optional[str] = "" # 助理对象标识 - deleted: bool = False # 删除状态 -``` - -#### appbuilder.assistant.assistants.mount_files - -功能:指定file_id和assistant_id,挂载File到对应的Assistant - -```python -def mount_files(self, - assistant_id: Optional[str], - file_id: Optional[str] - ) -> assistant_type.AssistantFilesResponse: - """ - 指定file_id和assistant_id,挂载File到对应的Assistant - - Args: - assistant_id (Optional[str]): 助理ID。 - file_id (Optional[str]): 文件ID。 - - Returns: - assistant_type.AssistantFilesResponse: 助理文件列表响应对象。 - - """ -``` - -- appbuilder.assistant.assistants.mount_files 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#6-%E6%8C%82%E8%BD%BDfile%E5%88%B0assistant) - -- appbuilder.assistant.assistants.mount_files 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-5) - -```python -class AssistantFilesRequest(BaseModel): - assistant_id: Optional[str] = "" # 助理ID - file_id: Optional[str] = "" # File对象的id -``` - -- appbuilder.assistant.assistants.mount_files 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-5) - -```python -class AssistantFilesResponse(BaseModel): - id: Optional[str] = "" # File对象的id,值等于入参 - object: Optional[str] = "" # 助理对象标识 - created_at: Optional[int] = 0 # 助理创建时间戳 - assistant_id: Optional[str] = "" # Assistant对象的id,值等于入参 -``` - -#### appbuilder.assistant.assistants.mounted_files_list - -功能:查询Assistant挂载的File列表 - -```python -def mounted_files_list(self, - assistant_id: Optional[str], - limit: Optional[int] = 20, - order: Optional[str] = 'desc' , - after: Optional[str] = "", - before: Optional[str] = "") -> assistant_type.AssistantMountedFilesListResponse: - """ - 查询Assistant挂载的File列表 - - Args: - assistant_id (Optional[str]): 助手ID,为空时获取当前登录用户的助手文件列表。 - limit (Optional[int], optional): 每页最多显示多少个文件。默认为20。 - order (Optional[AssistantListRole], optional): 文件列表排序方式。可选值为 'asc' 或 'desc'。默认为 'desc'。 - after (Optional[str], optional): 返回文件ID大于该值的文件列表。默认为空字符串。 - before (Optional[str], optional): 返回文件ID小于该值的文件列表。默认为空字符串。 - - Returns: - assistant_type.AssistantFilesListResponse: 包含文件列表信息的响应对象。 - - """ -``` - -- appbuilder.assistant.assistants.mounted_files_list 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#7-%E6%9F%A5%E8%AF%A2assistant%E6%8C%82%E8%BD%BD%E7%9A%84file%E5%88%97%E8%A1%A8) - -- appbuilder.assistant.assistants.mounted_files_list 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-6) - -```python -class AssistantFilesDeleteRequest(BaseModel): - assistant_id: Optional[str] = "" # 助理ID - file_id: Optional[str] = "" # File对象的id -``` - -- appbuilder.assistant.assistants.mounted_files_list 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-6) - -```python -class AssistantFilesContentResponse(BaseModel): - content_type:Optional[str] = "" # 文件类型 - content :Optional[bytes] =b"" # 二进制流数据 -``` - -#### appbuilder.assistant.assistants.unmount_files - -功能:指定assistant_id和file_id,解绑Assistant中对应File的关联 - -```python -def unmount_files(self, - assistant_id: Optional[str], - file_id: Optional[str] - ) -> assistant_type.AssistantFilesDeleteResponse: - """ - 指定assistant_id和file_id,解绑Assistant中对应File的关联 - - Args: - assistant_id (Optional[str]): 助理ID。 - file_id (Optional[str]): 文件ID。 - Returns: - assistant_type.AssistantFilesDeleteResponse: 响应对象。 - """ -``` - -- appbuilder.assistant.assistants.unmount_files 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#8-%E8%A7%A3%E7%BB%91assistant%E6%8C%82%E8%BD%BD%E7%9A%84file) - -- appbuilder.assistant.assistants.unmount_files 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-7) - -```python -class AssistantFilesDeleteRequest(BaseModel): - assistant_id: Optional[str] = "" # 助理ID - file_id: Optional[str] = "" # File对象的id -``` - -- appbuilder.assistant.assistants.unmount_files 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qluzl0y5e#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-7) - -```python -class AssistantFilesDeleteResponse(BaseModel): - id: str = "" # 文件ID - object: str = "" # 文件对象标识 - deleted: bool = False # 是否删除成功 -``` - - -## appbuilder.assistant.assistants.files - - -#### appbuilder.assistant.assistants.files.create - -功能:上传并创建一个文件实例,该文件与assistant和thread解耦,可以单独使用。 - -```python -def create(self, file_path: str, purpose: str = "assistant") -> assistant_type.AssistantFilesCreateResponse: - """ - 上传文件到助理存储中。 - - Args: - file_path (str): 要上传的文件路径。 - purpose (str, optional): 上传文件的用途。默认为 "assistant"。 - - Returns: - assistant_type.AssistantFilesCreateResponse: 上传文件后返回的响应对象。 - - Raises: - ValueError: 如果指定的文件路径不存在,则会引发此异常。 - """ -``` - -- appbuilder.assistant.assistants.files.create 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#1%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6) - -- appbuilder.assistant.assistants.files.create 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0) - -```python -file_path (str): 要上传的文件路径。 -purpose (str, optional): 上传文件的用途。默认为 "assistant"。 -``` - -- appbuilder.assistant.assistants.files.create 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0) - -```python -class AssistantFilesCreateResponse(BaseModel): - id: str = "" # 文件ID - bytes: int = 0 # 文件大小(字节) - object: str = "" # 文件对象标识 - purpose: str = "" # 文件用途 - create_at: int = 0 # 文件创建时间戳 - filename: str = "" # 文件名 - classification_id: str = "" # 文件分类ID -``` - -#### appbuilder.assistant.assistants.files.list - -功能:列出存储中的文件列表 - -```python -def list(self) -> assistant_type.AssistantFilesListResponse: - """ - 列出存储中的文件列表 - - Args: - 无 - - Returns: - assistant_type.AssistantFilesListResponse: 文件列表的响应对象,包含以下属性: - - Raises: - assistant_type.AssistantError: 请求发生错误时抛出,具体错误信息可通过 `error_msg` 属性获取 - """ -``` - -- appbuilder.assistant.assistants.files.list 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#2%E6%9F%A5%E8%AF%A2%E5%B7%B2%E4%B8%8A%E4%BC%A0%E7%9A%84%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8) - -- appbuilder.assistant.assistants.files.list 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-1) - -```python -class AssistantFilesListResponse(BaseModel): - object :str = "list" - data: list[AssistantFilesListData] = [] -``` -**注:**AssistantFilesListData类即为AssistantFilesQueryResponse类 - -#### appbuilder.assistant.assistants.files.query - -功能:根据文件ID查询文件信息 - -```python -def query(self, - file_id: str, - ) -> assistant_type.AssistantFilesQueryResponse: - """ - 根据文件ID查询文件信息 - - Args: - file_id (str): 文件ID - - Returns: - assistant_type.AssistantFilesQueryResponse: 文件查询响应对象 - - Raises: - TypeError: 如果file_id不是str类型 - ValueError: 如果file_id不存在 - """ -``` - -- appbuilder.assistant.assistants.files.query 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#3%E6%9F%A5%E8%AF%A2%E5%B7%B2%E4%B8%8A%E4%BC%A0%E7%9A%84%E6%96%87%E4%BB%B6%E4%BF%A1%E6%81%AF) - -- appbuilder.assistant.assistants.files.query 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-2) - -```python -file_id (str): 文件ID -``` - -- appbuilder.assistant.assistants.files.query 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-2) - -```python -class AssistantFilesQueryResponse(BaseModel): - id: str = "" # 文件ID - bytes: int = 0 # 文件大小(字节) - object: str = "" # 文件对象标识 - purpose: str = "" # 文件用途 - censored :AuditStatus = Field() # 审核状态 - create_at: int = 0 # 文件创建时间戳 - filename: str = "" # 文件名 - classification_id: str = "" # 文件分类ID - file_type: str = "" # 文件类型 -``` - -#### appbuilder.assistant.assistants.files.delete - -功能:根据file_id删除一个已上传的文件 - -```python -def delete(self, - file_id: str, - ) -> assistant_type.AssistantFilesDeleteResponse: -""" -删除文件 -Args: - file_id (str): 文件ID -Returns: - assistant_type.AssistantFilesDeleteResponse: 删除文件后的响应对象。 -Raises: - 无 -""" -``` - -- appbuilder.assistant.assistants.files.delete 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#4%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6) - -- appbuilder.assistant.assistants.files.delete 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-3) - -```python -file_id (str): 文件ID -``` - -- appbuilder.assistant.assistants.files.delete 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-3) - -```python -class AssistantFilesDeleteResponse(BaseModel): - id: str = "" # 文件ID - object: str = "" # 文件对象标识 - deleted: bool = False # 是否删除成功 -``` - -#### appbuilder.assistant.assistants.files.download - -功能:下载文件 - -```python -def download(self, - file_id:str, - file_path:str="", # 要求若文件路径不为空,需要以/结尾,默认下载到当前文件夹 - timeout:Optional[int]=None, - ): - """ - 下载文件 - - Args: - file_id (str): 文件ID - file_path (str, optional): 文件保存路径,默认为空字符串。如果未指定,则使用文件名的默认值。要求若文件路径不为空,需要以/结尾。 - timeout (Optional[int], optional): 请求超时时间,单位秒。如果未指定,则使用默认超时时间。 - - Returns: - None - - Raises: - TypeError: 当file_path或file_id类型不为str时引发此异常。 - ValueError: 当file_id为空或None时,或file_path不是文件目录时引发此异常。 - FileNotFoundError: 当指定的文件路径或文件不存在时引发此异常。 - OSError: 当磁盘空间不足时引发此异常。 - HTTPConnectionException: 当请求失败时引发此异常。 - Exception: 当发生其他异常时引发此异常。 - """ -``` - -- appbuilder.assistant.assistants.files.download 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#5%E4%B8%8B%E8%BD%BD%E6%96%87%E4%BB%B6) - -- appbuilder.assistant.assistants.files.download 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-4) - -```python -file_id (str): 文件ID -``` - -#### appbuilder.assistant.assistants.files.content - -功能:获取指定文件的内容 - -```python -def content(self, - file_id:str, - timeout:Optional[int]=None): - """ - 获取指定文件的内容 - - Args: - file_id (str): 文件ID - timeout (Optional[int], optional): 请求超时时间,单位秒. Defaults to None. - - Returns: - assistant_type.AssistantFilesContentResponse: 包含文件内容的响应对象 - - Raises: - TypeError: 当file_id不是字符串类型时引发此异常 - FileNotFoundError: 当指定的文件路径不存在时引发此异常 - HTTPConnectionException: 当请求失败时引发此异常 - - """ -``` - -- appbuilder.assistant.assistants.files.content 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#6%E6%9F%A5%E7%9C%8B%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9) - -- appbuilder.assistant.assistants.files.content 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/ulv0g1t3x#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-5) - -```python -file_id (str): 文件ID -``` - -## appbuilder.assistant.threads - -#### appbuilder.assistant.threads.create - -功能:创建一个对话线程(等价于converstaion) - -```python -def create(self, messages: Optional[list[thread_type.AssistantMessage]] = []) -> thread_type.ThreadCreateResponse: - """ - 创建一个新的对话线程。 - - Args: - messages: 要发送给助手的消息列表。如果不传入此参数,则会创建一个空对话线程。 - - Returns: - 一个ThreadCreateResponse对象,包含新创建的线程的相关信息。 - - Raises: - ValueError: 如果传入的messages参数不是列表类型。 - - """ -``` - -- appbuilder.assistant.threads.create 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#1-%E5%88%9B%E5%BB%BAthread) - -- appbuilder.assistant.threads.create 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0) - -```python -class ThreadCreateRequest(BaseModel): - messages: list[AssistantMessage] -``` - -- appbuilder.assistant.threads.create 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0) - -```python -class ThreadCreateResponse(BaseModel): - id: str = "" - object: str = "" - created_at: int = 0 - metadata: dict = {} -``` - -#### appbuilder.assistant.threads.query - -功能:查询对话线程信息。 - -```python -def query(self, - thread_id:str)->thread_type.ThreadQueryResponse: - """ - 查询对话线程信息。 - Args: - thread_id: 要查询的对话线程ID。 - Returns: - 一个ThreadQueryResponse对象,包含对话线程的相关信息。 - Raises: - ValueError: 如果传入的thread_id参数不是字符串类型。 - """ -``` - -- appbuilder.assistant.threads.query 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#2-%E6%9F%A5%E8%AF%A2thread) - -- appbuilder.assistant.threads.query 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-1) - -```python -class ThreadQueryRequest(BaseModel): - thread_id: str -``` - -- appbuilder.assistant.threads.query 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-1) - -```python -class ThreadQueryResponse(BaseModel): - id: str = "" - object: str = "" - created_at: int = 0 - metadata: dict = {} -``` - -#### appbuilder.assistant.threads.delete - -功能:删除对话线程。 - -```python -def delete(self, - thread_id:str)->thread_type.ThreadDeleteResponse: - """ - 删除对话线程。 - Args: - thread_id: 要删除的对话线程ID。 - Returns: - 一个ThreadDeleteResponse对象,包含对话线程的相关信息。 - Raises: - ValueError: 如果传入的thread_id参数不是字符串类型。 - """ -``` - -- appbuilder.assistant.threads.delete 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#3-%E5%88%A0%E9%99%A4thread) - -- appbuilder.assistant.threads.delete 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-2) - -```python -class ThreadDeleteRequest(BaseModel): - thread_id: str -``` - -- appbuilder.assistant.threads.delete 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-2) - -```python -class ThreadDeleteResponse(BaseModel): - id: str = "" - object: str = "" - deleted: bool = False -``` - -#### appbuilder.assistant.threads.update - -功能: - -```python -def update(self, - thread_id:str , - metadata:Optional[dict] ={} )->thread_type.ThreadUpdateResponse: - """ - 更新线程信息 - - Args: - thread_id (str): 线程ID - metadata (Optional[dict], optional): 线程元数据. 默认为空字典. - - Returns: - thread_type.ThreadUpdateResponse: 线程更新响应 - - Raises: - TypeError: 如果metadata不是字典类型 - ValueError: 如果metadata的键超过64个字符或值超过512个字符 - """ -``` - -- appbuilder.assistant.threads.update 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#4-%E4%BF%AE%E6%94%B9thread) - -- appbuilder.assistant.threads.update 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-3) - -```python -class ThreadUpdateRequest(BaseModel): - thread_id: str - metadata: Optional[dict] = Field(default={}, max_length=16) -``` - -- appbuilder.assistant.threads.update 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/Nlv0g3e50#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-3) - -```python -class ThreadUpdateResponse(BaseModel): - id: str = "" - object: str = "" - created_at: Optional[int] = 0 - metadata: Optional[dict] = {} -``` - -## appbuilder.assistant.threads.messages - -#### appbuilder.assistant.threads.messages.create - -功能:在指定的thread中,最后位置附加一条消息 - -```python -def create(self, - thread_id: str, - content: str, - role: Optional[str] = "user", - file_ids: Optional[list[str]] = []) -> thread_type.AssistantMessageCreateResponse: - """ - 创建一条消息。 - - Args: - thread_id (str): 线程ID。 - content (str): 消息内容。 - role (Optional[str], optional): 角色,可选值为"user"或"assistant"。默认为"user"。 - file_ids (Optional[list[str]], optional): 消息中包含的文件ID列表。默认为空列表。 - - Returns: - thread_type.AssistantMessageCreateResponse: 消息创建响应对象。 - - Raises: - HttpError: 如果请求失败,则抛出HttpError异常。 - """ -``` - -- appbuilder.assistant.threads.messages.create 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#1-%E5%88%9B%E5%BB%BAmessage) - -- appbuilder.assistant.threads.messages.create 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0) - -```python -class AssistantMessageCreateRequest(BaseModel): - thread_id: str - role: AssistantMessageRole = Field( - default=AssistantMessageRole.USER) - content: str - file_ids: Optional[list[str]] = Field(default=[], max_length=10) -``` - -- appbuilder.assistant.threads.messages.create 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0) - -```python -class AssistantMessageCreateResponse(BaseModel): - id: str = "" - object: str = "" - role: AssistantMessageRole = Field( - default=AssistantMessageRole.USER) - content: Optional[list[AssistantContent]] = [] - created_at: int = 0 - thread_id: str = "" - assistant_id: Optional[str] = "" - run_id: Optional[str] = "" - file_ids: Optional[list[str]] = [] -``` - -#### appbuilder.assistant.threads.messages.list - -功能:查询指定Thread下的Message列表 - -```python -def list(self, - thread_id: str, - limit: int = 20, - order: str = "desc", - after: str = "", - before: str = "") -> thread_type.AssistantMessageListResponse: - """ - 查询指定Thread下的Message列表 - Args: - thread_id (str): 线程ID。 - limit (int, optional): 返回消息的最大数量,取值范围为[1,20]。默认为-20。 - order (Optional[str], optional): 排序方式,可选值为"asc"或"desc"。默认为"desc"。 - after (Optional[str], optional): 查询指定message_id之后创建的Message。 - before (Optional[str], optional): 查询指定message_id之前创建的Message - - Returns: - thread_type.AssistantMessageListResponse: 查询thread下的message列表响应对象。 - - Raises: - HttpError: 如果请求失败,则抛出HttpError异常。 - """ -``` - -- appbuilder.assistant.threads.messages.list 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#2-%E6%9F%A5%E8%AF%A2thread%E4%B8%8B%E7%9A%84message%E5%88%97%E8%A1%A8) - -- appbuilder.assistant.threads.messages.list 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-1) - -```python -class AssistantMessageListRequest(BaseModel): - thread_id: str - limit: int = -20 - order: AssistantMessageListRole = Field( - default=AssistantMessageListRole.DESC) - after: str = "" - before: str = "" -``` - -- appbuilder.assistant.threads.messages.list 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-1) - -```python -class AssistantMessageListResponse(BaseModel): - object: str = "" - data: list[AssistantMessageListResponseData] = [] - first_id: Optional[str] = "" - last_id: Optional[str] = "" - has_more: bool = False -``` -**注:**AssistantMessageListResponseData类即为AssistantMessageQueryResponse类 - -#### appbuilder.assistant.threads.messages.query - -功能:根据message_id查询指定Message的信息 - -```python -def query(self, - thread_id:str, - message_id:str) -> thread_type.AssistantMessageQueryResponse: - """ - 根据message_id查询指定Message的信息 - - Args: - thread_id (str): 线程ID - message_id (str): 消息ID - - Returns: - thread_type.AssistantMessageQueryResponse: 消息信息响应 - - Raises: - HttpError: 如果请求失败,则抛出HttpError异常。 - """ -``` - -- appbuilder.assistant.threads.messages.query 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#3-%E6%9F%A5%E8%AF%A2%E6%8C%87%E5%AE%9Amessage) - -- appbuilder.assistant.threads.messages.query 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-2) - -```python -class AssistantMessageQueryRequest(BaseModel): - thread_id: str - message_id: str -``` - -- appbuilder.assistant.threads.messages.query 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-2) - -```python -class AssistantMessageQueryResponse(BaseModel): - id: str = "" - object: str = "" - role: AssistantMessageRole = Field() - content: Optional[list[AssistantContent]] = [] - created_at: int = 0 - thread_id: str = "" - assistant_id: Optional[str] = "" - run_id: Optional[str] = "" - file_ids: Optional[list[str]] = [] -``` - -#### appbuilder.assistant.threads.messages.update - -功能:修改Message对象,允许content和file_ids字段 - -```python -def update(self, - thread_id: str, - message_id: str, - content: Optional[str], - file_ids: Optional[list[str]] = []) -> thread_type.AssistantMessageUpdateResponse: - """ - 修改Message对象,允许content和file_ids字段 - Args: - thread_id (str): 线程ID。 - message_id (str): 消息ID。 - content (Optional[str], optional): 消息内容。默认为空字符串。 - file_ids (Optional[list[str]], optional): 消息中包含的文件ID列表。默认为空列表。 - Returns: - thread_type.AssistantMessageUpdateResponse: 消息更新响应对象。 - Raises: - HttpError: 如果请求失败,则抛出HttpError异常。 - """ -``` - -- appbuilder.assistant.threads.messages.update 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#4-%E4%BF%AE%E6%94%B9message%E5%AF%B9%E8%B1%A1) - -- appbuilder.assistant.threads.messages.update 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-3) - -```python -class AssistantMessageUpdateRequest(BaseModel): - thread_id: str - message_id: str - content: Optional[str] - file_ids: Optional[list[str]] = [] -``` - -- appbuilder.assistant.threads.messages.update 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-3) - -```python -class AssistantMessageUpdateResponse(BaseModel): - id: str = "" - object: str = "" - role: AssistantMessageRole = Field(default=AssistantMessageRole.USER) - content: Optional[list[AssistantContent]] = [] - created_at: int = 0 - thread_id: str = "" - assistant_id: Optional[str] = "" - run_id: Optional[str] = "" - file_ids: Optional[list[str]] = [] -``` - -#### appbuilder.assistant.threads.messages.files - -功能:查询一个Message对象下的文件列表 - -```python -def files(self, - thread_id:str, - message_id:str, - limit:Optional[int] = 20, - order:Optional[str] = "desc", - after:Optional[str] = "", - before:Optional[str] = "") -> thread_type.AssistantMessageFilesResponse: - """ - 获取指定消息 ID 的附件信息。 - - Args: - thread_id (str): 线程 ID。 - messsages_id (str): 消息 ID。 - limit (Optional[int], optional): 返回结果的最大数量,默认为 20。 - order (Optional[str], optional): 排序方式,可选值为 "asc" 或 "desc",默认为 "desc"。 - after (Optional[str], optional): 返回结果的时间范围,只返回时间晚于该时间戳的消息附件,默认为空。 - before (Optional[str], optional): 返回结果的时间范围,只返回时间早于该时间戳的消息附件,默认为空。 - - Returns: - thread_type.AssistantMessageFilesResponse: 附件信息响应对象。 - """ -``` - -- appbuilder.assistant.threads.messages.files 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#5-%E6%9F%A5%E8%AF%A2message%E4%B8%8B%E7%9A%84%E6%96%87%E4%BB%B6%E5%88%97%E8%A1%A8) - -- appbuilder.assistant.threads.messages.files 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-4) - -```python -class AssistantMessageFilesRequest(BaseModel): - thread_id: str - message_id: str - limit: int = -20 - order : AssistantMessageListRole = Field( - default=AssistantMessageListRole.DESC) - after: str = "" - before: str = "" -``` - -- appbuilder.assistant.threads.messages.files 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/qlv0g47sk#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-4) - -```python -class AssistantMessageFilesResponse(BaseModel): - object: str = "" - data: list[AssistantContentFilesData] = [] - first_id: Optional[str] = "" - last_id: Optional[str] = "" - has_more: bool = False -``` -**注:**AssistantContentFilesData类即为AssistantFilesResponse类 - - -## appbuilder.assistant.threads.runs - -#### appbuilder.assistant.threads.runs.run - -功能:同步非流式运行方法,使用指定的assistant与thread - - -```python -def run(self, - assistant_id: str, - thread_id: Optional[str] = "", - thread: Optional[thread_type.AssistantThread] = None, - model: Optional[str] = "ERNIE-4.0-8K", - response_format: Optional[str] = "text", - instructions: Optional[str] = "", - thought_instructions: Optional[str] = "", - chat_instructions: Optional[str] = "", - tools: Optional[list[assistant_type.AssistantTool]] = [], - metadata: Optional[dict] = {}, - tool_output: Optional[thread_type.ToolOutput] = None, - model_parameters: Optional[public_type.AssistantModelParameters] = None, - user_info: Optional[public_type.AssistantUserInfo] = None, - user_loc: Optional[public_type.AssistantUserLoc] = None, - ) -> thread_type.RunResult: - """ - Args: - assistant_id (str): 助手id - thread_id (Optional[str], optional): 对话id. Defaults to "". - thread (Optional[thread_type.AssistantThread], optional): 对话信息. Defaults to None. - model (Optional[str], optional): 模型名称. Defaults to "ERNIE-4.0-8K". - response_format (Optional[str], optional): 返回格式. Defaults to "text". - instructions (Optional[str], optional): 指令信息. Defaults to "". - thought_instructions (Optional[str], optional): 思考指令信息. Defaults to "". - chat_instructions (Optional[str], optional): 闲聊指令信息. Defaults to "". - tools (Optional[list[assistant_type.AssistantTool]], optional): 工具列表. Defaults to []. - metadata (Optional[dict], optional): 元数据. Defaults to {}. - tool_output (Optional[thread_type.ToolOutput], optional): 工具输出. Defaults to None. - model_parameters (Optional[public_type.AssistantModelParameters], optional): 模型运行参数. Defaults to None. - user_info (Optional[public_type.AssistantUserInfo], optional): 用户身份信息. Defaults to None. - user_loc (Optional[public_type.AssistantUserLoc], optional): 用户定位信息. Defaults to None. - Returns: - thread_type.RunResult: 运行结果 - - Raises: - ValueError: thread_id和thread不能同时为空,model_parameters的各个参数不在规定范围内 - - Note: - 1. 如果thread_id没有传,则thread必须要传值 - 2. 如果这里不传值,thread_id查出来的历史对话,最后一条消息的role必须为user - 3. 如果这里传值,则需要保证thread_id查出来的历史对话 + 本轮追加的thread对话,最后一条消息的role必须为user - """ -``` - -- appbuilder.assistant.threads.runs.run 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#1-%E8%BF%90%E8%A1%8C) - -- appbuilder.assistant.threads..runs.run 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0) - -```python -class AssistantRunRequest(BaseModel): - thread_id: Optional[str] = Field(default="") - model: str = Field(default="ERNIE-4.0-8K") - assistant_id: Optional[str] = Field(default="") - metadata: Optional[dict] = Field(default={}, max_length=16) - response_format: ResponseFormat = Field(default=ResponseFormat.TEXT) - instructions: Optional[str] = Field(default="", max_length=4096) - thought_instructions: Optional[str] = Field(default="", max_length=4096) - chat_instructions: Optional[str] = Field(default="", max_length=4096) - stream: Optional[bool] = False - model_parameters: Optional[AssistantModelParameters] = AssistantModelParameters() - class Config: - extra = "forbid" - protected_namespaces = () - thread: Optional[AssistantThread] = None - tools: Optional[list[AssistantTool]] = [] - tool_output: Optional[ToolOutput] = None - user_info: Optional[AssistantUserInfo] = None - user_loc: Optional[AssistantUserLoc] = None -``` - -- appbuilder.assistant.threads..runs.run 的[流式响应参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E6%B5%81%E5%BC%8F%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0) - -- appbuilder.assistant.threads..runs.run 的[非流式响应参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E9%9D%9E%E6%B5%81%E5%BC%8F%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0) - -```python -class RunResult(BaseModel): - id: str = "" - object: str = "" - assistant_id: str = "" - thread_id: str = "" - - model: str = "" - instructions: str = "" - thought_instructions: str = "" - chat_instructions: str = "" - tools: Optional[list[AssistantTool]] = None - file_ids: Optional[list[str]] = None - - status: str = "" - required_action: Optional[RequiredAction] = None - last_error: Optional[LastError] = None - final_answer: Optional[FinalAnswer] = None - created_at: int = 0 - started_at: int = 0 - expired_at: int = 0 - cancelled_at: int = 0 - failed_at: int = 0 - completed_at: int = 0 -``` - -#### appbuilder.assistant.threads.runs.stream_run - -功能:流式运行方法,使用指定的assistant与thread - -```python -def stream_run(self, - assistant_id: str, - thread_id: Optional[str] = "", - thread: Optional[thread_type.AssistantThread] = None, - model: Optional[str] = "ERNIE-4.0-8K", - response_format: Optional[str] = "text", - instructions: Optional[str] = "", - thought_instructions: Optional[str] = "", - chat_instructions: Optional[str] = "", - tools: Optional[list[assistant_type.AssistantTool]] = [], - metadata: Optional[dict] = {}, - tool_output: Optional[thread_type.ToolOutput] = None, - model_parameters: Optional[public_type.AssistantModelParameters] = None, - user_info: Optional[public_type.AssistantUserInfo] = None, - user_loc: Optional[public_type.AssistantUserLoc] = None, - ) -> Union[thread_type.StreamRunStatus, thread_type.StreamRunMessage, None]: - """ - 启动一个流式运行的对话,用于处理对话流中的消息。 - - Args: - assistant_id (str): 助理ID。 - thread_id (Optional[str], optional): 线程ID,用于恢复历史对话。默认为空字符串。 - thread (Optional[thread_type.AssistantThread], optional): 线程对象,用于恢复历史对话。默认为None。 - model (Optional[str], optional): 使用的模型名称。默认为"ERNIE-4.0-8K"。 - response_format (Optional[str], optional): 响应格式,支持"text"和"json"两种格式。默认为"text"。 - instructions (Optional[str], optional): 指令文本。默认为空字符串。 - thought_instructions (Optional[str], optional): 思考指令文本。默认为空字符串。 - chat_instructions (Optional[str], optional): 聊天指令文本。默认为空字符串。 - tools (Optional[list[assistant_type.AssistantTool]], optional): 使用的工具列表。默认为空列表。 - metadata (Optional[dict], optional): 元数据字典。默认为空字典。 - tool_output (Optional[thread_type.ToolOutput], optional): 工具输出对象。默认为None。 - model_parameters (Optional[public_type.AssistantModelParameters], optional): 模型参数对象。默认为None。 - - Returns: - Union[thread_type.StreamRunStatus, thread_type.StreamRunMessage, None]: 返回一个迭代器,每次迭代返回一个处理结果对象,可能是 StreamRunStatus 或 StreamRunMessage。 - - Raises: - ValueError: 如果thread_id和thread参数同时为空,则会引发ValueError异常。 - - Note: - 1. 如果thread_id没有传,则thread必须要传值。 - 2. 如果这里不传值,thread_id查出来的历史对话,最后一条消息的role必须为user。 - 3. 如果这里传值,则需要保证thread_id查出来的历史对话 + 本轮追加的thread对话,最后一条消息的role必须为user。 - """ -``` - -#### appbuilder.assistant.threads.runs.submit_tool_outputs - -功能:在流式运行中,提交本地FunctionCall的运行结果 - -```python -def submit_tool_outputs(self, - run_id: str, - thread_id: str, - tool_outputs: Optional[list[thread_type.ToolOutput]]) -> thread_type.RunResult: - """ - 向服务端提交工具输出 - - Args: - run_id (str): 运行ID - thread_id (str): 线程ID - tool_outputs (Optional[list[thread_type.ToolOutput]]): 工具输出列表,可选 - - Returns: - thread_type.RunResult: 运行结果 - - """ -``` - -- appbuilder.assistant.threads.runs.submit_tool_outputs 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#2-%E6%B5%81%E5%BC%8F%E8%B0%83%E7%94%A8%E6%97%B6%E6%8F%90%E4%BA%A4%E5%B7%A5%E5%85%B7%E8%BE%93%E5%87%BA) - -- appbuilder.assistant.threads..runs.submit_tool_outputs 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-1) - -```python -class AssistantSubmitToolOutputsRequest(BaseModel): - thread_id: str = Field(default="", min_length=1) - run_id: str = Field(default="", min_length=1) - tool_outputs: Optional[list[ToolOutput]] = Field(default=[], min_length=1) -``` - -- appbuilder.assistant.threads..runs.submit_tool_outputs 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E5%93%8D%E5%BA%94%E8%AF%B4%E6%98%8E-1) - - -```python -class RunResult(BaseModel): - id: str = "" - object: str = "" - assistant_id: str = "" - thread_id: str = "" - - model: str = "" - instructions: str = "" - thought_instructions: str = "" - chat_instructions: str = "" - tools: Optional[list[AssistantTool]] = None - file_ids: Optional[list[str]] = None - - status: str = "" - required_action: Optional[RequiredAction] = None - last_error: Optional[LastError] = None - final_answer: Optional[FinalAnswer] = None - created_at: int = 0 - started_at: int = 0 - expired_at: int = 0 - cancelled_at: int = 0 - failed_at: int = 0 - completed_at: int = 0 -``` - -#### appbuilder.assistant.threads.runs.cancel - -功能:在流式运行过程,中断该thread.stream_run的运行 - -```python -def cancel(self, run_id: str, thread_id: str) -> thread_type.RunResult: - """ - 取消指定线程的运行 - - Args: - run_id (str): 运行的ID - thread_id (str): 线程的ID - - Returns: - thread_type.RunResult: 取消运行的结果 - - """ -``` - -- appbuilder.assistant.threads.runs.cancel 对应的 [Assistant API 链接](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#3-%E6%B5%81%E5%BC%8F%E8%B0%83%E7%94%A8%E6%97%B6%E5%8F%96%E6%B6%88%E8%BF%90%E8%A1%8C) - -- appbuilder.assistant.threads..runs.cancel 的[请求参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E8%AF%B7%E6%B1%82%E5%8F%82%E6%95%B0-2) - -```python -class AssistantRunCancelRequest(BaseModel): - thread_id: str = Field(default="", min_length=1) - run_id: str = Field(default="", min_length=1) - -``` - -- appbuilder.assistant.threads..runs.cancel 的[响应参数](https://cloud.baidu.com/doc/AppBuilder/s/dlv0g4x9m#%E5%93%8D%E5%BA%94%E5%8F%82%E6%95%B0-1) - - -```python -class RunResult(BaseModel): - id: str = "" - object: str = "" - assistant_id: str = "" - thread_id: str = "" - - model: str = "" - instructions: str = "" - thought_instructions: str = "" - chat_instructions: str = "" - tools: Optional[list[AssistantTool]] = None - file_ids: Optional[list[str]] = None - - status: str = "" - required_action: Optional[RequiredAction] = None - last_error: Optional[LastError] = None - final_answer: Optional[FinalAnswer] = None - created_at: int = 0 - started_at: int = 0 - expired_at: int = 0 - cancelled_at: int = 0 - failed_at: int = 0 - completed_at: int = 0 - -``` - - -## appbuilder.assistant公共类 - -- AssistantTool - -```python -class AssistantTool(BaseModel): - """ - 表示助理工具的模型。 - - Attributes: - type (str): 工具的类型,默认为 'function'。 - function (AssistantFunction): 功能的实例。 - """ - type: str = 'function' - function: AssistantFunction = None -``` - -- AssistantContent - -```python -class AssistantContent(BaseModel): - """ - 表示助理内容的模型。 - - Attributes: - type (str): 内容类型,默认为 "text"。 - text (Optional[AssistantText]): 文本内容的实例,默认为None。 - """ - type: str = "text" - text: Optional[AssistantText] = None -``` - -- AssistantText - -```python -class AssistantText(BaseModel): - """ - 表示助理文本内容的模型。 - - Attributes: - value (str): 文本的值。 - annotations (Optional[list[str]]): 文本的注解列表,默认为None。 - """ - value: str = "" - annotations: Optional[list[str]] = None -``` - -- ResponseFormat - -```python -class ResponseFormat(str, Enum): - """ - 表示响应格式的枚举类型。 - - Values: - TEXT: 文本格式。 - JSON_OBJECT: JSON对象格式。 - """ - TEXT = 'text' - JSON_OBJECT = 'json_object' -``` - -- AssistantModelParameters - - AssistantThoughtParameters - - AssistantChatParameters - -```python -class AssistantModelParameters(BaseModel): - """ - 表示助理模型的参数的模型。 - Attributes: - chat_parameters (Optional[AssistantChatParameters]): 聊天参数的实例,默认为None。 - thought_parameters (Optional[AssistantThoughtParameters]): 思考参数的实例,默认为None。 - """ - chat_parameters: Optional[AssistantChatParameters] = AssistantChatParameters() - thought_parameters: Optional[AssistantThoughtParameters] = AssistantThoughtParameters() - - -class AssistantThoughtParameters(BaseModel): - """ - 表示助理思考参数的模型。 - Attributes: - temperature (Optional[float]): 采样温度,较高的数值会使输出更随机。取值范围严格大于0,小于等于1,默认为0.01。 - top_p (Optional[float]): top_p,核采样方法的概率阈值,影响输出文本的多样性,较高的数值会使输出的文本更加多样性。取值范围大于等于0,小于等于1,默认为0。 - penalty_score (Optional[float]): 惩罚分数,减少重复生成的现象,值越大表示惩罚越大。取值范围大于等于1,小于等于2,默认为1.0。 - """ - temperature: Optional[float] = 0.01 - top_p: Optional[float] = 0 - penalty_score: Optional[float] = 1.0 - - -class AssistantChatParameters(BaseModel): - """ - 表示助理聊天参数的模型。 - Attributes: - temperature (Optional[float]): 采样温度,较高的数值会使输出更随机。取值范围严格大于0,小于等于1,默认为0.8。 - top_p (Optional[float]): top_p,核采样方法的概率阈值,影响输出文本的多样性,较高的数值会使输出的文本更加多样性。取值范围大于等于0,小于等于1,默认为0.8。 - penalty_score (Optional[float]): 惩罚分数,减少重复生成的现象,值越大表示惩罚越大。取值范围大于等于1,小于等于2,默认为1.0。 - """ - temperature: Optional[float] = 0.8 - top_p: Optional[float] = 0.8 - penalty_score: Optional[float] = 1.0 -``` - - --AssistantUserInfo - -```python -class AssistantUserInfo(BaseModel): - """ - 表示用户信息。 - Attributes: - id (Optional[str]): 用户ID,默认为None。 - name (Optional[str]): 用户名称,默认为None。 - nickname (Optional[str]): 用户昵称,默认为None。 - watermark (Optional[str]): 用户水印,默认为None。 - intro (Optional[str]): 用户简介,默认为None。 - baidu_id (Optional[str]): 用户百度ID,默认为None。 - """ - id:Optional[str] = None - name:Optional[str] = None - nickname:Optional[str] = None - watermark:Optional[str] = None - intro:Optional[str] = None - baidu_id: Optional[str] = None -``` - -- AssistantUserLoc - -```python -class AssistantUserLoc(BaseModel): - """ - 表示用户位置信息。 - Attributes: - loc (Optional[str]): 用户当前的地理位置信息,使用json格式描述 - uip (Optional[str]): 用户的ipv4地址 - uipv6 (Optional[str]): 用户的ipv6地址 - """ - loc:Optional[str] = None - uip:Optional[str] = None - uipv6:Optional[str] = None - -``` \ No newline at end of file diff --git a/docs/basic_module/dataset.md b/docs/basic_module/dataset.md deleted file mode 100644 index 9bf7304dc..000000000 --- a/docs/basic_module/dataset.md +++ /dev/null @@ -1,231 +0,0 @@ -# 知识库组件(Dataset)(即将下线) - -## 简介 - -知识库组件(Dataset)是对线上知识库操作的组件,可以通过SDK实现创建知识库、添加知识文档、查询知识库文档、删除知识文档等操作,可在平台console中查看结果。 - -### 功能介绍 - -对console端知识库进行操作,可以通过SDK实现创建知识库、添加知识文档、查询知识库文档、删除知识文档等操作,可在平台console中查看结果。 - -### 特色优势 - -和console端知识库操作一致,可实现快速创建、查询、删除等操作。 - -### 应用场景 - -通过SDK代码实现console端知识库操作。 - -## 基本用法 - -### Python - -#### 组件初始化参数 - -| 参数名称 | 参数类型 | 描述 | 示例值 | -|------------|--------|---------|------------| -| dataset_id | string | 线上数据集ID | "正确的数据集ID" | - -#### 创建知识库调用参数 - -| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | -|--------------|--------|------|--------|--------------| -| dataset_name | String | 是 | 知识库的名字 | "my_dataset" | - -#### 创建知识库响应参数 - -| 参数名称 | 参数类型 | 描述 | 示例值 | -|--------|---------|-----------|-----------------------------------------------------------------------------------| -| result | Dataset | dataset实例 | Dataset(dataset_id=2dae2091-99dc-47dd-8600-ff7c4b3ed93d, dataset_name=my_dataset) | - -响应示例: - -``` -Dataset(dataset_id=2dae2091-99dc-47dd-8600-ff7c4b3ed93d, dataset_name=my_dataset) -``` - -#### 添加文档调用参数 - -| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | -|------------------------|--------------|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------| -| file_paths | List[String] | 是 | 文档路径列表 | ["./path1", "./path2"] | -| is_custom_process_rule | bool | 否 | 是否使用自定义文档处理策略 | True | -| custom_process_rule | Dict | 否 | 自定义文档处理策略,在is_custom_process_rule为True时需要设置,separators文本切分符,支持这几种[ , , "?", , "!", "?", "……"],target_length是文本切片片段长度,取值范围[300, 800],overlap_rate是文本片段重叠率,取值范围[0, 0.3] | {"separators":["。", ","], "target_length": 300, "overlap_rate": 0.3} | -| is_enhanced | bool | 否 | 是否开启知识增强,在检索问答时通过知识点来索引到对应的切片,大模型根据切片内容生成答案,开启知识增强会调用大模型抽取更加丰富的知识点,增加切片的召回率 | False | - -#### 添加文档响应参数 - -| 参数名称 | 参数类型 | 描述 | 示例值 | -|--------|----------------------|----------|-------------------------------------------------------------------------------------------------------------------------------| -| result | AddDocumentsResponse | 添加文档响应信息 | AddDocumentsResponse(dataset_id='4437e170-876a-4634-9469-2ff6b76584e7' document_ids=['a279f3f2-e779-45c8-85ba-19f63c1c1316']) | - -响应示例: - -``` -AddDocumentsResponse(dataset_id='4437e170-876a-4634-9469-2ff6b76584e7' document_ids=['a279f3f2-e779-45c8-85ba-19f63c1c1316']) -``` - -#### 获取文档列表调用参数 - -| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | -|---------|--------|------|----------|------| -| page | int | 是 | 页码,从1开始 | 1 | -| limit | int | 是 | 每页包含文档数量 | 10 | -| keyword | string | 否 | 关键词匹配 | "ai" | - -#### 获取文档列表响应参数 - -| 参数名称 | 参数类型 | 描述 | 示例值 | -|--------|----------------------|--------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| result | DocumentListResponse | 文档列表对象 | DocumentListResponse(data=[FileInfo(id='a279f3f2-e779-45c8-85ba-19f63c1c1316', name='test.pdf', created_at=1706515108, indexing_status='parsing', error=None, enabled=True, disabled_at=None, disabled_by=None, display_status='处理中', word_count=0)], has_more=False, limit=10, total=1, page=1) | - -响应示例: - -``` -DocumentListResponse(data=[FileInfo(id='a279f3f2-e779-45c8-85ba-19f63c1c1316', name='test.pdf', created_at=1706515108, indexing_status='parsing', error=None, enabled=True, disabled_at=None, disabled_by=None, display_status='处理中', word_count=0)], has_more=False, limit=10, total=1, page=1) -``` - -#### 删除文档调用参数 - -| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | -|--------------|--------------|------|--------|----------------| -| document_ids | List[String] | 是 | 文档id列表 | ["1234567890"] | - -#### 删除文档响应参数 - -无 - -#### 示例代码 - -下面是示例代码,相应的操作结果可在平台console中查看,与console端同步 - -```python -import appbuilder -import os -import requests - -# 请前往千帆AppBuilder官网创建密钥,流程详见:https://cloud.baidu.com/doc/AppBuilder/s/Olq6grrt6#1%E3%80%81%E5%88%9B%E5%BB%BA%E5%AF%86%E9%92%A5 -# 设置环境变量 -os.environ["APPBUILDER_TOKEN"] = "..." - -# 初始化已有线上知识库,dataset_id 可在平台console中查看获取,详情可在下方初始化参数部分查看 -dataset_id = "..." -dataset = appbuilder.console.Dataset(dataset_id) -# 或创建全新知识库 -dataset = appbuilder.console.Dataset.create_dataset("my_dataset") - -file_url = "https://agi-dev-platform-bos.bj.bcebos.com/ut_appbuilder/test.pdf?authorization=bce-auth-v1/e464e6f951124fdbb2410c590ef9ed2f/2024-01-25T12%3A56%3A15Z/-1/host/b54178fea9be115eafa2a8589aeadfcfaeba20d726f434f871741d4a6cb0c70d" -file_data = requests.get(file_url).content -file_path = "./test.pdf" # 待解析的文件路径 -with open(file_path, "wb") as f: - f.write(file_data) - -# 上传文档到知识库 -file_paths = ["./test.pdf"] -document_infos = dataset.add_documents(file_paths) -print(document_infos) - -# 获取第一页的文档列表, 每页10条 -document_list = dataset.get_documents(1, 10) -print(document_list) - -# 删除一个文档 -document_ids = [document_infos.document_ids[0]] -dataset.delete_documents(document_ids) -``` - -### Java - -#### 组件初始化参数 - -| 参数名称 | 参数类型 | 是否必须 | 描述 | 示例值 | -|--------|-----------|------|---------|-----| -| datasetId | String | 否|线上数据集ID,可通过createDataset()创建数据集 | "正确的数据集ID" | - -#### 示例代码 -```java -class DatasetDemo { - public static void main(String[] args) throws IOException, AppBuilderServerException { - // 填写自己的APPBUILDER_TOKEN - System.setProperty("APPBUILDER_TOKEN", "填写秘钥"); - - Dataset ds = new Dataset(); - // 创建数据集 - String datasetId = ds.createDataset("java创建数据集"); - System.out.println("datasetId: " + datasetId); - - // 上传文档,填写正确的文件路径 - String filePath = "src/test/java/中秋节.docx"; - String[] documentIds = ds.addDocuments(new ArrayList<>(Collections.singletonList(filePath)), false, null, false); - System.out.println("documentIds: " + Arrays.toString(documentIds)); - - // 获取文档列表 - DocumentListResponse resp = ds.getDocumentList(1, 20, ""); - System.out.println("document total num: " + resp.getResult().getTotal()); - for (DocumentListData data : resp.getResult().getData()) { - System.out.println("documentList: " + data.getName()); - } - // 删除文档 - ds.deleteDocuments(documentIds); - } -} -``` - -### Go - -#### 组件初始化参数 - -| 参数名称 | 参数类型 | 描述 | 示例值 | -|--------|-----------|---------|-----| -| config | SDKConfig | SDK配置信息 | | - -#### 示例代码 - -```Go -package main - -import ( - "fmt" - "os" - - "github.com/baidubce/app-builder/go/appbuilder" - -) - -func main() { - // 设置APPBUILDER_TOKEN、GATEWAY_URL环境变量 - os.Setenv("APPBUILDER_TOKEN", "请设置正确的应用密钥") - // 默认可不填,默认值是 https://appbuilder.baidu.com - os.Setenv("GATEWAY_URL", "") - config, err := appbuilder.NewSDKConfig("", "") - if err != nil { - fmt.Println("new config failed: ", err) - return - } - // 初始化dataset实例 - dataset, _ := appbuilder.NewDataset(config) - // 创建dataset - datasetID, err := dataset.Create("name") - if err != nil { - fmt.Println("create dataset failed: ", err) - return - } - // 上传文档 - documentID, err := dataset.UploadLocalFile(datasetID, "/Users/zhangxiaoyu15/Desktop/cv.pdf") - if err != nil { - fmt.Println("upload file failed: ", err) - return - } - // 获取数据集下第一页不超过10篇文档 - _, err = dataset.ListDocument(datasetID, 1, 10, "") - if err != nil { - fmt.Println("list document failed: ", err) - return - } - // 删除文档 - if err := dataset.DeleteDocument(datasetID, documentID); err != nil { - fmt.Println("delete document failed: ", err) - return - } -} -``` \ No newline at end of file diff --git a/docs/service/README.md b/docs/service/README.md deleted file mode 100644 index bd70db831..000000000 --- a/docs/service/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# 服务化部署 - -本文档目录包含以下内容 - -- [基于Flask的API访问](https://github.com/baidubce/app-builder/blob/master/docs/service/flask.md) -- [基于Chainlit的交互式前端页面](https://github.com/baidubce/app-builder/blob/master/docs/service/chainlit.md) -- [公有云部署](https://github.com/baidubce/app-builder/blob/master/docs/service/cloud.md) \ No newline at end of file diff --git a/docs/sphinx_md/appbuilder.core.assistant.threads.messages.md b/docs/sphinx_md/appbuilder.core.assistant.threads.messages.md deleted file mode 100644 index c9108fe23..000000000 --- a/docs/sphinx_md/appbuilder.core.assistant.threads.messages.md +++ /dev/null @@ -1,88 +0,0 @@ -# appbuilder.core.assistant.threads.messages package - -## Submodules - -## appbuilder.core.assistant.threads.messages.messages module - -### *class* appbuilder.core.assistant.threads.messages.messages.Messages - -基类:`object` - -#### create(thread_id: str, content: str, role: str | None = 'user', file_ids: list[str] | None = []) → AssistantMessageCreateResponse - -创建一条消息。 - -* **参数:** - * **thread_id** (*str*) – 线程ID。 - * **content** (*str*) – 消息内容。 - * **role** (*Optional* *[**str* *]* *,* *optional*) – 角色,可选值为”user”或”assistant”。默认为”user”。 - * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) – 消息中包含的文件ID列表。默认为空列表。 -* **返回:** - 消息创建响应对象。 -* **返回类型:** - thread_type.AssistantMessageCreateResponse -* **抛出:** - **HttpError** – 如果请求失败,则抛出HttpError异常。 - -#### files(thread_id: str, message_id: str, limit: int | None = 20, order: str | None = 'desc', after: str | None = '', before: str | None = '') → AssistantMessageFilesResponse - -获取指定消息 ID 的附件信息。 - -* **参数:** - * **thread_id** (*str*) – 线程 ID。 - * **messsages_id** (*str*) – 消息 ID。 - * **limit** (*Optional* *[**int* *]* *,* *optional*) – 返回结果的最大数量,默认为 20。 - * **order** (*Optional* *[**str* *]* *,* *optional*) – 排序方式,可选值为 “asc” 或 “desc”,默认为 “desc”。 - * **after** (*Optional* *[**str* *]* *,* *optional*) – 返回结果的时间范围,只返回时间晚于该时间戳的消息附件,默认为空。 - * **before** (*Optional* *[**str* *]* *,* *optional*) – 返回结果的时间范围,只返回时间早于该时间戳的消息附件,默认为空。 -* **返回:** - 附件信息响应对象。 -* **返回类型:** - thread_type.AssistantMessageFilesResponse - -#### list(thread_id: str, limit: int = 20, order: str = 'desc', after: str = '', before: str = '') → AssistantMessageListResponse - -查询指定Thread下的Message列表 - -* **参数:** - * **thread_id** (*str*) – 线程ID。 - * **limit** (*int* *,* *optional*) – 返回消息的最大数量,取值范围为[1,20]。默认为-20。 - * **order** (*Optional* *[**str* *]* *,* *optional*) – 排序方式,可选值为”asc”或”desc”。默认为”desc”。 - * **after** (*Optional* *[**str* *]* *,* *optional*) – 查询指定message_id之后创建的Message。 - * **before** (*Optional* *[**str* *]* *,* *optional*) – 查询指定message_id之前创建的Message -* **返回:** - 查询thread下的message列表响应对象。 -* **返回类型:** - thread_type.AssistantMessageListResponse -* **抛出:** - **HttpError** – 如果请求失败,则抛出HttpError异常。 - -#### query(thread_id: str, message_id: str) → AssistantMessageQueryResponse - -根据message_id查询指定Message的信息 - -* **参数:** - * **thread_id** (*str*) – 线程ID - * **message_id** (*str*) – 消息ID -* **返回:** - 消息信息响应 -* **返回类型:** - thread_type.AssistantMessageQueryResponse -* **抛出:** - **HttpError** – 如果请求失败,则抛出HttpError异常。 - -#### update(thread_id: str, message_id: str, content: str | None, file_ids: list[str] | None = []) → AssistantMessageUpdateResponse - -修改Message对象,允许content和file_ids字段 - -* **参数:** - * **thread_id** (*str*) – 线程ID。 - * **message_id** (*str*) – 消息ID。 - * **content** (*Optional* *[**str* *]* *,* *optional*) – 消息内容。默认为空字符串。 - * **file_ids** (*Optional* *[**list* *[**str* *]* *]* *,* *optional*) – 消息中包含的文件ID列表。默认为空列表。 -* **返回:** - 消息更新响应对象。 -* **返回类型:** - thread_type.AssistantMessageUpdateResponse -* **抛出:** - **HttpError** – 如果请求失败,则抛出HttpError异常。 diff --git a/docs/trace/README.md b/docs/trace/README.md deleted file mode 100644 index 9d08343a1..000000000 --- a/docs/trace/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Appbuilder Trace 文档 - -本文档目录包含以下内容 - -- [Appbuilder Trace跟踪功能基本用法](https://github.com/baidubce/app-builder/blob/master/docs/trace/basic.md) -- [Phoneix可视化软件的进阶用法](https://github.com/baidubce/app-builder/blob/master/docs/trace/phoenix_method.md) -- [Appbuilder Trace跟踪功能示例](https://github.com/baidubce/app-builder/blob/master/cookbooks/appbuilder_trace/trace.ipynb) \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..50be6ebf5 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,123 @@ +site_name: Appbuilder-SDK + +# 网站页面结构和导航配置 +nav: + - 首页: README.md + - 快速上手: + - 开始你的第一个AI原生应用: + - 安装: QuickStart/StartFirstAINativeApplication/install.md + - 快速开始: QuickStart/StartFirstAINativeApplication/README.md + - 产业实践应用范例: + - SDK使用示例: QuickStart/ExamplesOfIndustrialPracticeApplications/README.md + - SDK当前支持的编程语言: QuickStart/CurrentlySupportedProgrammingLanguages/README.md + - 基础: + - 模型: + - 获取模型列表: BasisModule/Model/get_model_list.md + - 组件: + - 语义匹配(Matching): BasisModule/Components/matching/README.md + - 表格文字识别 (TableOCR): BasisModule/Components/table_ocr/README.md + - 文件生成PPT(PPTGenerationFromFile): BasisModule/Components/ppt_generation_from_file/README.md + - GBI 选表: BasisModule/Components/gbi/select_table/README.md + - GBI 问表: BasisModule/Components/gbi/nl2sql/README.md + - Excel转图表(Excel2Figure): BasisModule/Components/excel2figure/README.md + - 向量计算(Embedding): BasisModule/Components/embeddings/README.md + - 论文生成PPT(PPTGenerationFromPaper): BasisModule/Components/ppt_generation_from_paper/README.md + - 地标识别(LandmarkRecognition): BasisModule/Components/landmark_recognize/README.md + - 手写文字识别 (HandwriteOCR): BasisModule/Components/handwrite_ocr/README.md + - 通用文字识别-高精度版(GeneralOCR): BasisModule/Components/general_ocr/README.md + - 文本翻译-通用版(Translation): BasisModule/Components/translate/README.md + - 百度搜索RAG(deprecate): BasisModule/Components/rag_with_baidu_search/README.md + - 文档切分(DocSplitter): BasisModule/Components/doc_splitter/README.md + - 表格抽取组件(ExtractTableFromDoc): BasisModule/Components/extract_table/README.md + - 向量检索: BasisModule/Components/retriever/README.md + - 文本精排(Reranker): BasisModule/Components/retriever/reranker/README.md + - 向量检索-VectorDB(BaiduVectorDBRetriever): BasisModule/Components/retriever/baidu_vdb/README.md + - 向量检索-BES(BaiduElasticSearchRetriever): BasisModule/Components/retriever/bes/README.md + - 通用物体和场景识别-高级版(ObjectRecognition): BasisModule/Components/object_recognize/README.md + - 文档解析(DocParser): BasisModule/Components/doc_parser/README.md + - 文档格式转换 (DocFormatConverter): BasisModule/Components/doc_format_converter/README.md + - 身份证混贴识别(MixCardOCR): BasisModule/Components/mix_card_ocr/README.md + - 短语音识别-极速版 (Automatic Speech Recognition): BasisModule/Components/asr/README.md + - 文生图 (Text2Image): BasisModule/Components/text_to_image/README.md + - 长文档内容理解(DocumentUnderstanding): BasisModule/Components/document_understanding/README.md + - 短文本在线合成(TTS): BasisModule/Components/tts/README.md + - 植物识别(PlantRecognition): BasisModule/Components/plant_recognize/README.md + - 树图 (TreeMind): BasisModule/Components/tree_mind/README.md + - 菜品识别(DishRecognition): BasisModule/Components/dish_recognize/README.md + - 指令生成PPT(PPTGenerationFromInstruction): BasisModule/Components/ppt_generation_from_instruction/README.md + - 动物识别 (AnimalRecognition): BasisModule/Components/animal_recognize/README.md + - 百度搜索RAG_PRO: BasisModule/Components/rag_with_baidu_search_pro/README.md + - 二维码识别 (QRcodeOCR): BasisModule/Components/qrcode_ocr/README.md + - 复杂Query判定(IsComplexQuery): BasisModule/Components/llms/is_complex_query/README.md + - 空应用(Playground): BasisModule/Components/llms/playground/README.md + - 口语化Query生成(Oral Query Generation): BasisModule/Components/llms/oral_query_generation/README.md + - 阅读理解问答(MRC): BasisModule/Components/llms/mrc/README.md + - 多轮改写 (QueryRewrite): BasisModule/Components/llms/query_rewrite/README.md + - 风格写作(StyleWriting): BasisModule/Components/llms/style_writing/README.md + - 复杂Query分解(QueryDecomposition): BasisModule/Components/llms/query_decomposition/README.md + - 会话小结(DialogSummary): BasisModule/Components/llms/dialog_summary/README.md + - 幻觉检测(Hallucination Detection): BasisModule/Components/llms/hallucination_detection/README.md + - 相似问生成(SimilarQuestion): BasisModule/Components/llms/similar_question/README.md + - 标签抽取(TagExtraction): BasisModule/Components/llms/tag_extraction/README.md + - 问答对挖掘(QAPairMining): BasisModule/Components/llms/qa_pair_mining/README.md + - 风格转写 (StyleRewrite): BasisModule/Components/llms/style_rewrite/README.md + - 自然语言转pandas (nl2pandas): BasisModule/Components/llms/nl2pandas/README.md + - 文档矫正增强 (DocCropEnhance): BasisModule/Components/doc_crop_enhance/README.md + - 图像内容理解 (ImageUnderstand): BasisModule/Components/image_understand/README.md + - 监控: + - TRACE基础功能: BasisModule/Trace/basic.md + - TRACE拓展功能: BasisModule/Trace/phoenix_method.md + - 部署: + - 交互式前端部署: BasisModule/Deployment/AgentChainlit.md + - 公有云部署: BasisModule/Deployment/cloud.md + - API 访问: BasisModule/Deployment/flask.md + - AgentRuntime: BasisModule/Deployment/agentruntime.md + - UserSession: BasisModule/Deployment/usersession.md + - 平台: + - 应用: + - AppBuilderClient组件: BasisModule/Platform/Application/appbuilder_client.md + - 获取AppBuilder已发布的应用列表: BasisModule/Platform/Application/get_app_list.md + - 知识库: + - 知识库组件: BasisModule/Platform/KnowledgeBase/knowledgebase.md + - 自定义组件: + - 基础能力组件: BasisModule/Platform/CustomComponents/components.md + - 应用: + # - Agent: + # - 基础知识: + # - 使用官方组件: + # - ToolCall: + # - ToolChoice: + # - 使用异步和流式加速客户端调用: + - RAG: + - 基础知识: Application/RAG/BasicKnowledge/rag.md + # - 知识库管理: + # - Reference信息处理: + # - Workflow: + # - 基础知识: + # - 从零使用Workflow组装一个RAG应用: + # - 从零使用Workflow组装一个Agent应用: + - 开发者指南: + - 如何贡献代码: DevelopGuide/HowToContributeCode/README.md + - 版本升级日志: DevelopGuide/ChangeLog/changelog.md + # - 常见问题FAQ: + # - 日志管理: + # - 错误信息: + - 环境参数: DevelopGuide/EnvironmentalParameters/env.md + - API Reference: + - Python API Reference: API-Reference/Python/PythonAPI.md + # - Java API Reference: + # - Go API Reference: + +# 主题设置 +theme: + name: material + +# 插件列表 +plugins: + - search + +# 其他配置 +markdown_extensions: + - codehilite + - toc: + permalink: true \ No newline at end of file