At the top of this page is an interesting experiment in using LLMs (large language models, like ChatGPT) to explore the content of a library of content. In this case, my blog. It scans across all of the blog posts and tries to figure out which ones are relevant, then use the relevant ones to construct an answer to the query/task. It's a great way for people to find content that I might have written years ago, or convert what I've written into easier to understand language. It's much better than keywords for finding certain content, and it synthesizes the content to smaller summaries for the reader.

The service uses lambdas (on AWS) that scan through pre-generated summaries of the articles (or the whole article if it's short enough) to identify the relevant posts. The prompt for this is:

I want to: [query]. But to do that, I need to first know which of the following blog posts I should read in order to do that. Some are irrelevant to '[query]'. Give the answer as a comma-separated list of the slugs. Probably I want to read the most relevant 5-15 blog posts. Order by relevance. Write the slug exactly as it appears. If a slug contains any of these words then it is probably relevant: [query]

Then, the probably relevant posts are passed to a final lambda that checks the probably relevant posts then merges them into an answer.

Further prompt engineering would probably make for a better product. The choices of words in the prompts have a big impact on the final result. It would also be helpful to tailor this a bit more to a particular use case but I wanted to leave it open-ended for readers to explore.