promptflow.operations 模块#

class promptflow.operations.ConnectionOperations(**kwargs)#

基础类: TelemetryMixin

连接操作。

create_or_update(connection: Type[_Connection], **kwargs)#

创建或更新连接。

Parameters:

connection (_Connection) – 要创建或更新的运行对象。

delete(name: str) None#

删除一个连接实体。

Parameters:

name (str) – 连接的名称。

get(name: str, **kwargs) _Connection#

获取一个连接实体。

Parameters:

name (str) – 连接的名称。

Returns:

从数据库中检索到的连接对象。

Return type:

_连接

list(max_results: int = 50, all_results: bool = False) List[_Connection]#

列出连接。

Parameters:
  • max_results (int) – 返回的最大结果数。

  • all_results (bool) – 返回所有结果。

Returns:

运行对象列表。

Return type:

列表[_Connection]

class promptflow.operations.FlowOperations(client, **kwargs)#

基础:TelemetryMixin

流程操作。

build(flow: Union[str, PathLike], *, output: Union[str, PathLike], format: str = 'docker', variant: str = None, **kwargs)#

构建流向其他格式。

Parameters:
  • flow (Union[str, PathLike]) – 导出流程目录或流程DAG的路径

  • format (str) – 导出格式,目前仅支持“docker”和“executable”

  • output (Union[str, PathLike]) – 输出目录

  • variant (str) – 节点变体,格式为{node_name}.{variant_name},如果未指定,将使用默认变体。

Returns:

无返回值

Return type:

infer_signature(entry: Union[Callable, FlexFlow, Flow, Prompty], **kwargs) dict#

提取可调用类、函数或流程的签名。签名表示使用可调用作为入口的灵活流程的端口。

For flex flow:

如果entry是一个可调用函数,签名包括输入和输出。 如果entry是一个可调用类,签名包括输入、输出和初始化。

For prompty flow:

签名包括输入、输出和初始化。初始化指的是PromptyModelConfiguration。

For dag flow:

签名包括输入和输出。

每个端口的类型是从可调用对象的类型提示中推断出来的,并遵循json schema的类型系统。 由于给定的流程在批处理运行和服务中接受json输入,我们仅支持这些端口的一部分类型。 复杂类型必须用dataclasses.dataclass装饰。 如果注释的类型不受支持,将会引发错误。

Parameters:

entry (Callable) – 流程的入口,应该是相对于代码的方法名称

Returns:

流程的签名

Return type:

字典

save(entry: Union[str, Callable], code: Optional[Union[str, PathLike]] = None, path: Optional[Union[str, PathLike]] = None, *, python_requirements_txt: str = None, image: str = None, signature: dict = None, sample: Union[str, PathLike, dict] = None, **kwargs) NoReturn#

将可调用类或函数保存为弹性流。

Parameters:
  • entry (Union[str, Callable]) – 流程的入口。如果entry是一个字符串,则需要code,并且entry应该是相对于code的方法名称,例如“module.method”。如果entry是一个可调用的类或函数,则code必须为None。

  • code (Union[str, PathLike]) – 代码目录的路径。将被复制到目标目录。如果entry是一个可调用对象,code必须为None,并且entry源文件的父目录将用作代码目录。

  • path (Union[str, PathLike]) – 创建流程的目标目录。如果指定,必须是一个空目录或不存在的目录;如果未指定,将在代码中更新流程定义的yaml文件。

  • python_requirements_txt (str) – Python 需求文件的路径。如果未指定,将使用代码目录中存在的 requirements.txt

  • image (str) – 用于运行流程的镜像。如果未指定,将使用默认镜像。

  • signature (dict) – 流的签名,表示流的输入和输出端口

  • sample (dict) – 流程的示例输入数据。将用于flow serve中的swagger生成。

Returns:

无返回值

Return type:

test(flow: Union[str, PathLike], *, inputs: dict = None, variant: str = None, node: str = None, environment_variables: dict = None, init: Optional[dict] = None, **kwargs) dict#

测试流程或节点。

Parameters:
  • flow (Union[str, PathLike]) – 要测试的流程目录的路径

  • inputs (dict) – 流程测试的输入数据

  • variant (str) – 节点和变体名称的格式为${node_name.variant_name},如果未指定,将使用默认变体。

  • node (str) – 如果指定了,它将只测试这个节点,否则它将测试整个流程。

  • environment_variables (dict) – 通过指定属性路径和值来设置的环境变量。 示例:{“key1”: “${my_connection.api_key}”, “key2”=”value2”} 对连接键的值的引用将被解析为实际值, 并且所有指定的环境变量将被设置到os.environ中。

  • init (dict) – 用于初始化flex flow的参数,仅在flow为可调用类时支持。

Returns:

流程或节点的结果

Return type:

字典

validate(flow: Union[str, PathLike], *, raise_error: bool = False, **kwargs) ValidationResult#

验证流程。

Parameters:
  • flow (Union[str, PathLike]) – 导出流程目录或流程DAG的路径

  • raise_error (bool) – 验证失败时是否抛出错误

Returns:

一个验证结果对象

Return type:

验证结果

class promptflow.operations.RunOperations(client, **kwargs)#

基础:TelemetryMixin

运行操作。

archive(name: Union[str, 运行]) 运行#

归档一个运行。

Parameters:

name (str) – 运行的名称。

Returns:

已归档的运行对象。

Return type:

运行

create_or_update(run: 运行, **kwargs) 运行#

创建或更新一个运行。

Parameters:

run (Run) – 要创建或更新的运行对象。

Returns:

运行对象已创建或更新。

Return type:

运行

delete(name: str) None#

永久删除运行。 注意:此操作将从您的本地磁盘永久删除运行。 运行实体和输出数据都将被删除。

Parameters:

name – 要删除的运行名称

Returns:

get(name: str) 运行#

获取一个运行实体。

Parameters:

name (str) – 运行的名称。

Returns:

从数据库中检索到的运行对象。

Return type:

运行

get_details(name: Union[str, 运行], max_results: int = 100, all_results: bool = False) DataFrame#

从运行中获取详细信息。

注意

如果all_results设置为True,max_results将被覆盖为sys.maxsize。

Parameters:
  • name (Union[str, Run]) – 运行名称或运行对象

  • max_results (int) – 返回的最大运行次数,默认为100

  • all_results (bool) – 是否返回所有结果,默认为 False

Raises:

RunOperationParameterError – 如果 max_results 不是一个正整数。

Returns:

详细数据框。

Return type:

pandas.DataFrame

get_metrics(name: Union[str, 运行]) Dict[str, Any]#

获取运行指标。

Parameters:

name (str) – 运行的名称。

Returns:

运行指标。

Return type:

Dict[str, Any]

list(max_results: Optional[int] = 50, *, list_view_type: ListViewType = ListViewType.ACTIVE_ONLY) List[运行]#

列出运行。

Parameters:
  • max_results (可选[int]) – 返回的最大结果数。默认值:MAX_RUN_LIST_RESULTS。

  • list_view_type – 用于包含/排除(例如)已归档运行的视图类型。默认值:ACTIVE_ONLY。

Returns:

运行对象列表。

Return type:

列表[运行]

restore(name: Union[str, 运行]) 运行#

恢复一个运行。

Parameters:

name (str) – 运行的名称。

Returns:

恢复运行对象。

Return type:

运行

stream(name: Union[str, 运行], raise_on_error: bool = True) 运行#

将流运行日志输出到控制台。

Parameters:
  • name (Union[str, Run]) – 运行的名称或运行对象。

  • raise_on_error (bool) – 如果运行失败或取消,则引发异常。

Returns:

运行对象。

Return type:

运行

update(name: Union[str, 运行], display_name: Optional[str] = None, description: Optional[str] = None, tags: Optional[Dict[str, str]] = None, **kwargs) 运行#

更新运行状态。

Parameters:
  • name – 运行名称

  • display_name – 要更新的显示名称

  • description – 要更新的描述

  • tags – 要更新的标签

  • kwargs – 其他要更新的字段,不支持的字段将被直接丢弃。

Returns:

更新后的运行对象

Return type:

运行

visualize(runs: Union[str, 运行, List[str], List[运行]], **kwargs) None#

可视化运行。

Parameters:

runs (Union[str, Run, List[str], List[Run]]) – 运行对象的列表,或运行的名称。