kiroku  by cnunescoelho

Multi-agent system for document organization and writing

created 10 months ago
339 stars

Top 82.4% on sourcepulse

GitHubView on GitHub
Project Summary

Kiroku is a multi-agent system designed to assist users in organizing and writing documents, particularly academic papers. It targets researchers and writers who want to leverage AI for iterative document refinement, acting as an "advisee" to the user's "advisor" role. The system aims to improve idea organization, communication clarity, and complex topic discussion through AI-driven iteration.

How It Works

Kiroku employs a multi-agent architecture, inspired by LangGraph, where agents collaboratively work on document generation and refinement. The core approach involves an iterative process: defining a title and hypothesis, generating topic sentences, expanding them into paragraphs, and then reviewing and revising the content. This mimics a human writing process, with the AI acting as a student that learns from user feedback and external information retrieved via tools like Tavily.

Quick Start & Requirements

  • Installation: Clone the repository, set up a Python virtual environment (python3 -m venv venv, source venv/bin/activate), and install dependencies (pip install -r requirements.txt).
  • Prerequisites: OpenAI API Key, Tavily API Key, and Pandoc. Pandoc can be installed via brew install pandoc on macOS.
  • Configuration: Requires a YAML file (kiroku/proj/config.yaml) specifying document details, section structure, paragraph counts, hypothesis, and instructions. Images should be placed in kiroku/proj/images and referenced with /file=images/<filename>.
  • Running: Execute ./kiroku from the root directory after setting KIROKU_PROJECT_DIRECTORY. Access the interface at localhost:7860.
  • Python Version: 3.7-3.11.
  • Documentation: OpenAI Quickstart, Tavily, AI Agents in LangGraph.

Highlighted Details

  • Mimics an advisor-advisee dynamic for document writing.
  • Leverages external search (Tavily) for information retrieval.
  • Supports iterative refinement based on user instructions.
  • Allows configuration of document type, section structure, and paragraph counts.

Maintenance & Community

The project is authored by Claudionor N. Coelho Jr and Fabricio Ceolin. No specific community channels or roadmap are detailed in the README.

Licensing & Compatibility

Licensed under the Apache License 2.0. This license is permissive and generally compatible with commercial use and closed-source linking.

Limitations & Caveats

The project is based on a short course and may not be production-ready. Image handling relies on a Gradio limitation requiring specific file path formatting. The README mentions that instructions are appended to the hypothesis, which might not be explicitly visible in the UI.

Health Check
Last commit

8 months ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
14 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.