A python library for brainstorming by multiple LLMs.
Project description
monju: Multi-AI Brainstorming Framework
Monju is a powerful multi-AI brainstorming framework designed to generate, organize, and evaluate ideas using various Large Language Models (LLMs).
The Japanese proverb “三人寄れば文殊の知恵” (San nin yoreba monju no chie) is often translated into English as “Two heads are better than one”. However, a more literal translation would be “When three people gather, they have the wisdom of Manjushri”.
Features
- Generate ideas based on a given theme
- Organize ideas into mindmaps and affinity diagrams (class diagrams)
- Evaluate generated ideas
- Support for multiple LLM providers (e.g. OpenAI, Anthropic, Google)
- Customizable parameters for idea generation
The project started as a web app monju.ai, which was released in July 2024.
This library is the core of monju.ai that does not include frontend part.
For general information of monju.ai, see my article from Medium "monju.ai: a creativity enhancement tool that uses multiple generative AIs to generate ideas and organize mind maps".
Brainstorming Process by monju
For the general approach to brainstorming, see Brainstorming - Wikipedia.
The brainstorming process by monju consists of three main steps:
- Generate ideas in list
- Organize ideas in mindmap and class diagram in Mermaid
- Evaluate ideas including overall, good points, and areas for improvement
Each step is implemented as a method in the Monju class.
Both mindmap and class diagram are described in Mermaid text format. Output can be drawn by any mermaid-compatible tools mainly in JavaScript, e.g. Mermaid Live Editor.
KJ method (Affinity Diagram)
In Japan, another popular ideation tool "KJ method" is often used as part of brainstorming. This method might be known as "affinity diagram" in English.
The KJ method is to categorize ideas into groups based on their similarity. Each idea is written on a single card, then categorized into groups with labels.
People in Japan hesitate open discussion. Writing in cards and categorizing them into groups might help open mind.
In monju, affinity diagram is generated as class diagram of Mermaid. This process is called "pseudo KJ method" in this library.
For details of KJ method, see Affinity diagram - Wikipedia.
Installation
pip install monju
Requirements
- Python 3.10 or later
- API keys for the LLM providers
This library uses LLMMaster, a unified interface to access major LLM providers. Set API keys following the instructions from LLM Master, another repository by the same author.
Usage
Batch Execution
By just one call, all the steps of brainstorming can be done. Here is an typical example.
import json
from pathlib import Path
from monju import Monju
API_KEY = Path('your_api_keys.txt').read_text(encoding='utf-8')
# Use this function to arrange parameters in dictionary format.
def pack_parameters(**kwargs):
return kwargs
# Initialize monju with your API keys and brainstorming parameters
params = pack_parameters(
theme="How to survive in the era of emerging AI?",
ideas=5,
freedom=0.2,
language="en"
)
bs = Monju(api_keys=API_KEY, verbose=True, reduction=True, **params)
# Start the brainstorming process
bs.brainstorm()
# Show the results
print(f'Result:\n{json.dumps(bs.record, indent=2, ensure_ascii=False)}')
Before running, set your API keys for the dedicated LLMs in your_api_keys.txt. The format shall be:
ANTHROPIC_API_KEY=your_anthropic_key
GOOGLE_API_KEY=your_google_key
OPENAI_API_KEY=your_openai_key
By default, monju uses Anthropic, Google and OpenAI models. Keep in mind to secure handling of your API keys.
Information related to a session is stored in bs.record as dict. You can extract items you want, or print/save this record as JSON.
The parameter verbose prints progress on your screen if set True (default is False).
NEW for v0.3.0
The parameter reduction will try to remove duplicate ideas generated by multiple LLMs. It is often a hard work to manually adjust generated mindmap/affinity diagram consisting of many ideas on screen. By setting this parameter True, it may support reducing some similar ideas and make clearer mindmap and affinity diagram (default is False).
Step-by-Step Execution
There is another way to use monju by calling each process step by step.
The following example works equivalently to the batch execution example above.
import json
from pathlib import Path
from monju import Monju
from monju.config import KEY_IDEA_REDUCTION
from monju.config import KEY_MINDMAP
from monju.config import KEY_CLASS_DIAGRAM
# Initialize monju with your API keys and brainstorming parameters
bs = Monju(
api_keys=Path('your_api_keys.txt').read_text(encoding='utf-8'),
verbose=True,
reduction=True,
**{
"theme": "How to survive in the era of emerging AI?",
"ideas": 5,
"freedom": 0.2,
"language": "en"
}
)
print(f"Status: {bs.status}")
bs.generate_ideas()
print(f"Status: {bs.status}")
bs.reduce_ideas(**{
KEY_IDEA_REDUCTION: {
"provider": "deepseek",
"temperature": 0.0
}
})
print(f"Status: {bs.status}")
bs.organize_ideas(**{
KEY_MINDMAP: {
"provider": "deepseek",
"temperature": 0.0
},
KEY_CLASS_DIAGRAM: {
"provider": "deepseek",
"temperature": 0.0
}
})
print(f"Status: {bs.status}")
bs.evaluate_ideas(**{
"openai": {
"provider": "openai",
"model": "o3-mini",
"reasoning_effort": "high"
},
"anthropic": {
"provider": "anthropic",
"model": "claude-3-7-sonnet-20250219",
"thinking": {"type": "enabled", "budget_tokens": 10000},
"max_tokens": 128000
},
})
print(f"Status: {bs.status}")
bs.verify()
print(f"Status: {bs.status}")
# Show the results
print(f'Result:\n{json.dumps(bs.record, indent=2, ensure_ascii=False)}')
The latest models of thinking/reasoning can also be used, especially for evaluation.
Types of bs.status are explained in later section.
Input Parameters
There are several parameters to set for Monju class:
- Constractor parameters:
api_keys(str): API keys for LLMs inLLMMastermannerverbose(bool): print progress for debugging, default isFalsereduction(bool): remove duplicate ideas, default isFalse
- Brainstorming parameters
paramsasdict:theme(str) required: theme or topic of brainstorming, a.k.a. promptideas(int): number of ideas to generate by each LLMfreedom(float): value of freedom-looking thinking for each LLM, a.k.a.temperature, between 0 and 1. Higher more free-thinking, lower more concervative.language(str): language for output, default isenand must be followed by two-letter code defined in ISO 639-1
Output Format
Results, bs.record in the examples, are given in dict. Here is an actual output of the batch brainstorming given the code above.
{
"input": {
"theme": "How to survive in the era of emerging AI?",
"ideas": 5,
"freedom": 0.2,
"language": "en",
"idea_generation": {
"openai": {
"provider": "openai",
"model": "gpt-4o-mini",
"prompt": "\nPurpose: Generate 5 ideas on the following \"Theme\" and meeting the \"Conditions\".\n\nConditions:\n1. Propose ideas with free thinking.\n2. Consider the 5W1H when proposing.\n3. Return the results in bullet points as shown in the \"Format\".\n4. The language of the output is in en of ISO 639-1 format.\n5. Do not include your explanations.\n6. Do not add any unnecessary decorations to the bullet points.\n\nTheme: How to survive in the era of emerging AI?\n\nFormat:\n- Idea\n",
"temperature": 0.2
},
"anthropic": {
"provider": "anthropic",
"model": "claude-3-haiku-20240307",
"prompt": "\nPurpose: Generate 5 ideas on the following \"Theme\" and meeting the \"Conditions\".\n\nConditions:\n1. Propose ideas with free thinking.\n2. Consider the 5W1H when proposing.\n3. Return the results in bullet points as shown in the \"Format\".\n4. The language of the output is in en of ISO 639-1 format.\n5. Do not include your explanations.\n6. Do not add any unnecessary decorations to the bullet points.\n\nTheme: How to survive in the era of emerging AI?\n\nFormat:\n- Idea\n",
"temperature": 0.2
},
"google": {
"provider": "google",
"model": "gemini-1.5-flash",
"prompt": "\nPurpose: Generate 5 ideas on the following \"Theme\" and meeting the \"Conditions\".\n\nConditions:\n1. Propose ideas with free thinking.\n2. Consider the 5W1H when proposing.\n3. Return the results in bullet points as shown in the \"Format\".\n4. The language of the output is in en of ISO 639-1 format.\n5. Do not include your explanations.\n6. Do not add any unnecessary decorations to the bullet points.\n\nTheme: How to survive in the era of emerging AI?\n\nFormat:\n- Idea\n",
"temperature": 0.2
}
},
"idea_reduction": {
"idea_reduction": {
"provider": "openai",
"model": "gpt-4o",
"prompt": "\nPurpose: Remove duplicate ideas from the \"Idea List\".\n\nConditions:\n1. The language of the output is in en of ISO 639-1 format.\n2. Return the results also in the same list format.\n3. Do not include your explanations.\n4. Do not add any unnecessary decorations to the bullet points.\n\nIdea List:\n- Embrace continuous learning: Invest time in acquiring new skills and knowledge to stay relevant in an AI-driven job market.\n- Collaborate with AI: Develop partnerships with AI tools to enhance productivity and creativity in your work.\n- Focus on emotional intelligence: Cultivate interpersonal skills that AI cannot replicate, such as empathy and communication.\n- Innovate in niche markets: Identify and explore unique areas where human creativity and intuition can outshine AI capabilities.\n- Advocate for ethical AI: Engage in discussions and initiatives that promote responsible AI development and usage in society.\n- Develop skills in critical thinking, problem-solving, and creativity to adapt to AI-driven changes\n- Embrace lifelong learning and continuously upskill to stay relevant in the job market\n- Leverage AI tools to enhance productivity and efficiency in your work\n- Diversify your income streams and explore entrepreneurial opportunities\n- Advocate for ethical AI development and responsible implementation in your community\n- Develop specialized skills AI cannot easily replicate, focusing on creativity, critical thinking, and complex problem-solving. Who: Individuals; What: Skill development; When: Now; Where: Online courses, workshops; Why: Future-proof career; How: Dedicated learning and practice.\n\n- Become an AI trainer or prompt engineer, leveraging human expertise to improve AI performance. Who: Tech-savvy individuals; What: AI training; When: Immediately; Where: Online platforms; Why: High demand; How: Acquire relevant skills and certifications.\n\n- Focus on human-centric industries like healthcare, education, and the arts, where empathy and nuanced understanding remain crucial. Who: Professionals; What: Career shift; When: Now; Where: Relevant sectors; Why: AI-resistant fields; How: Retraining and networking.\n\n- Embrace lifelong learning and adaptability, constantly updating skills to remain relevant in a changing job market. Who: Everyone; What: Continuous learning; When: Ongoing; Where: Online resources, universities; Why: Adaptability; How: Active engagement in learning.\n\n- Create and promote AI-augmented businesses that leverage AI's strengths while emphasizing human interaction and unique value propositions. Who: Entrepreneurs; What: Business creation; When: Now; Where: Market research; Why: Capitalize on AI; How: Develop innovative business models.\n"
}
},
"mindmap": {
"mindmap": {
"provider": "openai",
"model": "gpt-4o",
"prompt": "\nPurpose: Organize the \"Idea List\" into a mindmap based on the \"Theme\" and meeting the \"Conditions\".\n\nTheme: How to survive in the era of emerging AI?\n\nConditions:\n1. Output the result in \"Format\" as Mermaid chart. Do not include your explanations.\n2. Group similar items in the \"Idea List\" into several groups and create a hierarchical structure.\n3. The language of the output is in en of ISO 639-1 format.\n\nIdea List:\n- Embrace continuous learning: Invest time in acquiring new skills and knowledge to stay relevant in an AI-driven job market.\n- Collaborate with AI: Develop partnerships with AI tools to enhance productivity and creativity in your work.\n- Focus on emotional intelligence: Cultivate interpersonal skills that AI cannot replicate, such as empathy and communication.\n- Innovate in niche markets: Identify and explore unique areas where human creativity and intuition can outshine AI capabilities.\n- Advocate for ethical AI: Engage in discussions and initiatives that promote responsible AI development and usage in society.\n- Develop skills in critical thinking, problem-solving, and creativity to adapt to AI-driven changes.\n- Leverage AI tools to enhance productivity and efficiency in your work.\n- Diversify your income streams and explore entrepreneurial opportunities.\n- Develop specialized skills AI cannot easily replicate, focusing on creativity, critical thinking, and complex problem-solving.\n- Become an AI trainer or prompt engineer, leveraging human expertise to improve AI performance.\n- Focus on human-centric industries like healthcare, education, and the arts, where empathy and nuanced understanding remain crucial.\n- Create and promote AI-augmented businesses that leverage AI's strengths while emphasizing human interaction and unique value propositions.\n\nFormat:\n```mermaid\nmindmap\n How to survive in the era of emerging AI?\n (Summary of ideas)\n (Idea item)\n```\n"
}
},
"class_diagram": {
"class_diagram": {
"provider": "openai",
"model": "gpt-4o",
"prompt": "\nPurpose: Organize the \"Idea List\" into a class diagram based on the \"Theme\" and meeting the \"Conditions\".\n\nTheme: How to survive in the era of emerging AI?\n\nConditions:\n1. Output the result in \"Format\" as Mermaid chart. Do not include your explanations.\n2. Make 3 to 7 groups by finding similar items in the \"Idea List\", and define `class` for output.\n3. Look for classes that seem related and draw line between them using `-->` for output.\n4. The language of the output is in en of ISO 639-1 format.\n\nIdea List:\n- Embrace continuous learning: Invest time in acquiring new skills and knowledge to stay relevant in an AI-driven job market.\n- Collaborate with AI: Develop partnerships with AI tools to enhance productivity and creativity in your work.\n- Focus on emotional intelligence: Cultivate interpersonal skills that AI cannot replicate, such as empathy and communication.\n- Innovate in niche markets: Identify and explore unique areas where human creativity and intuition can outshine AI capabilities.\n- Advocate for ethical AI: Engage in discussions and initiatives that promote responsible AI development and usage in society.\n- Develop skills in critical thinking, problem-solving, and creativity to adapt to AI-driven changes.\n- Leverage AI tools to enhance productivity and efficiency in your work.\n- Diversify your income streams and explore entrepreneurial opportunities.\n- Develop specialized skills AI cannot easily replicate, focusing on creativity, critical thinking, and complex problem-solving.\n- Become an AI trainer or prompt engineer, leveraging human expertise to improve AI performance.\n- Focus on human-centric industries like healthcare, education, and the arts, where empathy and nuanced understanding remain crucial.\n- Create and promote AI-augmented businesses that leverage AI's strengths while emphasizing human interaction and unique value propositions.\n\nFormat:\n```mermaid\nclassDiagram\n class ClassA {\n idea\n }\n class ClassB {\n idea\n }\n ClassA --> ClassB\n```\n"
}
},
"idea_evaluation": {
"openai": {
"provider": "openai",
"model": "gpt-4o-mini",
"prompt": "\nPurpose: Evaluate the \"Mindmap\" based on the \"Theme\" and meeting the \"Conditions\".\n\nTheme: How to survive in the era of emerging AI?\n\nConditions:\n1. Write \"Overall Evaluation\", \"Good Points\", and \"Areas for Improvement\" according to the \"Format\".\n2. Write as concisely and focused on key points as possible.\n3. The language of the output is in en of ISO 639-1 format.\n4. Do not add any unnecessary decorations to the bullet points.\n\nMindmap:\nmindmap\n How to survive in the era of emerging AI?\n Education and Skill Development\n Embrace continuous learning\n Develop skills in critical thinking, problem-solving, and creativity\n Develop specialized skills AI cannot easily replicate\n Collaboration with AI\n Collaborate with AI\n Leverage AI tools to enhance productivity and efficiency\n Become an AI trainer or prompt engineer\n Emotional and Human-Centric Skills\n Focus on emotional intelligence\n Focus on human-centric industries like healthcare, education, and the arts\n Innovation and Entrepreneurship\n Innovate in niche markets\n Diversify your income streams and explore entrepreneurial opportunities\n Create and promote AI-augmented businesses\n Ethical AI and Advocacy\n Advocate for ethical AI\n\nFormat:\n- Overall Evaluation:\n - Bullet point\n- Good Points:\n - Bullet point\n- Areas for Improvement:\n - Bullet point\n"
},
"anthropic": {
"provider": "anthropic",
"model": "claude-3-haiku-20240307",
"prompt": "\nPurpose: Evaluate the \"Mindmap\" based on the \"Theme\" and meeting the \"Conditions\".\n\nTheme: How to survive in the era of emerging AI?\n\nConditions:\n1. Write \"Overall Evaluation\", \"Good Points\", and \"Areas for Improvement\" according to the \"Format\".\n2. Write as concisely and focused on key points as possible.\n3. The language of the output is in en of ISO 639-1 format.\n4. Do not add any unnecessary decorations to the bullet points.\n\nMindmap:\nmindmap\n How to survive in the era of emerging AI?\n Education and Skill Development\n Embrace continuous learning\n Develop skills in critical thinking, problem-solving, and creativity\n Develop specialized skills AI cannot easily replicate\n Collaboration with AI\n Collaborate with AI\n Leverage AI tools to enhance productivity and efficiency\n Become an AI trainer or prompt engineer\n Emotional and Human-Centric Skills\n Focus on emotional intelligence\n Focus on human-centric industries like healthcare, education, and the arts\n Innovation and Entrepreneurship\n Innovate in niche markets\n Diversify your income streams and explore entrepreneurial opportunities\n Create and promote AI-augmented businesses\n Ethical AI and Advocacy\n Advocate for ethical AI\n\nFormat:\n- Overall Evaluation:\n - Bullet point\n- Good Points:\n - Bullet point\n- Areas for Improvement:\n - Bullet point\n"
},
"google": {
"provider": "google",
"model": "gemini-1.5-flash",
"prompt": "\nPurpose: Evaluate the \"Mindmap\" based on the \"Theme\" and meeting the \"Conditions\".\n\nTheme: How to survive in the era of emerging AI?\n\nConditions:\n1. Write \"Overall Evaluation\", \"Good Points\", and \"Areas for Improvement\" according to the \"Format\".\n2. Write as concisely and focused on key points as possible.\n3. The language of the output is in en of ISO 639-1 format.\n4. Do not add any unnecessary decorations to the bullet points.\n\nMindmap:\nmindmap\n How to survive in the era of emerging AI?\n Education and Skill Development\n Embrace continuous learning\n Develop skills in critical thinking, problem-solving, and creativity\n Develop specialized skills AI cannot easily replicate\n Collaboration with AI\n Collaborate with AI\n Leverage AI tools to enhance productivity and efficiency\n Become an AI trainer or prompt engineer\n Emotional and Human-Centric Skills\n Focus on emotional intelligence\n Focus on human-centric industries like healthcare, education, and the arts\n Innovation and Entrepreneurship\n Innovate in niche markets\n Diversify your income streams and explore entrepreneurial opportunities\n Create and promote AI-augmented businesses\n Ethical AI and Advocacy\n Advocate for ethical AI\n\nFormat:\n- Overall Evaluation:\n - Bullet point\n- Good Points:\n - Bullet point\n- Areas for Improvement:\n - Bullet point\n"
}
}
},
"output": {
"elapsed_time": [
2.709,
3.145,
4.449,
3.112
],
"ideas": {
"openai": "- Embrace continuous learning: Invest time in acquiring new skills and knowledge to stay relevant in an AI-driven job market.\n- Collaborate with AI: Develop partnerships with AI tools to enhance productivity and creativity in your work.\n- Focus on emotional intelligence: Cultivate interpersonal skills that AI cannot replicate, such as empathy and communication.\n- Innovate in niche markets: Identify and explore unique areas where human creativity and intuition can outshine AI capabilities.\n- Advocate for ethical AI: Engage in discussions and initiatives that promote responsible AI development and usage in society.",
"anthropic": "- Develop skills in critical thinking, problem-solving, and creativity to adapt to AI-driven changes\n- Embrace lifelong learning and continuously upskill to stay relevant in the job market\n- Leverage AI tools to enhance productivity and efficiency in your work\n- Diversify your income streams and explore entrepreneurial opportunities\n- Advocate for ethical AI development and responsible implementation in your community",
"google": "- Develop specialized skills AI cannot easily replicate, focusing on creativity, critical thinking, and complex problem-solving. Who: Individuals; What: Skill development; When: Now; Where: Online courses, workshops; Why: Future-proof career; How: Dedicated learning and practice.\n\n- Become an AI trainer or prompt engineer, leveraging human expertise to improve AI performance. Who: Tech-savvy individuals; What: AI training; When: Immediately; Where: Online platforms; Why: High demand; How: Acquire relevant skills and certifications.\n\n- Focus on human-centric industries like healthcare, education, and the arts, where empathy and nuanced understanding remain crucial. Who: Professionals; What: Career shift; When: Now; Where: Relevant sectors; Why: AI-resistant fields; How: Retraining and networking.\n\n- Embrace lifelong learning and adaptability, constantly updating skills to remain relevant in a changing job market. Who: Everyone; What: Continuous learning; When: Ongoing; Where: Online resources, universities; Why: Adaptability; How: Active engagement in learning.\n\n- Create and promote AI-augmented businesses that leverage AI's strengths while emphasizing human interaction and unique value propositions. Who: Entrepreneurs; What: Business creation; When: Now; Where: Market research; Why: Capitalize on AI; How: Develop innovative business models."
},
"idea_list": "- Embrace continuous learning: Invest time in acquiring new skills and knowledge to stay relevant in an AI-driven job market.\n- Collaborate with AI: Develop partnerships with AI tools to enhance productivity and creativity in your work.\n- Focus on emotional intelligence: Cultivate interpersonal skills that AI cannot replicate, such as empathy and communication.\n- Innovate in niche markets: Identify and explore unique areas where human creativity and intuition can outshine AI capabilities.\n- Advocate for ethical AI: Engage in discussions and initiatives that promote responsible AI development and usage in society.\n- Develop skills in critical thinking, problem-solving, and creativity to adapt to AI-driven changes.\n- Leverage AI tools to enhance productivity and efficiency in your work.\n- Diversify your income streams and explore entrepreneurial opportunities.\n- Develop specialized skills AI cannot easily replicate, focusing on creativity, critical thinking, and complex problem-solving.\n- Become an AI trainer or prompt engineer, leveraging human expertise to improve AI performance.\n- Focus on human-centric industries like healthcare, education, and the arts, where empathy and nuanced understanding remain crucial.\n- Create and promote AI-augmented businesses that leverage AI's strengths while emphasizing human interaction and unique value propositions.",
"mindmap": "mindmap\n How to survive in the era of emerging AI?\n Education and Skill Development\n Embrace continuous learning\n Develop skills in critical thinking, problem-solving, and creativity\n Develop specialized skills AI cannot easily replicate\n Collaboration with AI\n Collaborate with AI\n Leverage AI tools to enhance productivity and efficiency\n Become an AI trainer or prompt engineer\n Emotional and Human-Centric Skills\n Focus on emotional intelligence\n Focus on human-centric industries like healthcare, education, and the arts\n Innovation and Entrepreneurship\n Innovate in niche markets\n Diversify your income streams and explore entrepreneurial opportunities\n Create and promote AI-augmented businesses\n Ethical AI and Advocacy\n Advocate for ethical AI",
"class_diagram": "classDiagram\n class ContinuousLearning {\n Embrace continuous learning: Invest time in acquiring new skills and knowledge\n Develop skills in critical thinking, problem-solving, and creativity\n Develop specialized skills AI cannot easily replicate\n }\n\n class AIIntegration {\n Collaborate with AI: Develop partnerships with AI tools\n Leverage AI tools to enhance productivity and efficiency\n Become an AI trainer or prompt engineer\n Create and promote AI-augmented businesses\n }\n\n class EmotionalIntelligence {\n Focus on emotional intelligence: Cultivate interpersonal skills\n Focus on human-centric industries like healthcare, education, and the arts\n }\n\n class MarketInnovation {\n Innovate in niche markets: Identify and explore unique areas\n Diversify your income streams and explore entrepreneurial opportunities\n }\n\n class EthicalAdvocacy {\n Advocate for ethical AI: Engage in discussions and initiatives\n }\n\n ContinuousLearning --> AIIntegration\n AIIntegration --> EmotionalIntelligence\n EmotionalIntelligence --> MarketInnovation\n MarketInnovation --> EthicalAdvocacy",
"evaluation": {
"openai": "- Overall Evaluation:\n - The mindmap effectively outlines strategies to navigate the challenges posed by emerging AI technologies.\n\n- Good Points:\n - Emphasizes continuous learning and skill development relevant to the evolving job market.\n - Highlights collaboration with AI, enhancing productivity and new career opportunities.\n - Recognizes the importance of emotional and human-centric skills, which remain valuable despite automation.\n - Encourages innovation and entrepreneurship, promoting adaptability in niche markets.\n - Advocates for ethical considerations in AI development, fostering responsible usage.\n\n- Areas for Improvement:\n - Could include more specific examples or resources for skill development and learning.\n - May benefit from exploring potential challenges in collaboration with AI and ways to overcome them.\n - Should address the importance of digital literacy in a more explicit manner.\n - Could expand on methods for advocating ethical AI practices effectively.",
"anthropic": "Overall Evaluation:\n- The mindmap provides a comprehensive overview of the key strategies and considerations for surviving in the era of emerging AI, covering essential aspects such as education, collaboration, emotional and human-centric skills, innovation, and ethical AI advocacy.\n\nGood Points:\n- The mindmap emphasizes the importance of continuous learning, developing specialized skills that AI cannot easily replicate, and leveraging AI tools to enhance productivity and efficiency.\n- It highlights the value of focusing on emotional intelligence and human-centric industries, which can be less vulnerable to AI automation.\n- The mindmap encourages innovation in niche markets, diversifying income streams, and creating AI-augmented businesses, recognizing the entrepreneurial opportunities in the AI era.\n- It acknowledges the significance of advocating for ethical AI, which is crucial for ensuring the responsible development and deployment of AI technologies.\n\nAreas for Improvement:\n- The mindmap could benefit from providing more specific examples or strategies within each category to help readers better understand how to implement the suggested approaches.\n- It could also explore the potential challenges or risks associated with each recommendation, as well as strategies for mitigating those challenges.\n- Incorporating additional resources or references for further learning and guidance could enhance the usefulness of the mindmap.",
"google": "- Overall Evaluation:\n - The mindmap provides a comprehensive overview of strategies for surviving in the age of emerging AI, covering skill development, collaboration, human-centric approaches, and ethical considerations.\n\n- Good Points:\n - Covers a wide range of relevant survival strategies.\n - Highlights the importance of both technical and soft skills.\n - Includes ethical considerations, a crucial aspect often overlooked.\n\n- Areas for Improvement:\n - Lack of specific examples or actionable steps within each branch.\n - Could benefit from including strategies for adapting to potential job displacement.\n - Could expand on the \"Collaboration with AI\" section to include risk mitigation strategies related to AI bias and dependency."
}
}
}
The record object contains the following information:
input:theme: same as one in the input parameter.ideas: same as one in the input parameter.freedom: same as one in the input parameter.language: same as one in the input parameter.idea_generation: LLM information used for idea generation.idea_reduction: LLM information used for idea reduction (ifreduction = True)mindmap: LLM information used for mindmap generation.class_diagram: LLM information used for affinity diagram generation.idea_evaluation: LLM information used for idea evaluation.
output:elapsed_time: Elapsed time in seconds aslist: (1) idea generation, (2) idea reduction, (3) mindmap and class diagram generation, (4) idea evaluation in this order. Mindmaps and class diagrams are generated in a single process, running simultaniously.ideas: Ideas generatedy by LLM, given indict.idea_list: List of ideas. Ifreduction = False, this list is just a collection ofideas. Ifreduction = True, this list will be another list after the reduction process. This list is used for mindmap and affinity diagram generation.mindmap: Mindmap for the idea list, given in Mermaid format.class_diagram: Affinity diagram for the idea list, given in mermaid format.evaluation: Evaluation of the generated ideas in dictionary format if multiple LLMs are used.
Note: In monju, the class diagram is used for affinity diagram expression.
There are 5 ideas generated by each LLM (15 ideas in total) to the theme, but 12 ideas are used for organization through the idea reduction.
Elapsed Time
On average, one brainstorming session takes about 60 seconds to complete by monju. It dpends on how many ideas to generate by each LLM.
Since v0.3.0, it may take longer due to the idea reduction process. But still 120 seconds shoube be longest.
Status
There are many calls of print in the step-by-step example. Each print shows a different status, which is useful to know progress.
Types of bs.status are as follows:
not_started: The brainstorming process has not started. Most of cases, this status is shown when the instance ofMonjuis created.idea_generation: Generating ideas in progress or finished.reducing: Idea reduction in progress or finished.organizing: Organizing ideas in mindmap and affinity diagram in progress or finished.idea_evaluation: Evaluating ideas in progress or finished.verifying: Verifying if all the outputs are generated in progress or finished.done: The brainstorming process is completed.failed: The brainstorming process is failed at some step.
Supported LLM Providers
One of the most important features of Monju is to generate ideas from multiple LLMs.
Monju currently sets the following LLM providers as default for idea generation and evaluation:
- OpenAI:
gpt-4o-mini - Anthropic:
claude-3-haiku-20240307 - Google:
gemini-1.5-flash
And OpenAI gpt-4o is set as default for idea reduction and organization of mindmap and class diagram.
Monju is capable of single or multiple LLMs for each step:
- Generate ideas (multiple/single LLM)
- Remove duplicate ideas (single LLM)
- Organize ideas in mindmap and class diagram (single LLM)
- Evaluate ideas (multiple/single LLM)
You can configure which providers and models to use for each step. Set arguments of LLM information in params dictionary by calling generate_ideas(**params), reduce_ideas(**params), organize_ideas(**params), and evaluate_ideas(**params).
This customization is not possible for the batch brainstorming.
Note that providers are not limited to those shown above. Also possible to user other providers like DeepSeek, MistralAI, Groq, Perplexity, Grok and so on, as possible as they are defined in LLMMaster class.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file monju-0.3.2.tar.gz.
File metadata
- Download URL: monju-0.3.2.tar.gz
- Upload date:
- Size: 32.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39cf788a31b0e3618925a00d95880215ee1a42bfc5bbe7d93c84da05017603f6
|
|
| MD5 |
7f2470e2653f0ffcd99a6438f1c69264
|
|
| BLAKE2b-256 |
c14e72ec5f56318069d0090620be9e3eae0c430d3047549dddb3da946a39a017
|
File details
Details for the file monju-0.3.2-py3-none-any.whl.
File metadata
- Download URL: monju-0.3.2-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e542afcb29a7a7edf17706e9e712473bae827b0f377378ebbadb173229a63a46
|
|
| MD5 |
23fb82a12988e4521332be8d64d40704
|
|
| BLAKE2b-256 |
f81d46cb34e9af2aacf61ea00006949cead1d1d2c8fbcb4fd1b4c629c926a35a
|