# AGENTS.md ## ప్రాజెక్ట్ అవలోకనం AI for Beginners అనేది ఆర్టిఫిషియల్ ఇంటెలిజెన్స్ ప్రాథమికాంశాలను కవర్ చేసే 12 వారాల, 24 పాఠాల సమగ్ర పాఠ్యక్రమం. ఈ విద్యా రిపోజిటరీలో Jupyter Notebooks ఉపయోగించి ప్రాక్టికల్ పాఠాలు, క్విజ్‌లు మరియు హ్యాండ్స్-ఆన్ ల్యాబ్స్ ఉన్నాయి. పాఠ్యక్రమం కవర్ చేసే అంశాలు: - జ్ఞాన ప్రాతినిధ్యం మరియు నిపుణుల వ్యవస్థలతో సాంబాలిక్ AI - TensorFlow మరియు PyTorch తో న్యూరల్ నెట్‌వర్క్స్ మరియు డీప్ లెర్నింగ్ - కంప్యూటర్ విజన్ సాంకేతికతలు మరియు నిర్మాణాలు - ట్రాన్స్‌ఫార్మర్స్ మరియు BERT సహా సహజ భాషా ప్రాసెసింగ్ (NLP) - ప్రత్యేక అంశాలు: జెనెటిక్ అల్గోరిథమ్స్, రీఇన్ఫోర్స్‌మెంట్ లెర్నింగ్, మల్టీ-ఏజెంట్ సిస్టమ్స్ - AI నైతికత మరియు బాధ్యతాయుత AI సూత్రాలు **ప్రధాన సాంకేతికతలు:** Python 3, Jupyter Notebooks, TensorFlow, PyTorch, Keras, OpenCV, Vue.js (క్విజ్ యాప్ కోసం) **నిర్మాణం:** టాపిక్ ప్రాంతాల వారీగా క్రమబద్ధీకరించిన Jupyter Notebooks తో విద్యా కంటెంట్ రిపోజిటరీ, Vue.js ఆధారిత క్విజ్ అప్లికేషన్ మరియు విస్తృత బహుభాషా మద్దతుతో. ## సెటప్ కమాండ్లు ### ప్రాథమిక అభివృద్ధి వాతావరణం (Python/Jupyter) పాఠ్యక్రమం Python మరియు Jupyter Notebooks తో నడపడానికి రూపొందించబడింది. సిఫార్సు చేయబడిన విధానం miniconda ఉపయోగించడం: ```bash # రిపోజిటరీని క్లోన్ చేయండి git clone https://github.com/microsoft/ai-for-beginners cd ai-for-beginners # కండా ఎన్విరాన్‌మెంట్ సృష్టించి యాక్టివేట్ చేయండి conda env create --name ai4beg --file environment.yml conda activate ai4beg # జూపిటర్ నోట్‌బుక్ ప్రారంభించండి jupyter notebook # లేదా jupyter lab ``` ### ప్రత్యామ్నాయం: devcontainer ఉపయోగించడం ```bash # VS కోడ్‌లో తెరవండి మరియు ప్రాంప్ట్ వచ్చినప్పుడు "కంటైనర్‌లో మళ్లీ తెరవండి" ఎంచుకోండి # డెవ్‌కంటైనర్ స్వయంచాలకంగా వాతావరణాన్ని సెట్ చేస్తుంది ``` ### క్విజ్ అప్లికేషన్ సెటప్ క్విజ్ యాప్ ఒక వేరు Vue.js అప్లికేషన్, ఇది `etc/quiz-app/` లో ఉంది: ```bash cd etc/quiz-app npm install npm run serve # అభివృద్ధి సర్వర్ npm run build # ఉత్పత్తి నిర్మాణం npm run lint # లింట్ చేసి ఫైళ్లను సరిచేయండి ``` ## అభివృద్ధి వర్క్‌ఫ్లో ### Jupyter Notebooks తో పని చేయడం 1. **లోకల్ అభివృద్ధి:** - కండా వాతావరణం యాక్టివేట్ చేయండి: `conda activate ai4beg` - Jupyter ప్రారంభించండి: `jupyter notebook` లేదా `jupyter lab` - పాఠాల ఫోల్డర్లకు వెళ్లి `.ipynb` ఫైళ్లను తెరవండి - పాఠాలు అనుసరించడానికి సెల్స్‌ను ఇంటరాక్టివ్‌గా నడపండి 2. **VS Code తో Python ఎక్స్‌టెన్షన్:** - రిపోజిటరీని VS Code లో తెరవండి - Python ఎక్స్‌టెన్షన్ ఇన్‌స్టాల్ చేయండి - VS Code ఆటోమేటిక్‌గా కండా వాతావరణాన్ని గుర్తించి ఉపయోగిస్తుంది - `.ipynb` ఫైళ్లను నేరుగా VS Code లో తెరవండి 3. **క్లౌడ్ అభివృద్ధి:** - **GitHub Codespaces:** "Code" → "Codespaces" → "Create codespace on main" క్లిక్ చేయండి - **Binder:** README లోని Binder బ్యాడ్జ్ ఉపయోగించి బ్రౌజర్‌లో ప్రారంభించండి - గమనిక: Binder కు పరిమిత వనరులు మరియు కొన్ని వెబ్ యాక్సెస్ పరిమితులు ఉన్నాయి ### అధునాతన పాఠాల కోసం GPU మద్దతు తరువాతి పాఠాలు GPU వేగవంతతతో గణనీయంగా లాభపడతాయి: - **Azure Data Science VM:** GPU మద్దతుతో NC-సిరీస్ VM లను ఉపయోగించండి - **Azure Machine Learning:** GPU కంప్యూట్‌తో నోట్‌బుక్ ఫీచర్లను ఉపయోగించండి - **Google Colab:** నోట్‌బుక్స్‌ను వ్యక్తిగతంగా అప్‌లోడ్ చేయండి (ఉచిత GPU మద్దతు ఉంది) ### క్విజ్ యాప్ అభివృద్ధి ```bash cd etc/quiz-app npm run serve # హాట్-రిలోడ్ అభివృద్ధి సర్వర్ http://localhost:8080 వద్ద ఉంది ``` ## పరీక్షా సూచనలు ఇది సాఫ్ట్‌వేర్ పరీక్షల కంటే విద్యా కంటెంట్ పై దృష్టి పెట్టిన రిపోజిటరీ. సంప్రదాయ పరీక్షా సూట్ లేదు. ### ధృవీకరణ విధానాలు: 1. **Jupyter Notebooks:** కోడ్ ఉదాహరణలు పనిచేస్తున్నాయో లేదో నిర్ధారించడానికి సెల్స్‌ను వరుసగా నడపండి 2. **క్విజ్ యాప్ పరీక్ష:** అభివృద్ధి సర్వర్ ద్వారా మాన్యువల్ పరీక్ష 3. **అనువాద ధృవీకరణ:** `translations/` ఫోల్డర్‌లో అనువాద కంటెంట్ తనిఖీ చేయండి 4. **క్విజ్ యాప్ లింటింగ్:** `etc/quiz-app/` లో `npm run lint` నడపండి ### కోడ్ ఉదాహరణలు నడపడం: ```bash # ముందుగా వాతావరణాన్ని సక్రియం చేయండి conda activate ai4beg # Python స్క్రిప్టులను నేరుగా నడపండి python lessons/4-ComputerVision/07-ConvNets/pytorchcv.py # లేదా నోట్‌బుక్స్‌ను అమలు చేయండి jupyter notebook lessons/3-NeuralNetworks/03-Perceptron/Perceptron.ipynb ``` ## కోడ్ శైలి ### Python కోడ్ శైలి - విద్యా కోడ్ కోసం ప్రామాణిక Python నియమాలు - స్పష్టమైన, చదవదగిన కోడ్, ఆప్టిమైజేషన్ కంటే నేర్చుకోవడాన్ని ప్రాధాన్యం ఇస్తుంది - ముఖ్యమైన భావాలను వివరిస్తున్న వ్యాఖ్యలు - Jupyter Notebook అనుకూలం: సెల్స్ సాధ్యమైనంత వరకు స్వతంత్రంగా ఉండాలి - పాఠ్య కంటెంట్ కోసం కఠినమైన లింటింగ్ అవసరం లేదు ### JavaScript/Vue.js (క్విజ్ యాప్) - `etc/quiz-app/package.json` లో ESLint కాన్ఫిగరేషన్ - సమస్యలను తనిఖీ చేసి ఆటోమేటిక్‌గా సరిచేయడానికి `npm run lint` నడపండి - Vue 2.x నియమాలు - కంపోనెంట్ ఆధారిత నిర్మాణం ### ఫైల్ నిర్వహణ ``` lessons/ ├── 0-course-setup/ # Setup instructions ├── 1-Intro/ # Introduction to AI ├── 2-Symbolic/ # Symbolic AI ├── 3-NeuralNetworks/ # Neural Networks basics ├── 4-ComputerVision/ # Computer Vision ├── 5-NLP/ # Natural Language Processing ├── 6-Other/ # Other AI techniques ├── 7-Ethics/ # AI Ethics └── X-Extras/ # Additional content etc/ ├── quiz-app/ # Vue.js quiz application └── quiz-src/ # Quiz source files translations/ # Multi-language translations ``` ## బిల్డ్ మరియు డిప్లాయ్‌మెంట్ ### Jupyter కంటెంట్ బిల్డ్ ప్రక్రియ అవసరం లేదు - Jupyter Notebooks నేరుగా నడుస్తాయి. ### క్విజ్ అప్లికేషన్ ```bash cd etc/quiz-app # అభివృద్ధి npm run serve # ఉత్పత్తి నిర్మాణం npm run build # etc/quiz-app/dist/ కు అవుట్పుట్‌లు # Azure స్థిర వెబ్ యాప్స్‌కు పంపిణీ చేయండి # Azure ఆటోమేటిక్‌గా GitHub Actions వర్క్‌ఫ్లో సృష్టిస్తుంది # వివరమైన పంపిణీ సూచనల కోసం etc/quiz-app/README.md చూడండి ``` ### డాక్యుమెంటేషన్ సైట్ రిపోజిటరీ Docsify ఉపయోగించి డాక్యుమెంటేషన్ అందిస్తుంది: - `index.html` ప్రవేశ పాయింట్‌గా పనిచేస్తుంది - బిల్డ్ అవసరం లేదు - GitHub Pages ద్వారా నేరుగా అందించబడుతుంది - యాక్సెస్: https://microsoft.github.io/AI-For-Beginners/ ## సహకార మార్గదర్శకాలు ### పుల్ రిక్వెస్ట్ ప్రక్రియ 1. **శీర్షిక ఫార్మాట్:** మార్పును స్పష్టంగా, వివరణాత్మకంగా తెలియజేసే శీర్షికలు 2. **CLA అవసరం:** Microsoft CLA సంతకం చేయాలి (ఆటోమేటిక్ తనిఖీ) 3. **కంటెంట్ మార్గదర్శకాలు:** - విద్యా దృష్టికోణం మరియు ప్రారంభ స్థాయి అనుకూలతను కాపాడండి - అన్ని కోడ్ ఉదాహరణలను నోట్‌బుక్స్‌లో పరీక్షించండి - నోట్‌బుక్స్ ఎండ్-టు-ఎండ్ నడవడం నిర్ధారించండి - ఇంగ్లీష్ కంటెంట్ మార్చినట్లయితే అనువాదాలను నవీకరించండి 4. **క్విజ్ యాప్ మార్పులు:** కమిట్ చేయడానికి ముందు `npm run lint` నడపండి ### అనువాద సహకారం - అనువాదాలు GitHub Actions ద్వారా co-op-translator ఉపయోగించి ఆటోమేటిక్‌గా జరుగుతాయి - మాన్యువల్ అనువాదాలు `translations//` లో ఉంచండి - క్విజ్ అనువాదాలు `etc/quiz-app/src/assets/translations/` లో ఉంటాయి - మద్దతు పొందిన భాషలు: 40+ (పూర్తి జాబితా README లో చూడండి) ### సక్రియ సహకార ప్రాంతాలు ప్రస్తుత అవసరాల కోసం `etc/CONTRIBUTING.md` చూడండి: - డీప్ రీఇన్ఫోర్స్‌మెంట్ లెర్నింగ్ విభాగాలు - ఆబ్జెక్ట్ డిటెక్షన్ మెరుగుదలలు - నేమ్డ్ ఎంటిటీ రికగ్నిషన్ ఉదాహరణలు - కస్టమ్ ఎంబెడ్డింగ్ ట్రైనింగ్ నమూనాలు ## వాతావరణ కాన్ఫిగరేషన్ ### అవసరమైన డిపెండెన్సీలు ```bash # కోర్ పైథాన్ ప్యాకేజీలు (requirements.txt నుండి) tensorflow==2.17.0 torch (via conda) torchvision (via conda) keras==3.5.0 opencv (via conda) scikit-learn numpy==1.26 pandas==2.2.2 matplotlib==3.9 jupyter ``` ### వాతావరణ వేరియబుల్స్ ప్రాథమిక ఉపయోగానికి ప్రత్యేక వాతావరణ వేరియబుల్స్ అవసరం లేదు. Azure డిప్లాయ్‌మెంట్ (క్విజ్ యాప్) కోసం: - `AZURE_STATIC_WEB_APPS_API_TOKEN` (Azure ద్వారా ఆటోమేటిక్‌గా సెట్ అవుతుంది) ## డీబగ్గింగ్ మరియు సమస్య పరిష్కారం ### సాధారణ సమస్యలు **సమస్య:** కండా వాతావరణం సృష్టించడంలో విఫలం - **పరిష్కారం:** ముందుగా కండాను అప్‌డేట్ చేయండి: `conda update conda -y` - సరిపడా డిస్క్ స్థలం ఉన్నదని నిర్ధారించుకోండి (50GB సిఫార్సు) **సమస్య:** Jupyter కర్నెల్ కనుగొనబడలేదు - **పరిష్కారం:** ```bash conda activate ai4beg python -m ipykernel install --user --name ai4beg ``` **సమస్య:** నోట్‌బుక్స్‌లో GPU కనుగొనబడలేదు - **పరిష్కారం:** - CUDA ఇన్‌స్టాలేషన్‌ను తనిఖీ చేయండి: `nvidia-smi` - PyTorch GPU తనిఖీ: `python -c "import torch; print(torch.cuda.is_available())"` - TensorFlow GPU తనిఖీ: `python -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"` **సమస్య:** క్విజ్ యాప్ ప్రారంభం కావడం లేదు - **పరిష్కారం:** ```bash cd etc/quiz-app rm -rf node_modules package-lock.json npm install npm run serve ``` **సమస్య:** బైండర్ టైమ్ అవుట్ అవుతుంది లేదా డౌన్లోడ్లను బ్లాక్ చేస్తుంది - **పరిష్కారం:** మెరుగైన వనరుల యాక్సెస్ కోసం GitHub Codespaces లేదా లోకల్ సెటప్ ఉపయోగించండి ### మెమరీ సమస్యలు కొన్ని పాఠాలు గణనీయమైన RAM అవసరం (8GB+ సిఫార్సు): - వనరులు ఎక్కువగా అవసరమయ్యే పాఠాల కోసం క్లౌడ్ VM లను ఉపయోగించండి - మోడల్స్ ట్రైనింగ్ సమయంలో ఇతర అప్లికేషన్లను మూసివేయండి - మెమరీ తక్కువైతే నోట్‌బుక్స్‌లో బ్యాచ్ సైజ్ తగ్గించండి ## అదనపు గమనికలు ### కోర్సు ఉపాధ్యాయుల కోసం - బోధనా మార్గదర్శకాలకు `lessons/0-course-setup/for-teachers.md` చూడండి - పాఠాలు స్వతంత్రంగా ఉండి వరుసగా లేదా ఎంచుకుని బోధించవచ్చు - అంచనా సమయం: 12 వారాలు, వారానికి 2 పాఠాలు ### క్లౌడ్ వనరులు - **Azure for Students:** విద్యార్థులకు ఉచిత క్రెడిట్లు అందుబాటులో ఉన్నాయి - **Microsoft Learn:** పాఠ్యక్రమంలో అనుబంధంగా లెర్నింగ్ పాథ్లు - **Binder:** ఉచితం కానీ పరిమిత వనరులు మరియు కొన్ని నెట్‌వర్క్ పరిమితులు ### కోడ్ నడపడం ఎంపికలు 1. **లోకల్ (సిఫార్సు):** పూర్తి నియంత్రణ, ఉత్తమ పనితీరు, GPU మద్దతు 2. **GitHub Codespaces:** క్లౌడ్ ఆధారిత VS Code, త్వరిత యాక్సెస్‌కు అనుకూలం 3. **Binder:** బ్రౌజర్ ఆధారిత Jupyter, ఉచితం కానీ పరిమితం 4. **Azure ML Notebooks:** GPU మద్దతుతో ఎంటర్ప్రైజ్ ఎంపిక 5. **Google Colab:** నోట్‌బుక్స్‌ను వ్యక్తిగతంగా అప్‌లోడ్ చేయండి, ఉచిత GPU లేయర్ అందుబాటులో ఉంది ### నోట్‌బుక్స్‌తో పని - నేర్చుకోవడానికి సెల్-బై-సెల్ నడపడానికి డిజైన్ చేయబడ్డాయి - చాలా నోట్‌బుక్స్ మొదటి సారి నడిపేటప్పుడు డేటాసెట్‌లు డౌన్లోడ్ చేస్తాయి (కొంత సమయం పడవచ్చు) - కొన్ని మోడల్స్ సరైన శిక్షణ సమయాల కోసం GPU అవసరం - కంప్యూటింగ్ అవసరాలను తగ్గించడానికి ప్రీ-ట్రెయిన్డ్ మోడల్స్ ఉపయోగిస్తారు ### పనితీరు పరిగణనలు - తరువాతి కంప్యూటర్ విజన్ పాఠాలు (CNNs, GANs) GPU తో లాభపడతాయి - NLP ట్రాన్స్‌ఫార్మర్ పాఠాలు గణనీయమైన RAM అవసరం కావచ్చు - మొదటి నుండి శిక్షణ ఇవ్వడం విద్యా ప్రయోజనకరం కానీ సమయం ఎక్కువ పడుతుంది - ట్రాన్స్‌ఫర్ లెర్నింగ్ ఉదాహరణలు శిక్షణ సమయాన్ని తగ్గిస్తాయి --- **అస్పష్టత**: ఈ పత్రాన్ని AI అనువాద సేవ [Co-op Translator](https://github.com/Azure/co-op-translator) ఉపయోగించి అనువదించబడింది. మేము ఖచ్చితత్వానికి ప్రయత్నించినప్పటికీ, ఆటోమేటెడ్ అనువాదాల్లో పొరపాట్లు లేదా తప్పిదాలు ఉండవచ్చు. మూల పత్రం దాని స్వదేశీ భాషలో అధికారిక మూలంగా పరిగణించాలి. ముఖ్యమైన సమాచారానికి, ప్రొఫెషనల్ మానవ అనువాదం సిఫార్సు చేయబడుతుంది. ఈ అనువాదం వాడకంలో ఏర్పడిన ఏవైనా అపార్థాలు లేదా తప్పుదారుల కోసం మేము బాధ్యత వహించము.