mirror of
https://github.com/google/adk-docs.git
synced 2026-09-14 16:16:59 +08:00
27e1303857
* Migrating from Map to typed data classes in FuncTool and LongRunningTool kotlin examples * lint cleanup of kotlin snippets * adding gradle wrapper for kotlin snippets * cleaning up build file for kotlin * fixing ktlint_code_style, added focus on included Gradle Wrapper --------- Co-authored-by: Kristopher Overholt <koverholt@google.com>
64 lines
2.4 KiB
Kotlin
64 lines
2.4 KiB
Kotlin
package com.google.adk.kt.examples.callbacks
|
|
|
|
import com.google.adk.kt.agents.LlmAgent
|
|
import com.google.adk.kt.callbacks.AfterAgentCallback
|
|
import com.google.adk.kt.callbacks.AfterModelCallback
|
|
import com.google.adk.kt.callbacks.AfterToolCallback
|
|
import com.google.adk.kt.callbacks.BeforeAgentCallback
|
|
import com.google.adk.kt.callbacks.BeforeModelCallback
|
|
import com.google.adk.kt.callbacks.BeforeToolCallback
|
|
import com.google.adk.kt.callbacks.CallbackChoice
|
|
import com.google.adk.kt.models.Gemini
|
|
|
|
fun main() {
|
|
// --8<-- [start:callback_basic]
|
|
val agent =
|
|
LlmAgent(
|
|
name = "callback_agent",
|
|
model = Gemini(name = "gemini-flash-latest"),
|
|
beforeAgentCallbacks =
|
|
listOf(
|
|
BeforeAgentCallback { context ->
|
|
println("Before Agent Callback triggered")
|
|
CallbackChoice.Continue(context.eventActions)
|
|
},
|
|
),
|
|
afterAgentCallbacks =
|
|
listOf(
|
|
AfterAgentCallback { context ->
|
|
println("After Agent Callback triggered")
|
|
CallbackChoice.Continue(Unit)
|
|
},
|
|
),
|
|
beforeModelCallbacks =
|
|
listOf(
|
|
BeforeModelCallback { context, request ->
|
|
println("Before Model Callback triggered")
|
|
CallbackChoice.Continue(request)
|
|
},
|
|
),
|
|
afterModelCallbacks =
|
|
listOf(
|
|
AfterModelCallback { context, response ->
|
|
println("After Model Callback triggered")
|
|
response
|
|
},
|
|
),
|
|
beforeToolCallbacks =
|
|
listOf(
|
|
BeforeToolCallback { context, tool, args ->
|
|
println("Before Tool Callback triggered for ${tool.name}")
|
|
CallbackChoice.Continue(args)
|
|
},
|
|
),
|
|
afterToolCallbacks =
|
|
listOf(
|
|
AfterToolCallback { context, tool, args, result ->
|
|
println("After Tool Callback triggered for ${tool.name}")
|
|
result
|
|
},
|
|
),
|
|
)
|
|
// --8<-- [end:callback_basic]
|
|
}
|