freshcrate
Skin:/
Home > AI Agents > tulip_agent

tulip_agent

autonomous agent with access to a tool library

Why this rank:Recent releaseStrong adoptionHealthy release cadence

Description

autonomous agent with access to a tool library

README

🌷🤖 tulip agent

tulip banner

Static BadgeLicenseCode StyleA reference implementation for the tulip agent, an LLM-backed agent with access to a large number of tools via a tool library. This approach reduces costs, enables the use of tool sets that exceed API limits or context windows, and increases flexibility with regard to the tool set used.

🔬 Function analysis
Generates OpenAI API compatible tool descriptions for Python functions via introspection

🌷 Tool library
Combines a vector store for semantic search among tools and tool execution

🤖 Agents
Specifying instructions for an agent completely overrides the base system prompts to avoid contradictions. You can append custom instructions to the default prompts in tulip_agent.agents.prompts.

  • Baseline, without tool library
    • BaseAgent: LLM agent without tool access
    • NaiveToolAgent: Includes tool descriptions for all tools available
    • CotToolAgent: Extends the NaiveToolAgent with a planning step that decomposes the user input into subtasks
  • Tulip variations with access to a tool library
    • MinimalTulipAgent: Minimal implementation; searches for tools based on the user input directly
    • NaiveTulipAgent: Naive implementation; searches for tools with a separate tool call
    • CotTulipAgent: COT implementation; derives a plan for the necessary steps and searches for suitable tools
    • InformedCotTulipAgent: Same as CotTulipAgent, but with a brief description of the tool library's contents
    • PrimedCotTulipAgent: Same as CotTulipAgent, but primed with tool names based on an initial search with the user request
    • OneShotCotTulipAgent: Same as CotTulipAgent, but the system prompt included a brief example
    • AutoTulipAgent: Fully autonomous variant; can use the search tool at any time and modify its tool library with CRUD operations
    • DfsTulipAgent: DFS inspired variant that leverages a DAG for keeping track of tasks and suitable tools, can create new tools

📊 Evaluation

  • math_eval: Math evaluation
  • robo_eval: Robotics evaluation using tools created for AttentiveSupport

📝 Examples
See ./examples

Setup

  • Make sure to set the environment variables required by the API of your choice. Currently supported:
    • OpenAI: OPENAI_API_KEY, see the official instructions
    • Azure: AZURE_OPENAI_API_KEY, AZURE_API_VERSION, and AZURE_OPENAI_ENDPOINT
    • OpenAI compatible endpoints: OAI_COMPATIBLE_BASE_URL and OAI_COMPATIBLE_API_KEY for OpenAI compatible endpoints, such as Ollama
  • Install with uv venv --allow-existing && uv sync or pip install -e .
  • Check out the examples, the robot evaluation in src/eval/robo_eval, and examples/local_examples.py for a local setup

Dev notes

  • Python v3.10.11 recommended, higher versions may lead to issues with chroma during installation
  • Pre-commit hooks - install with (uv run) pre-commit install
  • Linting: ruff
  • Formatting: black
  • Import sorting: isort
  • Tests: Run with (uv run) python -m unittest discover tests/

Known issues

SQLite version incompatibility

See these troubleshooting instructions

  1. On Linux install pysqlite3-binary: uv add pysqlite3-binary
  2. Add the following to lib/python3.10/site-packages/chromadb/__init__.py in your venv
__import__('pysqlite3')
import sys
sys.modules['sqlite3'] = sys.modules.pop('pysqlite3')

Running the example results in a ModuleNotFoundError

Make sure to install the package itself, e.g., with uv sync or pip install -e .
Then run the example with uv run examples/calculator_example.py

Release History

VersionChangesUrgencyDate
main@2026-07-20Latest activity on main branchHigh7/20/2026
0.0.0No release found — using repo HEADHigh4/8/2026
main@2026-04-08Latest activity on main branchHigh4/8/2026
main@2026-04-08Latest activity on main branchHigh4/8/2026
main@2026-04-08Latest activity on main branchHigh4/8/2026
main@2026-04-08Latest activity on main branchHigh4/8/2026
main@2026-04-08Latest activity on main branchHigh4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchMedium4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026
main@2026-04-08Latest activity on main branchLow4/8/2026

Dependencies & License Audit

Loading dependencies...

Similar Packages

AttentiveSupportllm-based robot that intervenes only when needed0.0.0
AgentQuantAutonomous quantitative trading research platform that transforms stock lists into fully backtested strategies using AI agents, real market data, and mathematical formulations, all without requiring amain@2026-07-23
gpt-all-star-ui🤖 UI for gpt-all-star: https://github.com/kyaukyuai/gpt-all-starmain@2026-07-21
jobclawStreamline hiring by connecting AI agents that evaluate, negotiate, and schedule interviews to reduce time and improve candidate fit.main@2026-07-19
entonBuilds an autonomous AI robot with vision, voice, and decision-making capabilities using Python, PyTorch, and CUDA technology.main@2026-07-19

More from HRI-EU

AttentiveSupportllm-based robot that intervenes only when needed

More in AI Agents

awesome-copilotCommunity-contributed instructions, agents, skills, and configurations to help you make the most of GitHub Copilot.
letta-codeThe memory-first coding agent
MiniSearchMinimalist web-searching platform with an AI assistant that runs directly from your browser. Uses WebLLM, Wllama and SearXNG. Demo: https://felladrin-minisearch.hf.space
tokentracker-cliToken usage tracker for AI agent CLIs (Claude Code, Codex, Cursor, Kiro, Gemini, OpenCode, OpenClaw, Hermes, GitHub Copilot)