Repolode
knowsuchagency

knowsuchagency/promptic

基于 LiteLLM 的轻量 Python 库,用装饰器把函数文档字符串变成 LLM 提示词,支持结构化输出、工具调用和流式响应。

Star
272
Fork
24
未关闭 Issue
0
最近提交
26天前

这是什么?

Promptic 是一个用于构建 LLM 应用的小型 Python 库。用 @llm 装饰函数后,其文档字符串即作为提示词模板,并由函数参数填充,调用时直接返回模型的回复,无需手动处理请求。

底层基于 LiteLLM,切换模型只需修改模型名称,即可在 OpenAI、Anthropic、Gemini、Azure 等服务商之间迁移。返回值类型注解可使用 Pydantic 模型或 JSON Schema 字典,输出会按其校验。用 @llm.tool 装饰的函数会作为工具提供给模型调用。

此外,库还支持通过 ImageBytes 传入图片、流式输出、可替换存储的对话记忆(继承 State 类实现),以及 Anthropic 的提示缓存控制和 Weave 追踪集成。整体设计力求轻量,底层服务商 SDK 仍可直接调用。

核心功能

  • 01通过 @llm 装饰器把函数文档字符串转为提示词模板。
  • 02按 Pydantic 模型或 JSON Schema 校验结构化输出。
  • 03通过 @llm.tool 注册函数,支持模型工具调用。
  • 04支持流式输出,并可用 ImageBytes 传入图片。
  • 05提供可选的对话记忆,并支持自定义 State 存储。

适用场景

  • 在 Python 中快速原型化 LLM 功能,省去请求样板代码。
  • 把文本或图片中的信息提取为类型明确的 Pydantic 对象。
  • 构建调用 Python 函数作为工具的简单聊天机器人或智能体。
  • 不改动应用代码即可在不同 LLM 服务商之间切换。

快速上手

  1. 1

    从 PyPI 安装 promptic

    pip install promptic
  2. 2

    将 LLM 提供商的 API 密钥设置为环境变量(以 OpenAI 为例)

    export OPENAI_API_KEY=sk-...
  3. 3

    用 @llm 装饰函数,以其文档字符串作为提示词,然后调用它

使用前须知

  • 需要来自 LLM 提供商(如 OpenAI 或 Anthropic)的 API 密钥或兼容的模型配置。

收录于专题

标签

常见问题

promptic 是什么?
基于 LiteLLM 的轻量 Python 库,用装饰器把函数文档字符串变成 LLM 提示词,支持结构化输出、工具调用和流式响应。 Promptic 是一个用于构建 LLM 应用的小型 Python 库。用 @llm 装饰函数后,其文档字符串即作为提示词模板,并由函数参数填充,调用时直接返回模型的回复,无需手动处理请求。
promptic 可以免费使用吗?用的什么许可证?
promptic 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
promptic 还在维护吗?
活跃维护中。promptic 最近一次提交是在 2026年10月12日。
promptic 适合用来做什么?
在 Python 中快速原型化 LLM 功能,省去请求样板代码。 把文本或图片中的信息提取为类型明确的 Pydantic 对象。 构建调用 Python 函数作为工具的简单聊天机器人或智能体。 不改动应用代码即可在不同 LLM 服务商之间切换。
promptic 怎么安装和运行?
从 PyPI 安装 promptic: pip install promptic 将 LLM 提供商的 API 密钥设置为环境变量(以 OpenAI 为例): export OPENAI_API_KEY=sk-... 用 @llm 装饰函数,以其文档字符串作为提示词,然后调用它
在哪里获取 promptic?
源代码和安装说明在 GitHub 上:https://github.com/knowsuchagency/promptic

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目