热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为Python开发场景设计,能够根据具体功能需求生成准确、规范的Python函数签名。通过分析函数用途、参数需求和返回值类型,提供符合Python编码规范的专业函数定义,包括参数类型注解、返回值类型说明和文档字符串框架,帮助开发者快速构建函数原型,提高代码质量和开发效率。适用于函数设计、API开发、代码重构等多种Python编程场景。
from typing import Any, Sequence, Mapping, Optional, List, Literal, TypedDict
from datetime import datetime
from decimal import Decimal
class AggregateRow(TypedDict):
key: str
order_count: int
revenue: Decimal
avg_order_value: Decimal
refund_ratio: float
class CurrencyConversionError(Exception):
"""Raised when currency conversion to a single base currency cannot be completed."""
class DataValidationError(ValueError):
"""Raised when input orders are missing required fields or contain invalid values."""
def aggregate_orders(
orders: Sequence[Mapping[str, Any]],
start: Optional[datetime] = None,
end: Optional[datetime] = None,
*,
group_by: Literal["user", "category", "channel", "date"] = "date",
include_refunded: bool = False,
rounding: int = 2,
timezone: str = "UTC",
) -> List[AggregateRow]:
"""
Aggregate e-commerce orders by a specified dimension to compute core business metrics.
See full docstring template below for details.
"""
...
"""
对电商订单进行按维度聚合统计,计算订单数、销售额、客单价、退款占比等指标。
支持按用户、品类、渠道或日期分组,处理退款、跨币种与时区对齐等业务细节。
结果按 key 升序返回,并在末尾附加总计(key='summary')行。
参数
----------
orders : Sequence[Mapping[str, Any]]
订单列表。每个订单应包含如下字段:
- id: str|int,订单唯一标识
- user_id: str|int,用户标识
- items: list[dict],商品明细。每项需包含:
- sku_id: str|int
- qty: int
- price: Decimal|str|float(实现中应规范为Decimal)
- category: Optional[str](当 group_by='category' 时需可用;若缺失,需有外部品类映射或抛出异常)
- paid_at: datetime,支付完成时间
- channel: Literal['web','app','store']
- refunded: bool,是否已退款(全额或被视为退款)
- currency: str,币种代码(如'USD'、'CNY')
start : Optional[datetime], default None
统计开始时间(包含)。为 None 时不限制下界。若为“天”维度聚合,基于 timezone 进行日期边界对齐。
end : Optional[datetime], default None
统计结束时间(包含)。为 None 时不限制上界。要求在时区对齐后满足 start <= end。
group_by : {'user','category','channel','date'}, default 'date'
聚合维度:
- 'user' -> key 为用户ID的字符串表示
- 'category'-> key 为品类名称(需可解析)
- 'channel' -> key ∈ {'web','app','store'}
- 'date' -> key 为按 timezone 对齐的 ISO 日期字符串(YYYY-MM-DD)
include_refunded : bool, default False
是否将退款订单计入 order_count 与 revenue。如果为 False,则退款订单不计入上述两项。
refund_ratio 始终基于与 order_count 一致的订单集合计算:refund_ratio = refunded_count / max(order_count, 1)。
rounding : int, default 2
结果中金额字段(revenue、avg_order_value)的保留小数位数,取值范围 [0, 4]。
timezone : str, default 'UTC'
时区名称(IANA/Olson,例如 'UTC', 'Asia/Shanghai')。用于:
- 将 paid_at 归一化用于时间范围过滤
- 在 group_by='date' 时按该时区计算归属日期
返回
----------
List[AggregateRow]
聚合结果列表,包含以下字段:
- key: str,分组键
- order_count: int,订单数量(是否包含退款取决于 include_refunded)
- revenue: Decimal,销售额(按单一基准币种归一化且四舍五入至指定小数位)
- avg_order_value: Decimal,客单价 = revenue / max(order_count, 1)
- refund_ratio: float,退款订单比例,范围 [0.0, 1.0]
列表按 key 升序排列。最后一行为总计汇总(key='summary'),汇总所有分组的指标。
计算口径与业务细节
----------
- 时间范围:对齐至 timezone 后进行 [start, end] 闭区间过滤;若 start 或 end 为 naive datetime,视为该 timezone 下的本地时间。
- 币种:当存在多币种订单时,应转换到单一基准币种(实现需提供汇率来源)。若无法转换,抛出 CurrencyConversionError。
- 退款:当 include_refunded=False 时,退款订单从 order_count 与 revenue 中排除;refund_ratio 仍以相同集合为分母计算。
- 品类分组:要求 items 中包含 'category' 或存在可用的 SKU->品类映射;否则抛出 DataValidationError。
- 排序:结果按 key 升序;'date' 维度使用 YYYY-MM-DD 字符串进行字典序排序,与时间顺序一致。
异常
----------
ValueError
- start > end(在时区对齐后)
- 参数 group_by 或 rounding 取值非法(rounding 需在 [0, 4])
DataValidationError
- 订单缺失必需字段,或在 group_by='category' 时无法解析品类
CurrencyConversionError
- 存在多币种但无法完成转换
RuntimeError 或底层时区解析异常
- timezone 无法识别或加载
备注
----------
- 建议对金额使用 Decimal 进行精确计算,并在返回前按 rounding 位四舍五入。
- 空结果时,推荐仍返回仅包含 summary 行(各指标为0)。
示例
----------
# 示例仅为占位,具体实现与调用示例留待集成时补充。
"""
from typing import Callable, List, Literal, Optional, Sequence, TypedDict
class SimilarityResult(TypedDict):
a: int
b: int
score: float
method: str
normalized: bool
def pairwise_text_similarity(
texts: Sequence[str],
*,
method: Literal["tfidf", "bert", "sbert"] = "tfidf",
top_k: int = 5,
normalize: bool = True,
threshold: Optional[float] = None,
tokenizer: Optional[Callable[[str], List[str]]] = None,
batch_size: int = 32,
device: Optional[str] = None,
) -> List[SimilarityResult]:
"""
Compute pairwise similarity within a collection of texts for search recall and
content deduplication. Supports TF-IDF or (S)BERT embeddings, optional
preprocessing via tokenizer, threshold filtering, and global Top-K output.
Results are sorted by score in descending order.
This API targets pairwise similarity among all unique text indices in `texts`.
For single-query scenarios, a common pattern is to pass `[query] + corpus`
and post-filter results where `a == 0` to obtain Top-K neighbors of the query.
"""
...
若指定threshold,仅返回score≥threshold的结果。
"""
计算文本集合内的两两相似度,用于搜索召回与内容去重。
支持TF-IDF或BERT/SBERT嵌入,提供可选的预处理、阈值过滤与全局Top-K输出,
结果按分数降序返回。
参数
----------
texts : Sequence[str]
文本集合,长度需≥2。将对其内部所有不重复索引对(i, j), i < j进行相似度计算。
method : Literal['tfidf','bert','sbert'], optional
相似度表示方法,默认 'tfidf'。'bert' 与 'sbert' 通常依赖深度模型生成句向量。
top_k : int, optional
全局Top-K相似对数量(按score降序),范围[1, 50],默认5。若候选少于K,则返回所有候选。
normalize : bool, optional
是否对向量进行归一化(如L2归一化以使用余弦相似度),默认True。
threshold : Optional[float], optional
分数阈值,范围[0, 1]。若提供,仅返回score≥threshold的结果;若未提供,则不进行阈值裁剪。
tokenizer : Optional[Callable[[str], List[str]]], optional
文本预处理/分词函数;当使用TF-IDF时常用以自定义分词与清洗逻辑。
batch_size : int, optional
批处理大小,默认32;主要用于'bert'/'sbert'嵌入生成阶段的批量推理。
device : Optional[str], optional
计算设备,如'cpu'或'cuda'(实现可支持诸如'cuda:0'等更具体标识);主要用于'bert'/'sbert'。
返回
-------
List[SimilarityResult]
相似对结果列表,按score降序排序。每个元素为TypedDict:
- a (int): 文本A的索引(基于输入texts)
- b (int): 文本B的索引(a < b)
- score (float): 相似度分数
- method (str): 实际使用的方法('tfidf'|'bert'|'sbert')
- normalized (bool): 是否进行了向量归一化
若指定threshold,仅返回score≥threshold的结果。
异常
-------
ValueError
- texts长度<2
- top_k不在[1, 50]范围内
- threshold不为None且不在[0, 1]范围内
- batch_size < 1
TypeError
- tokenizer的签名不符合 Callable[[str], List[str]] 要求
RuntimeError
- 所选方法所需的运行时依赖/设备不可用(例如深度模型或设备不可用)
NotImplementedError
- 方法或特性在当前实现中未提供
说明
-------
- 本函数对输入集合进行全局两两相似度计算。Top-K指全局最相似的K对,而非按每个文本分别的Top-K。
- 单次查询场景可通过传入 [query] + corpus 的方式,事后筛选 a == 0 的结果以获取查询的Top-K相似文本。
- 复杂度:向量生成通常为 O(N),两两相似度计算通常为 O(N^2);大规模数据需注意内存与时间开销。
- normalize为True时通常等价于使用余弦相似度;为False时可能使用内积或实现定义的度量。
示例
-------
# 用法示意(实现细节根据具体工程而定)
# results = pairwise_text_similarity(
# texts=["foo", "bar", "baz", "..."],
# method="tfidf",
# top_k=10,
# normalize=True,
# threshold=0.3,
# tokenizer=None,
# batch_size=64,
# device="cpu",
# )
"""
from __future__ import annotations
from pathlib import Path
from typing import (
Any,
Callable,
Iterable,
Literal,
Mapping,
Optional,
Protocol,
Sequence,
Type,
TypeVar,
Union,
runtime_checkable,
)
@runtime_checkable
class ConfigProtocol(Protocol):
"""
A strongly-typed configuration object protocol that:
- Supports dict-style access (Mapping[str, Any]),
- Supports attribute-style access via dot notation,
- Exposes source provenance and validation logs.
"""
# Mapping-like
def __getitem__(self, key: str) -> Any: ...
def __iter__(self) -> Iterable[str]: ...
def __len__(self) -> int: ...
# Dot-notation access
def __getattr__(self, name: str) -> Any: ...
# Provenance and validation info
@property
def sources(self) -> Sequence[str]: ...
@property
def validation_log(self) -> Sequence[str]: ...
TConfig = TypeVar("TConfig", bound=ConfigProtocol)
def load_config(
path: Union[str, Path],
*,
env_prefix: str = "",
overrides: Optional[Mapping[str, Any]] = None,
schema: Optional[Union[Type[TConfig], Callable[[Mapping[str, Any]], TConfig]]] = None,
required_keys: Sequence[str] = (),
strict: bool = True,
secrets: Sequence[str] = (),
encoding: str = "utf-8",
on_missing: Literal["error", "ignore", "create"] = "error",
merge_strategy: Literal["deep", "replace"] = "deep",
) -> TConfig:
"""
Load configuration by merging file content, environment variables, and explicit overrides,
validate against a given schema, and return a strongly-typed configuration object.
The effective precedence is:
base file -> environment variables (with env_prefix) -> explicit overrides
Behavior highlights:
- Supports .yaml/.yml/.json files.
- Supports layered deep merge (default) or full replacement.
- Supports required key checks and missing-key strategies.
- Filters unknown keys when strict=True.
- Returns a config supporting both dict- and dot-notation access.
- Exposes sources provenance (sources) and validation logs (validation_log).
- Supports masking sensitive fields for safe printing via "secrets".
- Enables cross-environment switching via env_prefix.
"""
...
"""
从文件、环境变量与显式覆盖项合并加载配置,按给定schema校验并返回强类型配置对象。
功能概述:
- 支持.yaml/.yml/.json文件格式。
- 合并优先级:文件 < 环境变量(由env_prefix限定) < overrides。
- 支持层级(deep)或替换(replace)合并策略。
- 严格模式(strict=True)下过滤未知键,仅保留schema声明的字段。
- 支持缺失键策略(on_missing):error/ignore/create。
- 支持敏感字段脱敏打印(secrets),便于日志与调试。
- 支持通过env_prefix实现跨环境切换。
参数:
- path (Union[str, Path]): 配置文件路径,支持.yaml/.yml/.json。
- env_prefix (str): 环境变量前缀(必须匹配^[A-Z_]+$,空字符串表示不使用前缀),用于选择和映射ENV键。
- overrides (Optional[Mapping[str, Any]]): 最高优先级的覆盖项。
- schema (Optional[Union[Type[TConfig], Callable[[Mapping[str, Any]], TConfig]]]):
- 若为类型(如dataclass/pydantic/BaseModel),则用以实例化强类型对象;
- 若为函数,则以合并后的原始映射作为输入,返回TConfig实例。
- required_keys (Sequence[str]): 要求存在的键集合。缺失时依据on_missing处理。
- strict (bool): 严格模式控制。True时过滤未知字段;False时保留额外字段。
- secrets (Sequence[str]): 需要脱敏打印的字段名集合;实现应在repr/日志输出时进行遮盖。
- encoding (str): 文件读取编码,默认'utf-8'。
- on_missing (Literal['error','ignore','create']): 缺失键策略:
- 'error': 发现缺失键时抛出异常;
- 'ignore': 保留缺失状态,不强制创建;
- 'create': 为缺失键创建默认值(具体默认由实现与schema共同决定)。
- merge_strategy (Literal['deep','replace']):
- 'deep': 对嵌套dict执行递归合并;
- 'replace': 上层来源直接替换下层同名键的整体值。
返回:
- TConfig: 实现ConfigProtocol的强类型配置对象,支持dict与点号两种访问方式,
并提供:
- sources (Sequence[str]): 配置实际来源列表(如文件路径、"ENV"、"OVERRIDES")。
- validation_log (Sequence[str]): 校验与规范化步骤的日志记录。
可能抛出:
- FileNotFoundError: 指定的配置文件不存在(且on_missing策略/实现不允许创建)。
- ValueError: env_prefix不匹配正则或配置值不满足schema基本约束。
- KeyError: 当on_missing='error'且存在缺失必需键时。
- TypeError: schema返回类型与TConfig不匹配或类型不合法。
- json.JSONDecodeError / 解析异常: 当JSON/YAML内容无法被正常解析。
- OSError / IOError: 文件读取或编码错误。
备注:
- 若提供schema,返回对象类型与字段将随schema具体定义而具备更精确的类型提示(TConfig)。
- 日志与脱敏行为的具体格式与实现细节由调用方或库内部实现决定。
"""
将“功能想法”在1分钟内转化为可评审、可落地的Python函数签名与文档骨架,帮助个人与团队:
在设计服务方法与内部工具时,快速产出带类型注解与文档的函数定义;统一命名与默认值;减少评审往返,加速联调与上线。
为数据清洗、特征处理、数据校验等场景生成规范函数签名;明确输入输出与异常约束;保证数据流程可读、易复用。
基于需求快速形成待测函数的标准签名与说明;锁定输入边界与预期结果;更高效地编写用例与回归脚本。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期