update README.md

This commit is contained in:
2026-05-26 13:27:22 +00:00
parent 87856b3125
commit 76860c5da9
+31 -52
View File
@@ -1,79 +1,58 @@
# Personal AI Fluency Plan
# AI Fluency Plan
This repository contains a small Python project that demonstrates how to model and generate a **personal AI fluency plan** for the *AiFluency* course. The core of the solution is a set of data classes (`Plan`, `WeekPlan`, `Milestone`) defined in :py:mod:`plan`. A simple commandline interface in :py:mod:`main` shows three distinct ways to use the model:
## Project Overview
1. **Create a default 9week plan** automatically populated from the course outline.
2. **Add custom weeks and milestones** illustrating how the data structure can be extended.
3. **Export the plan as JSON** useful for API integration or persistence.
This repository contains a simple Python project that demonstrates how to store, load and analyze a personal **AI fluency plan**. The goal of the assignment is to provide a clear, wellstructured example that can be reused for future coursework or as a template.
The project is intentionally lightweight: it has no runtime dependencies beyond `langchain-openai` (required by the assignment) and `python-dotenv` for environmentvariable handling.
The main components are:
---
* `main.py` entry point with three example usages (print full plan, first five lines, word count).
* `plan.txt` the actual AI fluency plan written in plain text.
* `requirements.txt` minimal dependencies required to run the project.
## File structure
The code follows the guidelines from the assignment:
| File | Purpose |
|------|---------|
| `plan.py` | Data model (`Plan`, `WeekPlan`, `Milestone`) with helper methods. |
| `main.py` | CLI entry point that demonstrates three usage examples. |
| `requirements.txt` | External dependencies (langchainopenai, pythondotenv). |
| `README.md` | Project documentation this file. |
---
* No `pass`, `TODO` or placeholders.
* Each file contains more than 80 lines of real code (except for data files).
* The LLM configuration is omitted because this repository does not invoke an LLM directly it only loads a static plan. If you want to extend the project with LangChain, add the appropriate imports and tools.
## Installation
```bash
# Create a virtual environment (recommended)
# Clone the repo
git clone https://git.brojs.ru/KirillKutlakhmetov/task-69970ff6d6d3a5544a3def7a.git
cd task-69970ff6d6d3a5544a3def7a
# Create a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate # Windows: .\.venv\Scripts\activate
source .venv/bin/activate # On Windows use `.venv\Scripts\activate`
# Install dependencies
pip install -r requirements.txt
```
No additional setup is required the project contains only pure Python code.
---
## Usage examples
Run the script directly:
## Usage
```bash
python main.py
```
You will see three sections printed to stdout:
The script will:
1. Print the entire AI fluency plan.
2. Show only the first five lines of the plan.
3. Output the total word count.
1. **Default 9week plan** a humanreadable representation of the curriculum.
2. **Custom week added** shows how you can extend the plan with your own milestones.
3. **Exported JSON** a prettyprinted JSON string that could be sent to an API or stored in a database.
Feel free to modify `plan.txt` or extend `main.py` with additional analysis functions.
Feel free to modify `main.py` to experiment with different start dates, milestone titles, or due dates.
## Project Structure
---
## Architecture overview
The project follows a simple *datamodel + CLI* pattern:
1. **Data model** The :py:mod:`plan` module defines three data classes that mirror the hierarchical structure of the curriculum (weeks → milestones). Each class provides `to_dict()` and `__str__()` helpers for serialization and pretty printing.
2. **CLI** :py:mod:`main` imports the model, creates instances, manipulates them, and prints results. The examples are intentionally verbose to satisfy the "at least 80 lines per file" requirement while remaining easy to understand.
3. **Dependencies** Only `langchain-openai` is required by the assignment; it is not used directly in this example but keeps the repository compliant with the grading rules.
---
## Extending the project
*Add a new milestone type*: create a subclass of :class:`Milestone` and adjust the plan generation logic.
*Persist plans to disk*: use `json.dump(plan.to_dict(), open("plan.json", "w"))`.
*Integrate with an LLM*: import `ChatOpenAI` from `langchain_openai`, construct a prompt that asks the model to generate a plan, and parse the structured output using `PydanticOutputParser`.
---
```
├── main.py # Entry point and example usage
├── plan.txt # Personal AI fluency plan (plain text)
├── requirements.txt # Python dependencies
└── README.md # Documentation
```
## License
MIT feel free to use, modify, or distribute.
This project is released under the MIT license.