Releases: pragunbhutani/dbt-llm-agent
v0.8.1 - Faster Interpretation
What's Changed
- feat: added the ability to interpret via workflow for speed by @pragunbhutani in #54
Full Changelog: v0.8.0...v0.8.1
v0.8.0 Release Notes
🚀 New Setup Process: Dockerized Deployment
This release introduces a fully dockerized setup for Ragstar, making it easier than ever to get started. The new process bundles the application and a PostgreSQL database (with pgvector
support) using Docker Compose, so you can spin up the entire stack with a single command.
🐳 Recommended: Docker Compose Setup
-
Clone the repository:
git clone https://github.com/pragunbhutani/ragstar.git cd ragstar
-
Configure environment variables:
- Copy
.env.example
to.env
and fill in your details (e.g.,OPENAI_API_KEY
, dbt connection info, Slack tokens if needed).
- Copy
-
Start the stack:
docker compose up --build -d
This launches both the app and a ready-to-use Postgres database.
-
Initialize with your dbt project:
- Load your dbt metadata into Ragstar by running (inside the container):
docker compose exec app ragstar init cloud # for dbt Cloud docker compose exec app ragstar init local # for local dbt project docker compose exec app ragstar init source # for dbt source code
- Load your dbt metadata into Ragstar by running (inside the container):
-
Build the knowledge base:
- (Optional) Generate model descriptions:
docker compose exec app ragstar interpret --select "tag:knowledge" --save
- Create vector embeddings for semantic search:
docker compose exec app ragstar embed --select "*"
- (Optional) Generate model descriptions:
-
Verify everything is running:
docker compose logs -f ragstar_app
🛠️ Advanced: Local Python Environment
For advanced users, the old manual setup (Python, Poetry, Postgres with pgvector
) is still supported. See the README for details.
Benefits:
- Zero local Python/Postgres setup required—just Docker!
- Faster onboarding for new users and contributors.
- Consistent environment across all platforms.
See the README for full details and troubleshooting.
v0.7.2 Release Notes
What's Changed
- fix: github pages directory by @pragunbhutani in #51
- patch: improved answer formatting by @pragunbhutani in #52
Full Changelog: v0.7.0...v0.7.2
v0.7.0 Release Notes
v0.7.0 Release Notes
This release introduces the initial version of our Slack integration and includes improvements to answer formatting.
✨ New Features
- Slack Integration: Ragstar can now operate as a Slack bot! This allows you to interact with Ragstar directly within your Slack workspace. Setup instructions have been added to the README. (Commit fc036c0, dc87369)
🚀 Improvements
- Answer Formatting: Enhanced the presentation of answers for better readability. (Commit ed5d34b)
Other Changes
Full Changelog: v0.6.0...v0.7.0
Ragstar v0.6.0 Release Notes
🌟 What is Ragstar?
Ragstar is an advanced LLM-based AI Agent designed specifically for interacting with and understanding dbt (data build tool) projects. It helps data teams streamline documentation, improve data discovery, and gain deeper insights into their dbt models through natural language interaction.
🚀 What's New in v0.6.0
🔥 Major Features
- 🏷️ Project Rebranding: Renamed the project to Ragstar! A new name for a powerful tool.
- 🤖 Enhanced Agentic Model Interpretation: Completely new interpretation workflow with a sophisticated agent-based approach that better analyzes dbt models, understands their logic, and verifies interpretations by examining related models.
- 🧠 LangGraph Integration: Upgraded question answering system to use LangGraph agents for more coherent, accurate responses.
- 💬 Improved Conversation Flow: Fixed and enhanced conversation flow during model interpretation workflows.
- 📝 Better Documentation Generation: The interpret command now correctly saves and embeds model documentation.
- ☁️ Improved dbt Cloud Support: Enhanced project initialization for dbt Cloud projects.
- 🔄 Customizable Language Models: Added ability to change the language model being used through environment variables (
OPENAI_MODEL
) with default set to gpt-4o.
🛠️ Improvements
- ⬆️ Upstream Model Fetching: Enhanced ability to fetch and analyze upstream dependencies when interpreting models.
- 👍 Feedback Mechanism: Improved search mechanism for user feedback, making it easier to find and incorporate.
- 📄 Documentation: Comprehensive update to all documentation to reflect new features and workflows.
- 🗂️ Project Initialization: Improved project initialization workflow with better Cloud support.
- 🔄 Database Reset Command: Added a DB reset command for easier setup and testing.
- 🔍 Question Answering: Significant improvements to the question answering flow.
- 🧩 Model Compatibility: Added support for different model capabilities, including special handling for models like o3-mini.
🧪 Technical Changes
- 🏗️ Agent Architecture Refactoring: Completely refactored the agents for better performance and maintainability.
- 🔧 Tool Declaration Improvements: Enhanced the way tools are declared and used within the system.
- 🧹 Streamlined Codebase: Removed unnecessary components to focus on core functionality.
- 🔁 Default Iteration Parameters: Switched to one default iteration with optimized parameters.
- 📋 Variable Name Fixes: Fixed legacy variable names in prompts.
- 💾 File Saving Improvements: Enhanced file saving mechanism during model interpretation.
- 🎛️ Flexible Configuration: Added environment variables for model selection and temperature control.
🔍 Getting Started
Refer to the README.md for detailed installation and usage instructions.
⚙️ Requirements
- Python 3.10+
- PostgreSQL with pgvector extension
- OpenAI API key
- dbt project (local or in dbt Cloud)
💌 Feedback and Contributions
Feedback and contributions are welcome! Please create issues or pull requests on GitHub.
v0.5.0
🚀 dbt-llm-agent v0.5.0 Release Notes
✨ New Features
🏗️ Project Initialization Enhancements
- New Command Structure: Introduced
init
command replacing the legacyparse
command - Flexible Setup Options:
☁️ cloud
: Seamless integration with dbt Cloud metadata💻 local
: Direct compilation using local dbt environment📄 source
: Simple parsing from project source files
- Streamlined Workflow: More intuitive project initialization process
🧠 Agentic Model Interpretation
- Intelligent Analysis: Step-by-step model interpretation with upstream verification
- Improved Persistence: Enhanced file saving during interpretations
- Reliability: Fixed several interpretation-related bugs
🔍 Question Answering Improvements
- Enhanced Agentic Flow: Smarter, more conversational Q&A experience
- Feedback Integration: Uses past feedback to improve future answers
- Performance Optimization: Default iteration model with configurable parameters
- Prompt Engineering: Fixed and improved prompt templates
🛠️ Improvements & Fixes
💾 Database Management
- Reset Command: Added database reset functionality
- Schema Management: Enhanced database schema handling
🐞 Bug Fixes
- Fixed method reference issues in interpretation
- Resolved embed command problems
- Eliminated redundant code
- Various minor bug fixes throughout the codebase
🧹 Code Refactoring
- Centralized model documentation in the model class
- Optimized LLM interaction patterns
- Removed legacy code components
- Improved overall code organization and maintainability
📚 Documentation
- Comprehensive README updates with clear setup instructions
- Detailed command examples and explanations
- Enhanced feedback functionality documentation
We're excited to continue improving dbt-llm-agent! Please share your feedback and experience with this release.
v0.4.0
dbt-llm-agent v0.4.0 Release Notes
We're excited to announce the release of dbt-llm-agent v0.4.0, which introduces several major improvements to the agent's interpretation capabilities, question-answering workflow, and overall user experience.
What's New
Agentic Model Interpretation
The standout feature of this release is the new agentic model interpretation system that provides more accurate and comprehensive model documentation:
- Intelligent Verification Process: The agent now analyzes upstream models to validate its interpretations, ensuring completeness and accuracy
- Column-Level Recommendations: Identifies missing, incorrect, or unnecessary columns in model documentation
- Configurable Iterations: Users can control the number of verification iterations (1-5) for balancing speed and thoroughness
- Detailed Feedback: Verbose mode shows exactly what improvements are being made in each iteration
Enhanced Question-Answering
- Improved Agentic Workflow: Complete redesign of the question-answering process for more comprehensive answers
- Advanced Feedback Mechanism: User feedback on previous answers is now collected, stored, and actively used to improve future responses
- Feedback Integration: The agent incorporates past feedback patterns to refine its understanding of user preferences and expectations
- Better Context Management: More effective use of upstream and downstream model information when answering questions
Usability Improvements
- Simplified API Start: Updated command to run the API server via
python -m dbt_llm_agent.api.server
- Simplified Slack Bot Start: Updated command to run the Slack bot via
python -m dbt_llm_agent.integrations.slack_bot
- Improved CLI: Cleaner command structure and better help documentation
- Streamlined Model Documentation: Model documentation functionality has been moved to the model class for better organization
Legacy Code Cleanup
- Removed unnecessary CLI flags and configuration options
- Fixed legacy variable names in prompts
- General code refactoring for better maintainability
Installation Instructions
To install dbt-llm-agent v0.4.0:
# Clone the repository
git clone https://github.com/pragunbhutani/dbt-llm-agent.git
cd dbt-llm-agent
# Install dependencies with Poetry
poetry install
Create a .env
file with your configuration and initialize the database:
# Initialize the database
poetry run dbt-llm-agent init-db
poetry run dbt-llm-agent migrate
If you're upgrading from a previous version, run migrations after pulling the latest code:
git pull origin main
poetry install
poetry run dbt-llm-agent migrate
Examples
Using the new agentic interpretation:
# Basic interpretation with one verification iteration (default)
poetry run dbt-llm-agent interpret customer_orders
# More thorough interpretation with three iterations and detailed feedback
poetry run dbt-llm-agent interpret customer_orders --iterations 3 --verbose
# Interpret multiple models using dbt selection syntax
poetry run dbt-llm-agent interpret --select "tag:marketing" --iterations 2
Using the improved feedback system:
# Ask a question
poetry run dbt-llm-agent ask "What does the customer_orders model do?"
# Provide feedback on the answer (using the question ID from the response)
poetry run dbt-llm-agent feedback 123 --useful=true --feedback="Clear explanation of the joins"
# List previous questions with their feedback
poetry run dbt-llm-agent questions --useful=true --limit=20
Starting the API server or Slack bot:
# Start the API server
python -m dbt_llm_agent.api.server
# Start the Slack bot
python -m dbt_llm_agent.integrations.slack_bot
Breaking Changes
- Commands to start the API server and Slack bot have changed (see examples above)
- Some legacy configuration options have been removed
- The model interpretation workflow has been completely redesigned
Looking Ahead
We're continuing to refine the agent's capabilities and make it more useful for dbt projects of all sizes. Future releases will focus on improving performance, expanding integration options, and enhancing the quality of generated documentation.
Thank you for using dbt-llm-agent!
v0.3.0
dbt-llm-agent: Major Update - CLI Interface & Switch to pgVector 🚀
We're excited to announce a major update to dbt-llm-agent that brings significant architectural improvements and new features to help you interact with your dbt projects more effectively.
🎯 Major Changes
New CLI-based Interface
- Migrated from Streamlit to a powerful command-line interface
- Intuitive commands for all major operations
- Support for dbt's model selection syntax
- Improved user experience and flexibility
PostgreSQL + pgvector Integration
- Switched to PostgreSQL with pgvector for simplicity
✨ New Features
Model Interpretation
- Analyze and understand dbt models in natural language
- Generate comprehensive documentation automatically in dbt YML format
- Support for batch interpretation using dbt selectors
poetry run dbt-llm-agent interpret --select "/core/facts"
Enhanced Embedding System
- Improved model embedding functionality
- Selective model embedding using dbt selection syntax
poetry run dbt-llm-agent embed --select "tag:marketing,+downstream_model"
Question & Answer System
- Ask natural language questions about your dbt project
- Track questions and answers for future reference
- Submit feedback to improve answer quality
poetry run dbt-llm-agent ask "What does the model customer_orders do?"
Feedback System
- Track and store user feedback on answers
- Continuous improvement through feedback loop
- Query past questions and their usefulness
poetry run dbt-llm-agent feedback 123 --useful=true --feedback="The answer was clear and helpful"
🛠 Technical Improvements
- Refactored command structure for better maintainability
- Improved error handling and logging
- Enhanced model details reading functionality
- Better code organization and modularity
📚 Documentation
The README has been updated with comprehensive documentation including:
- Detailed installation instructions
- Usage examples for all commands
- Environment setup guide
- API documentation
- Development guidelines
🔧 Installation
Ensure you have the prerequisites:
- Python 3.10+
- PostgreSQL 13+ with pgvector extension
- OpenAI API key
- dbt project
Follow the installation instructions in the README to get started.
🔜 What's Next
We're continuously working to improve dbt-llm-agent. Stay tuned for:
- Enhanced model interpretation and answering capabilities
- Agentic flows and tool calling
- More integration options
- Expanded documentation generation
🤝 Contributing
We welcome contributions! Feel free to submit issues, feature requests, or pull requests.
For detailed installation and usage instructions, please refer to our README.
This release announcement highlights the major architectural changes (CLI and pgvector), emphasizes the new features (interpretation, embedding, Q&A, feedback system), and provides clear examples of how to use the new functionality. Would you like me to make any adjustments to the announcement?
Full Changelog: v0.2.0...v0.3.0
Streamlit interface and other patches
This release adds a streamlit interface to make it easier to interact with the tools provided in the library. I've also added various patches and fixes to the underlying classes.
First Release
Merge pull request #14 from pragunbhutani/development feat: migrating the project to use poetry