promptflow.contracts.tool 模块#

class promptflow.contracts.tool.ConnectionType#

基类:object

此类别提供与连接类型交互的方法。

static get_connection_class(type_name: str) Optional[type]#

按类型名称获取连接类型。

参数:

type_name (str) – 连接的类型名称

返回:

连接类型

返回类型:

类型

static is_connection_class_name(type_name: str) bool#

检查给定的类型名称是否为连接类型。

参数:

type_name (str) – 连接的类型名称

返回:

给定的类型名称是否为连接类型

返回类型:

bool

static is_connection_value(val: Any) bool#

检查给定值是否为连接。

参数:

val (Any) – 要检查的值

返回:

给定值是否为连接

返回类型:

bool

static is_custom_strong_type(val: Any) bool#

检查给定值是否为自定义强类型连接。

参数:

val (Any) – 要检查的值

返回:

给定值是否为自定义强类型

返回类型:

bool

static serialize_conn(connection: Any) dict#

序列化给定的连接。

参数:

connection (Any) – 要序列化的连接

返回:

连接的字典表示。

返回类型:

dict

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#

将字典反序列化为输入定义。

参数:

data (dict) – 需要反序列化的字典

返回:

反序列化的输入定义

返回类型:

InputDefinition

enum: List[str] = None#
serialize() dict#

将输入定义序列化为字典。

返回:

序列化的输入定义

返回类型:

dict

to_flow_input_definition()#

用于 eager flow 将输入定义转换为 flow 输入定义。

type: List[ValueType]#
class promptflow.contracts.tool.OutputDefinition(type: List[ValueType], description: str = '', is_property: bool = False)#

基类:object

输出定义。

description: str = ''#
static deserialize(data: dict) OutputDefinition#

将字典反序列化为输出定义。

参数:

data (dict) – 需要反序列化的字典

返回:

反序列化的输出定义

返回类型:

OutputDefinition

is_property: bool = False#
serialize() dict#

将输出定义序列化为字典。

返回:

序列化的输出定义

返回类型:

dict

type: List[ValueType]#
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

工具定义。

参数:
  • name (str) – 工具的名称

  • type (ToolType) – 工具的类型

  • inputs (Dict[str, InputDefinition]) – 工具的输入

  • outputs (Optional[Dict[str, OutputDefinition]]) – 工具的输出

  • description (Optional[str]) – 工具的描述

  • module (Optional[str]) – 工具的模块

  • class_name (Optional[str]) – 工具的类名

  • source (Optional[str]) – 工具的源

  • code (Optional[str]) – 工具的代码

  • function (Optional[str]) – 工具的函数

  • connection_type (Optional[List[str]]) – 工具的连接类型

  • is_builtin (Optional[bool]) – 工具是否为内置工具

  • stage (Optional[str]) – 工具的阶段

  • enable_kwargs (Optional[bool]) – 是否启用 kwargs,仅适用于客户 Python 工具

  • deprecated_tools (Optional[List[str]]) – 映射到当前工具 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) Tool#

将字典反序列化为工具。

参数:

data (dict) – 需要反序列化的字典

返回:

反序列化的工具

返回类型:

工具

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 字段。

返回:

序列化的工具

返回类型:

dict

source: Optional[str] = None#
stage: Optional[str] =None#
type: ToolType#
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'#
static from_type(t: type) ValueType#

按类型获取 ValueType

参数:

t (type) – 需要获取其 ValueType 的类型

返回:

给定类型的 ValueType

返回类型:

ValueType

static from_value(t: Any) ValueType#

按值获取 ValueType

参数:

t (Any) – 需要获取其 ValueType 的值

返回:

给定值的 ValueType

返回类型:

ValueType

parse(v: Any) Any#

将值解析为给定的 ValueType

参数:

v (Any) – 需要解析为给定 ValueType 的值

返回:

解析后的值

返回类型:

Any