No project description provided
Project description
God LLM 🤖
A framework for recursive thought expansion and exploration using Large Language Models.
Inspired by the article I wrote Let's Build a God LLM which explores the concept of recursive thought expansion and deep exploration using language models.
🌟 Features
Core Functionality
- Recursive Thought Expansion: Generate and explore interconnected thoughts while maintaining context
- Context Preservation: Maintains parent context during deep exploration
- Relevance Filtering: Automatically removes irrelevant thought branches
- Detailed Reporting: Generate comprehensive analysis of thought patterns
- Debug Mode: Conditional logging for development (
DEBUG=True|False
) - Enhanced Visualization: Better representation of thought trees
Advanced Capabilities
- Grounded Prompting: Improved prompt templates to maintain focus
- Context Management: Efficient handling of conversation history
- Custom Visualization: Methods for displaying thought hierarchies
🛠️ Upcoming Features
High Priority
- Tool Integration
- Implement
with_tools()
method for LLM classes - Support for Tavily integration
- RAG (Retrieval Augmented Generation) implementation
- Function calling in BaseLLM inheritor classes
- Off-the-shelf tool library
- Custom tool creation framework
- Implement
Technical Improvements
- Fix infinite expansion in
expand()
method - Implement comprehensive test suite
- Enhanced graph visualization
- Better divergence control in thought expansion
🚀 Getting Started
from god_llm.core.god import God
from god_llm.plugins.groq import ChatGroq
llm = ChatGroq(
model_name="llama-3.1-70b-versatile",
api_key="hello", #Dummy API key
)
god = God(llm=llm)
god.expand("Why?")
📘 Usage Examples
Basic Thought Expansion
god.report()
Using Tools
# Coming soon
llm = llm.with_tools([
TavilyTool(),
CustomTool(),
RAGTool()
])
🤝 Contributing
Contributions are welcome! Please check out our contribution guidelines before getting started.
🐛 Known Issues
expand()
method may run indefinitely in certain cases- Graph visualization can diverge from initial prompt
- Deep expansion may lose context of original prompt
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
🙏 Acknowledgments
- Original concept inspired by Islam Hachimi's article
- All contributors and feedback providers
Built with ❤️ for better thought exploration
When finding path, also account for relations, combine hierarchical (parent-child) and lateral (relations) nodes for retrieval, give higher weight for parent-child relationships
Allow to ask the right questions, that is the true wisdom of the God LLM
Implement function calling to only retreive questions
FIx errors in scoring
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
god_llm-0.1.1.tar.gz
(18.7 kB
view details)
Built Distribution
god_llm-0.1.1-py3-none-any.whl
(23.1 kB
view details)
File details
Details for the file god_llm-0.1.1.tar.gz
.
File metadata
- Download URL: god_llm-0.1.1.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83b5a1cbe3ada550296f12e99a20fcd04c2bf3de79e6d2428a8a5d17564613b9 |
|
MD5 | 5573a832524c53b873f7820cbb6a4c42 |
|
BLAKE2b-256 | 60b25b3992bd5ddc754f726d41e6855c26767a919e1675f413c06f14f86d7b6f |
File details
Details for the file god_llm-0.1.1-py3-none-any.whl
.
File metadata
- Download URL: god_llm-0.1.1-py3-none-any.whl
- Upload date:
- Size: 23.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d74b3dd09c4b586abb90d3132171269cb129dbe164eac7733977bdbd6cecf3a |
|
MD5 | 59e37e94b577b345045e52fe1380e13d |
|
BLAKE2b-256 | 87d5943cf0c139201e4b19c53effe28aef9f54646648e09967280e3f82df592d |