Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2777563
Update API key references from OPENAI_API_KEY to OPENROUTER_API_KEY a…
frank-asket Feb 24, 2026
16b281e
Refactor API key references from OPENAI_API_KEY to OPENROUTER_API_KEY…
frank-asket Feb 24, 2026
23299ac
Refactor references from OPENAI_API_KEY to OPENROUTER_API_KEY in note…
frank-asket Feb 24, 2026
33d944a
Add render.yaml for deploying Reputation_Radar to Render and update R…
frank-asket Feb 24, 2026
1c9c460
Update API key validation logic to support both OpenRouter and OpenAI…
frank-asket Feb 24, 2026
1822819
Revert community-contributions to upstream/main (weeks 1-8); keep onl…
frank-asket Feb 24, 2026
de48dc0
Add CONTRIBUTING.md file and enhance GitHub guide in 03_git_and_githu…
frank-asket Feb 24, 2026
39688eb
Refactor week2_day1.ipynb to streamline API key setup instructions an…
frank-asket Feb 24, 2026
bf326b3
Week 1 Day 1: Add email subject-line exercise prototype
frank-asket Feb 24, 2026
ad07b98
Add email subject-line summarization exercise to week1/day1.ipynb
frank-asket Feb 24, 2026
009cda3
Merge branch 'ed-donner:main' into main
frank-asket Feb 24, 2026
2d76107
Add community-contributions/asket: Day 1 email subject-line exercise
frank-asket Feb 24, 2026
4af9811
Add community-contributions/asket: Update Day 1 email subject-line ex…
frank-asket Feb 24, 2026
82bcfc3
Merge branch 'week1-day1-email-subject-exercise' of https://github.co…
frank-asket Feb 24, 2026
5005eb1
Add GUIDES_CHECKLIST.md and README.md for community contributions
frank-asket Feb 24, 2026
ea611fd
Add day1.ipynb notebook for introductory lab on building an autonomou…
frank-asket Feb 24, 2026
1904b32
Add week1_EXERCISE.ipynb notebook for Frank Asket's technical Q&A too…
frank-asket Feb 25, 2026
ca1705a
Implement strip_code_fence function in week1_EXERCISE.ipynb to enhanc…
frank-asket Feb 25, 2026
249f3e3
Add Week 1 notebooks for community contributions by Frank Asket, incl…
frank-asket Feb 25, 2026
8fde690
Enhance select_relevant_links function in day5.ipynb with progress pr…
frank-asket Feb 25, 2026
07afc08
Add Week 1 community contributions by Frank Asket, including notebook…
frank-asket Feb 25, 2026
b18800e
Refactor day1.ipynb for Week 2 by enhancing markdown content, improvi…
frank-asket Feb 26, 2026
b712857
Add Day 2 notebook enhancements, including a new scraper module for w…
frank-asket Feb 26, 2026
f3fa8fa
Restore week1_EXERCISE.ipynb
frank-asket Feb 26, 2026
bc317ac
Add Week 1 Exercise only (asket): technical Q&A + bilingual summarizer
frank-asket Feb 26, 2026
6c06587
Add Week 2 Exercise (asket): Technical Q&A with Gradio UI and tool in…
frank-asket Feb 26, 2026
5d9c186
Add Week 1 Exercise (asket): technical Q&A + bilingual summarizer
frank-asket Feb 26, 2026
024480b
Add Week 2 Exercise (asket): Gradio technical Q&A with streaming, per…
frank-asket Feb 26, 2026
d9d6f25
Add Week 1 Exercise (asket): technical Q&A + bilingual summarizer
frank-asket Feb 26, 2026
2ac5553
Add Week 2 Exercise (asket): Gradio technical Q&A with streaming, per…
frank-asket Feb 26, 2026
6d59f58
Add Week 3 Exercise (asket): Synthetic dataset generator with Gradio UI
frank-asket Feb 26, 2026
2ca67f9
Merge asket-week1-week2: Week 1 and Week 2 exercises into main
frank-asket Feb 26, 2026
fae4b0c
Merge asket-week1-only into main
frank-asket Feb 26, 2026
f18234b
Merge asket-week2-only into main
frank-asket Feb 26, 2026
c4bac02
Merge pr-week1-exercise-only into main
frank-asket Feb 26, 2026
3866fec
Merge week1-day1-email-subject-exercise into main
frank-asket Feb 26, 2026
37ad831
week6: add week6_EXERCISE.ipynb — ECOWAS price predictor (XOF, Ghana/…
frank-asket Mar 5, 2026
d87f25e
chore: clear notebook outputs for PR (per repo guidelines)
frank-asket Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Contributing to LLM Engineering

Thank you for contributing. Your work adds value for everyone on the course and gives you recognition on GitHub.

## Quick links

- **Full guide (Git + GitHub + PR):** [guides/03_git_and_github.ipynb](guides/03_git_and_github.ipynb)
- **PR overview:** https://edwarddonner.com/pr

## Pulling the latest code

From the repo root in your terminal:

```bash
git fetch upstream
git merge upstream/main
```

If you don’t have `upstream` yet:

```bash
git remote add upstream https://github.com/ed-donner/llm_engineering.git
```

## Submitting a Pull Request

1. **Fork** the repo on GitHub and clone your fork.
2. **Create a branch:** `git checkout -b my-contribution`
3. **Make changes** only in `community-contributions/` (unless we’ve agreed otherwise).
4. **Commit and push:**
```bash
git add community-contributions/your-project/
git commit -m "Add: short description"
git push origin my-contribution
```
5. **Open a Pull Request** on GitHub from your branch to `ed-donner/llm_engineering` main.

## Before you submit – checklist

- [ ] Changes are **only in `community-contributions/`** (unless we’ve discussed it).
- [ ] **Notebook outputs are clear.**
- [ ] **Under 2,000 lines** of code in total, and not too many files.
- [ ] No unnecessary test files, long READMEs, `.env.example`, emojis, or other LLM artifacts.

Thanks!
56 changes: 56 additions & 0 deletions PR_WEEK1_DAY1_EXERCISE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Pull Request: Week 1 Day 1 – Email subject-line exercise

Use this as the **description** when you open the PR on GitHub.

---

## Title

**Week 1 Day 1: Add email subject-line summarization exercise**

---

## Description

### What

This PR completes the first “try yourself” exercise in `week1/day1.ipynb`: a **summarization** prototype that suggests a short email subject line from the email body (as suggested in the notebook).

### Changes

- **`week1/day1.ipynb`**
- Replaced the placeholder in the “Before you continue – now try yourself” section with a working example:
- `EMAIL_SYSTEM_PROMPT`: instructs the model to return only a short, clear subject line.
- `suggest_subject(email_body)`: builds messages and calls the same OpenAI API pattern used elsewhere in the notebook (`gpt-4.1-mini`).
- Example email body and `print("Suggested subject:", subject)` so the cell runs end-to-end.

### Why

- Aligns with the exercise text: apply summarization to a business use case and prototype it.
- Uses the same patterns as the rest of the lab (system + user messages, `openai.chat.completions.create`).
- Keeps the example minimal and easy to extend (e.g. different prompts or models).

### Checklist

- [x] Notebook runs (imports, API client, and exercise cell).
- [x] Only the intended exercise cell and its outputs are changed (other diff is from running the notebook).
- [ ] Changes are only in `community-contributions/` **or** you’ve agreed with the maintainer to change `week1/day1.ipynb`.

**Note:** [CONTRIBUTING.md](CONTRIBUTING.md) asks for changes only in `community-contributions/` unless agreed. If the maintainer prefers that, this same solution can be added under `week1/community-contributions/` (e.g. `day1-email-subject-exercise/`) and the PR can be updated to touch only that path.

---

## How to open the PR

1. Push your branch (if you haven’t already):
```bash
git push origin week1-day1-email-subject-exercise
```

2. On GitHub, open your fork of `llm_engineering`, then:
- Use “Compare & pull request” for the branch `week1-day1-email-subject-exercise`, or
- Go to **Pull requests → New pull request**, choose your branch, and set the base to `ed-donner/llm_engineering` `main`.

3. Set the **title** and **description** to the text above (or paste from this file).

4. Submit the pull request.
Loading