freshcrate
Skin:/
Home > AI Agents > tulip_agent

tulip_agent

autonomous agent with access to a tool library

Why this rank:Strong adoptionRelease freshnessHealthy 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
entonBuilds an autonomous AI robot with vision, voice, and decision-making capabilities using Python, PyTorch, and CUDA technology.main@2026-09-09
GENesis-AGIAutonomous AI agent with persistent memory, self-learning, and earned autonomy. Cognitive partner that remembers, learns, and evolves.v3.0b18
vikramadityaAutonomous VAPT platform. Give it a target (FQDN, IP, CIDR) — it hunts, it reports. Inspired by the Obsidian Order.main@2026-09-07
nano-banana-pro# Manga-Autonoma (powered by nano-banana-2) Autonomous AI 4-panel manga production system using Gemini API. / Gemini APIを活用した、完全自律型AI4コママンガ制作システム。v5.8.7

More from HRI-EU

AttentiveSupportllm-based robot that intervenes only when needed

More in AI Agents

llm-for-zoteroA simple Zotero plugin that brings your own LLM into the side panel.
CopilotKitThe Frontend Stack for Agents & Generative UI. React + Angular. Makers of the AG-UI Protocol
AIGC-Interview-Book【三年面试五年模拟】AIGC算法工程师面试秘籍。涵盖AIGC、LLM大模型、AI Agent、传统深度学习、自动驾驶、机器学习、计算机视觉、自然语言处理、强化学习、大数据挖掘、具身智能、元宇宙、AGI等AI行业面试笔试干货经验与核心知识。
a2a-sdkA2A Python SDK