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
从 PyPI 安装 promptic
pip install promptic - 2
将 LLM 提供商的 API 密钥设置为环境变量(以 OpenAI 为例)
export OPENAI_API_KEY=sk-... - 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 数据每日更新。
相关项目
一个 Python 库,用于编写生成式程序,把带类型标注的 LLM 调用变成结构化、可测试的 AI 工作流。
OpenAI REST API 的官方 Java SDK,提供同步与异步客户端、流式输出和类型化的请求响应类。
一组智能体技能,为 AI 编程助手补充 Gemini API 与 SDK 的最新上下文,便于构建应用。
用自然语言描述界面,实时渲染预览,并可借助多种大模型持续修改。
一款运行在树莓派上的自托管语音助手,借助 LiteLLM 和 LangGraph 把大模型对话接入智能家居。