promptflow.client 模块#

class promptflow.client.PFClient(**kwargs)#

基类:object

一个用于与 Prompt Flow 实体交互的客户端类。

property connections: ConnectionOperations#

可以管理连接的连接操作。

property flows: FlowOperations#

可以管理流的流操作。

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

从运行中获取详细信息,包括输入和输出。

注意

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

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

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

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

抛出:

RunOperationParameterError – 如果 max_results 不是正整数。

返回:

详细信息数据框。

返回类型:

pandas.DataFrame

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

获取运行指标。

参数:

run (Union[str, Run]) – 运行对象或运行名称。

返回:

运行指标。

返回类型:

Dict[str, Any]

run(flow: Optional[Union[str, PathLike, Callable]] = None, *, data: Optional[Union[str, PathLike]] = None, run: Optional[Union[str, Run]] = None, column_mapping: Optional[dict] = None, variant: Optional[str] = None, connections: Optional[dict] = None, environment_variables: Optional[dict] = None, name: Optional[str] = None, display_name: Optional[str] = None, tags: Optional[Dict[str, str]] = None, resume_from: Optional[Union[str, Run]] = None, code: Optional[Union[str, PathLike]] = None, init: Optional[dict] = None, **kwargs) Run#

根据提供的数据或运行执行流。

注意

必须至少提供 datarun 参数之一。

Column_mapping

列映射是从流输入名称到指定值的映射。如果指定,流将使用为指定输入提供的值执行。该值可以来自:

  • 数据
    • data.col1

  • 运行
    • run.inputs.col1:如果需要引用运行的输入

    • run.output.col1:如果需要引用运行的输出

  • 示例
    • {"ground_truth": "${data.answer}", "prediction": "${run.outputs.answer}"}

参数:
  • flow (Union[str, PathLike]) – 要运行评估的流目录路径。

  • data (Union[str, PathLike]) – 指向评估运行的测试数据(或变体批量运行)的指针。

  • run (Union[str, Run]) – 流运行 ID 或流运行。此参数有助于保持当前运行与变体运行之间的谱系。批处理输出可以在 inputs_mapping 中作为 ${run.outputs.col_name} 引用。

  • column_mapping (Dict[str, str]) – 定义数据流逻辑以映射输入数据。

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

  • connections (Dict[str, Dict[str, str]]) – 用提供的值覆盖节点级别连接。示例: {"node1": {"connection": "new_connection", "deployment_name": "gpt-35-turbo"}}

  • environment_variables (Dict[str, str]) – 通过指定属性路径和值来设置环境变量。示例: {"key1": "${my_connection.api_key}", "key2"="value2"} 对连接键的值引用将解析为实际值,所有指定的环境变量都将设置为 os.environ。

  • name (str) – 运行名称。

  • display_name (str) – 运行的显示名称。

  • tags (Dict[str, str]) – 运行的标签。

  • resume_from (str) – 从现有运行创建运行恢复。

  • code (Union[str, PathLike]) – 要运行的代码目录路径。

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

返回:

流运行信息。

返回类型:

运行

property runs: RunOperations#

可以管理运行的运行操作。

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

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

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

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

返回:

流运行信息。

返回类型:

运行

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

测试流或节点。

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

  • inputs (Union[dict, PathLike]) – 流测试的输入数据或 JSON 文件

  • 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

property tools: ToolOperations#

可以管理工具的工具操作。

property traces: TraceOperations#

可以管理跟踪的跟踪操作。

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

可视化运行。

参数:

run (Union[str, Run]) – 运行对象或运行名称。

promptflow.client.load_flow(source: Union[str, PathLike, IO], **kwargs) Flow#

从 YAML 文件加载流。

参数:

source (Union[PathLike, str]) – 流的本地 YAML 源。必须是本地文件路径。如果源是路径,将打开并读取。如果文件不存在,将引发异常。

返回:

一个 Flow 对象

返回类型:

promptflow.client.load_run(source: Union[str, PathLike, IO], params_override: Optional[list] = None, **kwargs) Run#

从 YAML 文件加载运行。

参数:
  • source (Union[PathLike, str]) – 运行的本地 YAML 源。必须是本地文件路径。如果源是路径,将打开并读取。如果文件不存在,将引发异常。

  • params_override (List[Dict]) – 在 YAML 文件之上要覆盖的字段。格式为 [{“field1”: “value1”}, {“field2”: “value2”}]

返回:

一个 Run 对象

返回类型:

运行