Google SELF-DISCOVER algorithm implementation
Top 90.4% on sourcepulse
This repository implements Google's SELF-DISCOVER algorithm, a method for enabling large language models (LLMs) to autonomously discover and utilize tools. It's designed for researchers and developers looking to enhance LLM capabilities in complex problem-solving scenarios.
How It Works
SELF-DISCOVER employs a multi-stage process: SELECT, ADAPT, and IMPLEMENT. In the SELECT stage, the LLM identifies relevant tools or reasoning modules from a predefined set. The ADAPT stage refines these selections, tailoring them to the specific problem context. Finally, the IMPLEMENT stage generates a structured reasoning process, breaking down the problem and applying the adapted modules to arrive at a solution. This iterative refinement and structured approach aim to improve LLM reliability and transparency in tool use.
Quick Start & Requirements
conda create -n sd python=3.10 -y
conda activate sd
git clone https://github.com/catid/self-discover.git
cd self-discover
pip install -r requirements.txt
self_discover.py
with your API key and run python self_discover.py
. The README provides an example output using a self-hosted Miqu 70B model on two 4090 GPUs.Highlighted Details
Maintenance & Community
The repository is maintained by catid. No specific community channels or roadmap details are provided in the README.
Licensing & Compatibility
The repository's license is not specified in the README.
Limitations & Caveats
The README does not specify the license, which may impact commercial use. The implementation relies on an external OpenAI API key or a compatible LLM, and successful execution may depend on the quality and capabilities of the chosen LLM.
11 months ago
1 week