The Summarize! tool generates clear, readable summaries of legislative bills using a custom-trained language model. This model was developed by fine-tuning a large language model (Ollama) on hundreds of real bill texts and expert-written summaries to help it recognize common legislative structures, formatting patterns, and section headings.
As with any AI system, there are limitations. If you are generating a bill’s summary, you may encounter a somewhat frustrating issue: time. It can take up to ten minutes for the language model to fully process and summarize a single bill if the summary hasn’t already been cached. In designing this tool, I prioritized completeness and accuracy over speed, which results in higher computational latency. This website is a prototype and proof of concept, currently running on limited hardware. Please be patient during processing and avoid generating more than one summary at a time, as doing so may significantly slow performance or interrupt the summarization process.
On the backend, the system first uses a PDF reader to extract the bill’s text by converting the symbols and formatting within the PDF into machine-readable characters. The extracted text is then organized into sequential segments of approximately 700 words, overlapping by 70 words, so the model can process the content accurately and efficiently. Each segment is summarized individually, and those partial summaries are then combined and refined into a cohesive, sectioned overview of the full bill. Because many legislative documents are lengthy and complex, this multi-step process can take several minutes to complete. The longer the bill, the more segments must be processed, which increases generation time.
This tool is still a prototype, and important details may slip through the cracks. If you have any issues, please contact us at OpenRepSupport@gmail.com.
I designed a game you might recognize for you to play while you wait for your bill summary. Enjoy!