Werner Vogels, CTO of Amazon, has recently launched Distill CLI, a personal project written in Rust. The open-source tool leverages Amazon Transcribe and Amazon Bedrock to generate summaries of audio recordings directly from the command line.
Based on the open-source tool Amazon Bedrock Audio Summarizer, the new CLI provides an automated way to transcribe and summarize media files using Amazon S3, AWS Lambda, Amazon Transcribe, Amazon Bedrock and the AWS CDK to manage the project's infrastructure. Vogels first mentioned the project earlier this year in the article "Hacking Our Way to Better Team Meetings" when he introduced Distill.
Example of Distlll CLI output. Source: All Things Distributed blog
The Rust application summarizes and extracts important details from daily meetings and was developed by Vogels and his team at Amazon. He writes:
I'm always on the lookout for tools and strategies that can help me to refine my own note-taking process (such as the Cornell Method). And while I generally prefer pen and paper (because it's shown to help with retention and synthesis), there's no denying that technology can help to enhance our built-up abilities. This is especially true in situations such as meetings, where actively participating and taking notes at the same time can be in conflict with one another.
The first version of Distill. Source: All Things Distributed blog
Vogels shares details about the choices made from the early stages of the project, which aims to use AI to transcribe and summarize virtual team meetings:
We rewrote one of our Lambda functions in Rust, and observed that cold starts were 12x faster and the memory footprint decreased by 73%. Before I knew it, I began to think about other ways I could make the entire process more efficient for my use case.
He highlights that while the original proof of concept stored media files, transcripts, and summaries in S3, the released Distill CLI keeps the transcripts and summaries in memory, reducing the number of writes to S3. A simple UI provides status updates and notifies the user of any failures, allowing for media uploads and monitoring of the summarization process without leaving the command line.
The Distill CLI supports outputting summaries to terminal and as Word documents, text files, markdown, and Slack messages. The tool can handle audio files in any language supported by Amazon Transcribe.
Although Distill CLI originated from a team need, Vogels admits that his goal was to challenge himself with a new language, proving that tinkering is an effective way to learn and stay curious:
I have said it before; you have to do the work. Otherwise, it's just bs. As more builders choose Rust to solve hard problems at scale, it felt time to get my hands dirty.
He acknowledges that Rust can be challenging:
There is a lot of friction up front, which is sometimes hard when all you really want to do is jump into the IDE and start building. But once you're on the other side, there is tremendous potential to pick up velocity. Remember, the cost to build a system, service, or application is nothing compared to the cost of operating it, so the way you build should be continually under scrutiny.
Benjamen Pyle, co-founder and CEO at Pyle Cloud Technologies, comments:
Really excited to see Amazon support, encourage, and invest in Rust. It's a fantastic language well-suited for so many use cases. From everything from CLI tools, embedded systems, web APIs, and even serverless workloads.
User erikhopf adds on Hacker News:
I particularly like his comparison of learning Rust to writing docs at Amazon, which is a frictionful minefield.
Distill CLI is available on GitHub under an Apache 2.0 license.