Repository navigation
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
Agentis a python class that has access to an LLM. Markdown, a simple DSL for building markdown-style prompts.toolsargument forModel.chat, that supplies function-calling callbacks.formatnow supports standard types such aslist[int]andboolfor stuctured output.echomiddleware now takes an optionalstreamparameter, defaulting toTrue.Model.compress()can remove older chat calls from the history, reducing context sizes.connect_chatbotwhich promotes a chatbot into aModel.Model.ask()which is a one-shotModel.chat()that returns dynamic content.Reply.informationalandReply.puregenerate specific Reply objects.ChatBotclass for wrapping up pseudo LLMs (or agents acting like LLMs).
Deprecated
dedenthas stubed out (has no effect). This has been replaced by Markdown support.metamiddleware is removed, and has been replaced byChatBot.
Changed
- Internally, resolve refs from JSON schemas in format (this works around an ollama bug)
ModelandResponseare now pydantic classes.retry()now takes a simple retry count, and no longer uses the tenacity package.