{"id":49153275,"url":"https://github.com/klauseduard/concept-explainer","last_synced_at":"2026-04-22T07:07:06.183Z","repository":{"id":275445683,"uuid":"664854753","full_name":"klauseduard/concept-explainer","owner":"klauseduard","description":"Explain complex concepts using LLMs (OpenAI/Ollama) - an educational tool for concept explanation, technical documentation, and knowledge sharing. Built during the early LLM boom (2023), updated with local model support (2025).","archived":false,"fork":false,"pushed_at":"2025-02-02T16:14:58.000Z","size":345,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T16:20:26.967Z","etag":null,"topics":["ai","concept-explanation","edtech","education","educational-tool","experiment","knowledge-sharing","learning","llm","machine-learning","nlp","ollama","openai","teaching","technical-documentation"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/klauseduard.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-07-10T22:52:18.000Z","updated_at":"2025-02-02T16:12:39.000Z","dependencies_parsed_at":"2025-02-02T16:31:10.795Z","dependency_job_id":null,"html_url":"https://github.com/klauseduard/concept-explainer","commit_stats":null,"previous_names":["klauseduard/concept-explainer"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/klauseduard/concept-explainer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauseduard%2Fconcept-explainer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauseduard%2Fconcept-explainer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauseduard%2Fconcept-explainer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauseduard%2Fconcept-explainer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/klauseduard","download_url":"https://codeload.github.com/klauseduard/concept-explainer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/klauseduard%2Fconcept-explainer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32125101,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T00:31:26.853Z","status":"online","status_checked_at":"2026-04-22T02:00:05.693Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","concept-explanation","edtech","education","educational-tool","experiment","knowledge-sharing","learning","llm","machine-learning","nlp","ollama","openai","teaching","technical-documentation"],"created_at":"2026-04-22T07:06:46.792Z","updated_at":"2026-04-22T07:07:06.177Z","avatar_url":"https://github.com/klauseduard.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Concept Explainer\n\n\u003e A coding experiment from the early days of the LLM boom (2023), now updated with local LLM support.\n\n_Note: This documentation was updated in February 2025 using Claude 3.5 Sonnet._\n\n[🇪🇪 Eestikeelne versioon (Estonian)](README_ET.md)\n\nThis is a simple tool that uses LLMs to explain concepts through simulated conversations. Originally built with OpenAI's API during the initial ChatGPT excitement, it has now been updated to also work with Ollama for local, offline usage.\n\n**Note:** Currently, the tool only accepts input in English (concept, role, and audience). Support for other languages may be added in the future.\n\n## What it does\n\nGiven a concept, a specialist role, and a target audience, it generates an explanation in a dialogue format. For example:\n- Concept: \"black holes\"\n- Specialist: \"astrophysicist\"\n- Audience: \"five-year-old\"\n\nThe output is formatted in Markdown and includes:\n- Basic explanation\n- Follow-up questions and answers\n- Examples where possible\n- Brief etymology and history\n- Related concepts\n\n## Features\n\n- Works with OpenAI API (original version) or Ollama (new in 2025)\n- Command line and basic web interface\n- Saves explanations as Markdown files\n- Simple search functionality\n\n## Installation\n\nYou need Python 3.6+ and either:\n- An OpenAI API key, or\n- Ollama installed locally (free, works offline)\n\n```bash\ngit clone https://github.com/klauseduard/concept-explainer.git\ncd concept-explainer\npip install -r requirements.txt\n```\n\nConfigure your `.env` file:\n```bash\n# For OpenAI:\nLLM_PROVIDER=openai\nOPENAI_API_KEY=your-api-key-here\nOPENAI_MODEL=gpt-3.5-turbo\nOPENAI_TEMPERATURE=0.2\n\n# Or for Ollama:\nLLM_PROVIDER=ollama\nOLLAMA_HOST=http://localhost:11434\nOLLAMA_MODEL=mistral-small\nOLLAMA_TEMPERATURE=0.2\n```\n\n## Usage\n\n### Console Interface\n\nBasic command format:\n```bash\npython explain.py \u003cconcept\u003e \u003cspecialist_role\u003e \u003ctarget_audience\u003e --additional_context \u003ccontext\u003e\n```\n\nExample:\n```bash\npython explain.py \"black holes\" \"astrophysicist\" \"five-year-old\" --additional_context \"Assume they know what stars are.\"\n```\n\n### Web Interface\n\nStart the web interface:\n```bash\npython web_interface.py\n```\n\nThen open `http://localhost:5000` in your browser.\n\n## Configuration\n\n### OpenAI Provider (original)\n- Requires API key\n- Default model: `gpt-3.5-turbo`\n- Also supports: `gpt-3.5-turbo-0125`, `gpt-4`, `gpt-4-0125`\n- Should work with newer models as they become available\n- See pricing at: https://openai.com/pricing\n\n### Ollama Provider (new)\n- Free, runs locally\n- Default model: `mistral-small`\n- Also works with: `llama2`, `codellama`, `neural-chat`\n- Should work with any model supported by Ollama\n- No API key needed\n- Requires some CPU/GPU power\n\n### Temperature Setting\n- Range: 0.0 to 2.0 (default: 0.2)\n- Lower = more focused\n- Higher = more creative\n\n## License\n\nMIT\n\n## Contact\n\nKlaus-Eduard Runnel - klaus.eduard@gmail.com\n\nProject Link: [https://github.com/klauseduard/concept-explainer](https://github.com/klauseduard/concept-explainer)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklauseduard%2Fconcept-explainer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fklauseduard%2Fconcept-explainer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fklauseduard%2Fconcept-explainer/lists"}