Repolode
zmedelis

zmedelis/bosquet

A Clojure toolkit for building LLM applications, covering prompt templating, prompt chaining, agents and tools, and LLM memory.

Stars
379
Forks
28
Open issues
4
Last commit
last month

What is it?

Bosquet is an LLMOps toolkit for Clojure developers building applications on large language models. It addresses the growing complexity of prompt templates, the context window limits that call for memory management, and the need for agents that can call external APIs.

The library manages LLM and tool services, integrates the Selmer templating library for prompt templates, and uses Pathom graph processing to chain and compose prompts. It also provides agent and tool definitions, LLM memory handling, and call response caching. Generation works with single prompts, prompt maps, and multi-turn chat conversations, returning both the full conversation and the generated completions.

Tool calling is supported for OpenAI and Ollama models, where Clojure functions are annotated with descriptions and parameter types. A command line interface lets users set a default model, store API keys, and run generations from prompt and data EDN files.

Key features

  • 01Prompt templating through Selmer integration
  • 02Prompt chaining and composition with Pathom
  • 03Tool calling for OpenAI and Ollama chat models
  • 04Multi-turn chat conversations with generated parts filled in
  • 05LLM memory handling and call response caching
  • 06Command line interface for model setup and generation

Use cases

  • Building LLM features in a Clojure backend that need reusable prompt templates
  • Chaining several model calls where one prompt's output feeds the next
  • Giving a chat model access to Clojure functions such as a weather or calculator tool

Quick start

  1. 1

    Copy the sample config files (config.edn.sample and secrets.edn) and adjust them as needed

  2. 2

    Set the default model

    clojure -M -m bosquet.cli llms set --service openai --temperature 0 --model gpt-4o
  3. 3

    Store the API key for your service

    clojure -M -m bosquet.cli keys set openai
  4. 4

    Run a generation

    clojure -M -m bosquet.cli "2+{{x}}="

Things to know

  • Requires a Clojure toolchain and an API key for an LLM service such as OpenAI.
  • The full documentation is marked as work in progress.

In collections

Topics

FAQ

What is bosquet?
A Clojure toolkit for building LLM applications, covering prompt templating, prompt chaining, agents and tools, and LLM memory. Bosquet is an LLMOps toolkit for Clojure developers building applications on large language models. It addresses the growing complexity of prompt templates, the context window limits that call for memory management, and the need for agents that can call external APIs.
Is bosquet free to use? What license does it have?
bosquet is open source under the EPL-1.0 license. Check the license terms before using it in commercial products.
Is bosquet still maintained?
Updated within 6 months. The last commit to bosquet was on Sep 30, 2026.
What can I use bosquet for?
Building LLM features in a Clojure backend that need reusable prompt templates Chaining several model calls where one prompt's output feeds the next Giving a chat model access to Clojure functions such as a weather or calculator tool
How do I install bosquet?
Copy the sample config files (config.edn.sample and secrets.edn) and adjust them as needed Set the default model: clojure -M -m bosquet.cli llms set --service openai --temperature 0 --model gpt-4o Store the API key for your service: clojure -M -m bosquet.cli keys set openai Run a generation: clojure -M -m bosquet.cli "2+{{x}}="
Where can I get bosquet?
The source code and installation instructions are on GitHub: https://github.com/zmedelis/bosquet

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects