promptflow.contracts.tool 模块#
- class promptflow.contracts.tool.ConnectionType#
基础类:
object该类提供了与连接类型交互的方法。
- static get_connection_class(type_name: str) Optional[type]#
通过类型名称获取连接类型。
- Parameters:
type_name (str) – 连接的类型名称
- Returns:
连接类型
- Return type:
类型
- static is_connection_class_name(type_name: str) bool#
检查给定的类型名称是否为连接类型。
- Parameters:
type_name (str) – 连接的类型名称
- Returns:
给定的类型名称是否为连接类型
- Return type:
布尔
- static is_connection_value(val: Any) bool#
检查给定值是否为连接。
- Parameters:
val (Any) – 要检查的值
- Returns:
给定的值是否为连接
- Return type:
布尔
- static is_custom_strong_type(val: Any) bool#
检查给定值是否为自定义强类型连接。
- Parameters:
val (Any) – 要检查的值
- Returns:
给定值是否为自定义强类型
- Return type:
布尔
- static serialize_conn(connection: Any) dict#
序列化给定的连接。
- Parameters:
connection (Any) – 要序列化的连接
- Returns:
连接的字典表示。
- Return type:
字典
- class promptflow.contracts.tool.InputDefinition(type: List[ValueType], default: Optional[str] = None, description: Optional[str] = None, enum: Optional[List[str]] = None, custom_type: Optional[List[str]] = None)#
基础类:
object输入定义。
- custom_type: List[str] = None#
- default: str = None#
- description: str = None#
- static deserialize(data: dict) InputDefinition#
将字典反序列化为输入定义。
- Parameters:
data (dict) – 需要反序列化的字典
- Returns:
反序列化的输入定义
- Return type:
- enum: List[str] = None#
- serialize() dict#
将输入定义序列化为字典。
- Returns:
序列化的输入定义
- Return type:
字典
- to_flow_input_definition()#
用于急切流将输入定义转换为流输入定义。
- class promptflow.contracts.tool.OutputDefinition(type: List[ValueType], description: str = '', is_property: bool = False)#
基础类:
object输出定义。
- description: str = ''#
- static deserialize(data: dict) OutputDefinition#
将字典反序列化为输出定义。
- Parameters:
data (dict) – 需要反序列化的字典
- Returns:
反序列化的输出定义
- Return type:
- is_property: bool = False#
- serialize() dict#
将输出定义序列化为字典。
- Returns:
序列化输出定义
- Return type:
字典
- class promptflow.contracts.tool.Tool(name: str, type: ToolType, inputs: Dict[str, InputDefinition], outputs: Optional[Dict[str, OutputDefinition]] = None, description: Optional[str] = None, module: Optional[str] = None, class_name: Optional[str] = None, source: Optional[str] = None, code: Optional[str] = None, function: Optional[str] = None, connection_type: Optional[List[str]] = None, is_builtin: Optional[bool] = None, stage: Optional[str] = None, enable_kwargs: Optional[bool] = False, deprecated_tools: Optional[List[str]] = None)#
基础类:
object工具定义。
- Parameters:
name (str) – 工具的名称
type (ToolType) – 工具的类型
inputs (Dict[str, InputDefinition]) – 工具的输入
outputs (可选[Dict[str, OutputDefinition]]) – 工具的输出
描述 (可选[str]) – 工具的说明
module (可选[str]) – 工具的模块
class_name (可选[str]) – 工具的类名
source (可选[str]) – 工具的来源
code (可选[str]) – 工具的代码
function (可选[str]) – 工具的功能
connection_type (可选[列表[字符串]]) – 工具的连接类型
is_builtin (可选[bool]) – 该工具是否为内置工具
stage (可选[str]) – 工具的阶段
enable_kwargs (Optional[bool]) – 是否启用kwargs,仅适用于客户Python工具
deprecated_tools (可选[列表[字符串]]) – 映射到当前工具ID的旧工具ID列表。
- class_name: Optional[str] = None#
- code: Optional[str] = None#
- connection_type: Optional[List[str]] = None#
- deprecated_tools: Optional[List[str]] = None#
- description: Optional[str] = None#
- static deserialize(data: dict) 工具#
将字典反序列化为工具。
- Parameters:
data (dict) – 需要反序列化的字典
- Returns:
反序列化的工具
- Return type:
- enable_kwargs: Optional[bool] = False#
- function: Optional[str] = None#
- inputs: Dict[str, InputDefinition]#
- is_builtin: Optional[bool] = None#
- module: Optional[str] = None#
- name: str#
- outputs: Optional[Dict[str, OutputDefinition]] = None#
- serialize() dict#
序列化工具转换为字典并跳过None字段。
- Returns:
序列化工具
- Return type:
字典
- source: Optional[str] = None#
- stage: Optional[str] = None#
- class promptflow.contracts.tool.ToolFuncCallScenario(value)#
基础:
str,Enum一个枚举。
- DYNAMIC_LIST = 'dynamic_list'#
- GENERATED_BY = 'generated_by'#
- REVERSE_GENERATED_BY = 'reverse_generated_by'#
- class promptflow.contracts.tool.ToolType(value)#
基础:
str,Enum工具类型。
- CSHARP = 'csharp'#
- CUSTOM_LLM = 'custom_llm'#
- LLM = 'llm'#
- PROMPT = 'prompt'#
- PYTHON = 'python'#
- class promptflow.contracts.tool.ValueType(value)#
基础:
str,Enum值类型。
- ASSISTANT_DEFINITION = 'assistant_definition'#
- BOOL = 'bool'#
- DOUBLE = 'double'#
- FILE_PATH = 'file_path'#
- IMAGE = 'image'#
- INT = 'int'#
- LIST = 'list'#
- OBJECT = 'object'#
- PROMPT_TEMPLATE = 'prompt_template'#
- SECRET = 'secret'#
- STRING = 'string'#