BICO (Business Intelligence Companion) is a PoC project that explores the integration of Large Language Models (LLMs) with existing platform services, resolutioning how we interact with complex Business Intelligence (BI) tools. By leveraging the power of AWS services like Bedrock, OpenSearch, and QuickSight, BICO transforms abstract human queries into structured API calls, making sophisticated BI operations accessible to a wider audience.
BICO translates natural language into QuickSight dashboards:
v1.mp4
comment: LLM intervention platform service becomes a reality
BICO in action as it generates optimized SQL queries from natural language:
v3_7.mp4
comment: Extract every ounce of reasoning ability from the LLM in responding to the query.
BICO can achieve the capability of "Text2Artifact", expanding on ideas like Text2SQL and Text2Platform. This approach allows LLMs to understand and manipulate complex, structured data and platform objects through natural language interactions.
- 🧠 Intelligent parsing of user intents into platform-specific operations
- 🔧 Dynamic generation of API call sequences to fulfill complex requests
- 🎨 Creation and modification of platform artifacts (e.g., SQL queries, QuickSight dashboards) through conversation
BICO explores the balance between API granularity and LLM comprehension:
- 🧩 Modular function design optimized for LLM understanding and chaining
- 🔗 Handle-based memory management for complex object manipulation
- 📚 Rich, context-aware function documentation and pseudo-code prompts to guide LLM decision-making
- 📊 Natural language to SQL query conversion (Text2SQL)
- 🎨 AI-driven QuickSight dashboard creation (Text2Artifact)
- 🧠 Navigating and aligning complex relationships between tables with varying granularities
- ⚡ Optimization-aware query construction and dashboard design
- 🖼️ Handle-based object management for artifact elements
- 📝 Pseudo-code prompts for guided AI operations
- 🤝 Contribute to the development of more intuitive Text2Artifact systems
- 🔍 Explore optimal API designs for LLM integration
- 🌟 Help shape the future of AI-assisted technology interaction
-
Set permissions for AWS IAM.
This project uses the isengard account, including bedrock models, knowledge base, and quicksight, all managed implicitly through IAM. The RDS database parameters need to be manually configured in the database.py file. The OpenSearch index parameters need to be manually configured in search_tool.py.
-
Install dependencies:
pip install -r requirements.txt -
Run the main script:
chainlit run app.py
BICO is released under the MIT License.
The project won the second prize in the AWS GCR Hackathon.