Wenwei Lin

← All projects

Hackathons & competitions

Reading Copilot

When you hit a concept you don't understand while reading, or want a quick answer to a question, just ask the book: answers come with the original passages.

When
2023.08
Context
Microsoft Learn AI Skills Challenge hackathon
My role
Product design, front end
Team
With Yuxuan Zhang (zR)
Built with
Azure OpenAI · LangChain · FAISS · Next.js
作者怎么看“模范读者”?他说文本在等待一个能合作的读者……出处 · 第 1 讲

Why

Two things happen a lot when reading: you don’t understand a concept, or you want to quickly find what the book says about something.

What we built

Reading Copilot: a chat on the left, with each answer listing the passages it used

  • The whole book and our notes are split into chunks, embedded, and stored as a knowledge base. The demo includes two books (Good with Words and Six Walks in the Fictional Woods) and a set of reading notes.
  • A question first retrieves the relevant passages, which are summarised before answering. That was more accurate than feeding everything to the model, and each answer shows which passages it used.
  • Embeddings are cached so the same content isn’t paid for twice.
  • The back end is adapted from the open-source Langchain-Chatchat, and the front end from LangChain Chat (Next.js). I did the product design and the front end.

Azure services

This was the Microsoft Learn AI Skills Challenge hackathon, so everything ran on Azure: Azure OpenAI for answers and embeddings, an Azure VM for the inference server, and Azure Static Web Apps for the front end.

Looking back

We ran out of time for uploading books from the front end and for reading PDFs online with matching passages highlighted. Half a year later, “ask questions of your own notes” became the core of my graduation project, Bookworm.