Contents

onPrompt(perform:)

Runs an action before the model is invoked for this dynamic profile.

Declaration

func onPrompt(perform action: nonisolated(nonsending) sending @escaping () async throws -> Void) -> some LanguageModelSession.DynamicProfile

Mentioned in

Discussion

When the onPrompt closure throws an error, the caller’s respond or response will propagate that error.

Use this to observe or log prompts before generation begins:

struct MyDynamicProfile: LanguageModelSession.DynamicProfile {
  var body: some LanguageModelSession.DynamicProfile {
    Profile {
      Instructions("You are a helpful assistant.")
    }
    .onPrompt {
      promptCount += 1
    }
  }
}

See Also

Observing life cycle modifiers