Skip to content

Store - Persist Data Across Runs ​

examples/08-store.halo policies

Define store tools, save/retrieve data with equips

Open in the playground →

halo
// ============================================================
// STEP 8: Store - Persist Data Across Runs
// Learn: Define store tools, save/retrieve data with `equips`
// ============================================================

policy NoProfanity : Block(Profanity)

tool GreetingsDB : VectorStore(Env.PINECONE_KEY, namespace: "greetings")

agent Greeter [gemini-3-1-pro, temp: 0.7]
  equips GreetingsDB
  requires NoProfanity

pipeline RememberedHello(name: String) -> Result:
  name
    |> Greeter.prompt("Write a warm, 1-sentence greeting for {{name}}.") as greeting
    // Save greeting to store
    |> GreetingsDB.log(content: context.data.greeting, tags: [name])
    // Retrieve past greetings for this name
    |> GreetingsDB.search(query: name, limit: 3)
    |> System.Print()

curl -fsSL https://halolang.com/install.sh | sh