pub struct PromptBuilder { /* private fields */ }Expand description
Prompt 分层构建器。
每一层可以独立设置缓存策略,最大化前缀缓存命中率。
§示例
use lellm_core::{Prompt, PromptBuilder, CacheControl};
let prompt = Prompt::builder()
// L1 — 核心身份,永不变化 → 永远命中缓存
.layer_cached("你是 DevOps Agent,专注于 CI/CD 管理。")
// L2 — 工具指南,极少变化 → 长期命中缓存
.layer_cached("可用工具: get_time, get_env, get_config")
// L3 — 项目规则,偶尔变化
.layer_cached("项目规则: 使用中文回复。")
// L4 — 分隔符
.layer_cached("---")
// L5 — 注入记忆,每轮变化
.layer_cached("相关记忆: 用户偏好 Jenkins。")
// L6 — 会话上下文,频繁变化 → 不缓存
.layer_dynamic("当前目标: 部署 ds-pkg")
.build();Implementations§
Source§impl PromptBuilder
impl PromptBuilder
pub fn new() -> PromptBuilder
Sourcepub fn layer_cached(self, text: impl Into<String>) -> PromptBuilder
pub fn layer_cached(self, text: impl Into<String>) -> PromptBuilder
添加带 CacheControl::Breakpoint 缓存断点的层。
用于稳定性高的内容(核心身份、工具指南、项目规则)。 这是最常用的方法——绝大多数层都应该缓存。
Sourcepub fn layer_dynamic(self, text: impl Into<String>) -> PromptBuilder
pub fn layer_dynamic(self, text: impl Into<String>) -> PromptBuilder
添加不带缓存的层。
用于频繁变化的内容(会话上下文、临时注入信息)。
Sourcepub fn layer(
self,
text: impl Into<String>,
cache: Option<CacheControl>,
) -> PromptBuilder
pub fn layer( self, text: impl Into<String>, cache: Option<CacheControl>, ) -> PromptBuilder
添加带自定义缓存策略的层。
当前只有 CacheControl::Breakpoint,预留未来扩展。
Trait Implementations§
Source§impl Clone for PromptBuilder
impl Clone for PromptBuilder
Source§fn clone(&self) -> PromptBuilder
fn clone(&self) -> PromptBuilder
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PromptBuilder
impl Debug for PromptBuilder
Source§impl Default for PromptBuilder
impl Default for PromptBuilder
Source§fn default() -> PromptBuilder
fn default() -> PromptBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for PromptBuilder
impl RefUnwindSafe for PromptBuilder
impl Send for PromptBuilder
impl Sync for PromptBuilder
impl Unpin for PromptBuilder
impl UnsafeUnpin for PromptBuilder
impl UnwindSafe for PromptBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more