Files

Week 1 Solutions - My Implementation

This directory contains my solutions to the Week 1 assignments without overwriting the original course content.

Structure

week1/my-solutions/
├── README.md                           # This file
├── day1-solution.ipynb               # Day 1 web scraping solution
├── day2-solution.ipynb               # Day 2 solution (to be completed)
├── day4-solution.ipynb               # Day 4 solution (to be completed)
├── day5-solution.ipynb               # Day 5 solution (to be completed)
└── week1-exercise-solution.ipynb     # Week 1 exercise solution

Solutions Completed

Day 1 Solution (day1-solution.ipynb)

  • Features: Web scraping with requests and BeautifulSoup
  • SSL Handling: Fixed Windows SSL certificate issues
  • OpenAI Integration: Website summarization using GPT-4o-mini
  • Parser: Uses html.parser to avoid lxml dependency issues

Week 1 Exercise Solution (week1-exercise-solution.ipynb)

  • Features: Technical question answerer using both OpenAI and Ollama
  • Models: GPT-4o-mini with streaming + Llama 3.2
  • Comparison: Side-by-side response analysis
  • Functionality: Can handle any technical programming question

Day 2 Solution (day2-solution.ipynb)

  • Features: Chat Completions API understanding and implementation
  • OpenAI Integration: Multiple model testing and comparison
  • Ollama Integration: Local model testing with Llama 3.2
  • Advanced Scraping: Selenium fallback for JavaScript-heavy sites
  • Model Agnostic: Works with both OpenAI and Ollama models

Day 4 Solution (day4-solution.ipynb)

  • Features: Tokenization and text processing techniques
  • Token Analysis: Understanding tokenization with tiktoken
  • Cost Estimation: Token counting and cost calculation
  • Text Chunking: Smart text splitting strategies
  • Advanced Processing: Token-aware text processing

Day 5 Solution (day5-solution.ipynb)

  • Features: Business solution - Company brochure generator
  • Intelligent Selection: LLM-powered link selection
  • Content Aggregation: Multi-page content collection
  • Professional Output: Business-ready brochure generation
  • Style Options: Professional and humorous brochure styles

How to Use

  1. Run the solutions: Open any .ipynb file and run the cells
  2. Modify questions: Change the question variable in the exercise solution
  3. Test different websites: Modify URLs in the Day 1 solution
  4. Compare models: Use the exercise solution to compare OpenAI vs Ollama responses

Key Features Implemented

Day 1 Solution

  • SSL certificate handling for Windows
  • Web scraping with error handling
  • BeautifulSoup with html.parser (no lxml dependency)
  • OpenAI API integration
  • Markdown display formatting
  • Website content summarization

Week 1 Exercise Solution

  • OpenAI GPT-4o-mini with streaming
  • Ollama Llama 3.2 integration
  • Side-by-side response comparison
  • Technical question answering
  • Error handling for both APIs

Day 2 Solution

  • Chat Completions API understanding
  • Multiple model testing and comparison
  • Ollama local model integration
  • Advanced web scraping with Selenium
  • Model-agnostic summarization

Day 4 Solution

  • Tokenization with tiktoken library
  • Token counting and cost estimation
  • Text chunking strategies
  • Advanced text processing
  • Cost optimization techniques

Day 5 Solution

  • Intelligent link selection using LLM
  • Multi-page content aggregation
  • Professional brochure generation
  • Business-ready output formatting
  • Style options (professional/humorous)

Notes

  • All solutions are self-contained and don't modify original course files
  • SSL issues are handled for Windows environments
  • Both OpenAI and Ollama integrations are included
  • Solutions include proper error handling and user feedback
  • Code is well-documented and follows best practices

Next Steps

  1. Complete remaining day solutions (Day 2, 4, 5)
  2. Test all solutions thoroughly
  3. Prepare for PR submission
  4. Document any additional features or improvements