- purpose: one sentence on why would someone want to summarize this document
- effect: one sentence on how this affects the strategy we should use to summarize it vs a naive approach
- summary: one paragraph with the summary of the document based on purpose and effect
The LLM will change its summary based on the keys that come before summary in a meaningful way
Hard:
- We're using LangChain, which isn't always great
- The data pipeline was trickier than I had initially thought
- Indexing embeddings (in PostGres) is just hard (requires tons of ram)
But the hardest thing has been working on conversation quality. We've started to use LangSmith, which was a godsend for tracing and observability, and came out fairly recently. But it's not perfect and I wish there were better tools out there.
I have been using it since the week it was in private beta, albeit a lot less recently, and thought it was good, though with some confusing UX and a handful of bugs.