promptflow.operations 模块#

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

基类:TelemetryMixin

ConnectionOperations。

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

创建或更新连接。

参数:

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

delete(name: str) None#

删除连接实体。

参数:

name (str) – 连接的名称。

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

获取连接实体。

参数:

name (str) – 连接的名称。

返回:

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

返回类型:

_Connection

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

列出连接。

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

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

返回:

运行对象列表。

返回类型:

List[_Connection]

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

基类:TelemetryMixin

FlowOperations。

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

将流构建为其他格式。

参数:
  • flow (Union[str, PathLike]) – 要导出的流目录或流 dag 的路径

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

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

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

返回:

无返回值

返回类型:

None (无)

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

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

对于灵活流

如果入口是可调用函数,则签名包括输入和输出。如果入口是可调用类,则签名包括输入、输出和 init。

对于提示流

签名包括输入、输出和 init。Init 指的是 PromptyModelConfiguration。

对于 DAG 流

签名包括输入和输出。

每个端口的类型是从可调用项的类型提示推断出来的,并遵循 JSON 模式的类型系统。鉴于流在批处理运行和服务中接受 JSON 输入,我们仅支持这些端口的一部分类型。复杂类型必须使用 dataclasses.dataclass 进行修饰。如果注释类型不受支持,将引发错误。

参数:

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

返回:

流的签名

返回类型:

dict

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#

将可调用类或函数保存为灵活流。

参数:
  • entry (Union[str, Callable]) – 流的入口。如果入口是字符串,则需要代码,并且入口应为相对于代码的方法名称,如“module.method”。如果入口是可调用类或函数,则代码必须留空。

  • code (Union[str, PathLike]) – 代码目录的路径。将被复制到目标目录。如果入口是可调用项,则代码必须留空,并且入口源的父目录将用作代码。

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

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

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

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

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

返回:

无返回值

返回类型:

None (无)

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

测试流或节点。

参数:
  • 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 是可调用类时支持。

返回:

流或节点的结果

返回类型:

dict

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

验证流。

参数:
  • flow (Union[str, PathLike]) – 要导出的流目录或流 dag 的路径

  • raise_error (bool) – 验证失败时是否引发错误

返回:

验证结果对象

返回类型:

ValidationResult

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

基类:TelemetryMixin

RunOperations。

archive(name: Union[str, Run]) Run#

归档运行。

参数:

name (str) – 运行名称。

返回:

已存档的运行对象。

返回类型:

运行

create_or_update(run: Run, **kwargs) Run#

创建或更新运行。

参数:

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

返回:

已创建或更新的运行对象。

返回类型:

运行

delete(name: str) None#

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

参数:

name – 要删除的运行名称

返回:

None (无)

get(name: str) Run#

获取运行实体。

参数:

name (str) – 运行名称。

返回:

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

返回类型:

运行

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

从运行中获取详细信息。

注意

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

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

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

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

抛出:

RunOperationParameterError – 如果 max_results 不是正整数。

返回:

详细信息数据框。

返回类型:

pandas.DataFrame

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

获取运行指标。

参数:

name (str) – 运行名称。

返回:

运行指标。

返回类型:

Dict[str, Any]

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

列出运行。

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

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

返回:

运行对象列表。

返回类型:

List[Run]

restore(name: Union[str, Run]) Run#

恢复运行。

参数:

name (str) – 运行名称。

返回:

恢复的运行对象。

返回类型:

运行

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

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

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

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

返回:

运行对象。

返回类型:

运行

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

更新运行状态。

参数:
  • name – 运行名称

  • display_name – 要更新的显示名称

  • description – 要更新的描述

  • tags – 要更新的标签

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

返回:

已更新的运行对象

返回类型:

运行

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

可视化运行。

参数:

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