data/article.txt is a real short article in your working directory, several paragraphs long.
Write chunk_document(max_chars, overlap_chars) returning a list[str]: the document split into chunks of at most max_chars characters, where each chunk after the first repeats the last overlap_chars characters of the previous one.
This is the shape every RAG pipeline needs before anything can be embedded: chunks small enough to embed meaningfully, with enough overlap that a sentence split across a boundary still appears whole in at least one chunk.
Build the architecture on a canvas: place the components, configure them, connect them into a data flow, and write a short reason for each one. The AI reviewer grades your design against a rubric written specifically for this problem.
Minimum 5 components · needs a wide desktop screen