Skip to content

Third Release

Latest
Compare
Choose a tag to compare
@andygill andygill released this 27 Feb 03:20
· 7 commits to main since this release

Haverscript is a language for building LLM-based agents, providing a flexible
and composable way to interact with large language models.

[0.3.0] - 2025-02-26

Added

  • Initial agentic support. An Agent is a python class that has access to an LLM.
  • Markdown, a simple DSL for building markdown-style prompts.
  • tools argument for Model.chat, that supplies function-calling callbacks.
  • format now supports standard types such as list[int] and bool for stuctured output.
  • echo middleware now takes an optional stream parameter, defaulting to True.
  • Model.compress() can remove older chat calls from the history, reducing context sizes.
  • connect_chatbot which promotes a chatbot into a Model.
  • Model.ask() which is a one-shot Model.chat() that returns dynamic content.
  • Reply.informational and Reply.pure generate specific Reply objects.
  • ChatBot class for wrapping up pseudo LLMs (or agents acting like LLMs).

Deprecated

  • dedent has stubed out (has no effect). This has been replaced by Markdown support.
  • meta middleware is removed, and has been replaced by ChatBot.

Changed

  • Internally, resolve refs from JSON schemas in format (this works around an ollama bug)
  • Model and Response are now pydantic classes.
  • retry() now takes a simple retry count, and no longer uses the tenacity package.