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 #
根据提供的数据或运行执行流。
注意
必须至少提供
data
或run
参数之一。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#
可以管理跟踪的跟踪操作。
- 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 对象
- 返回类型: