cjber commited on
Commit
b357014
·
1 Parent(s): d09089c

add information to readme

Browse files
Files changed (1) hide show
  1. README.md +11 -22
README.md CHANGED
@@ -6,7 +6,7 @@
6
 
7
  ## Project Overview
8
 
9
- Planning AI is a sophisticated tool designed to process and analyze responses to local government planning applications. It leverages advanced natural language processing capabilities to summarize and categorize feedback, providing insights into public opinion on proposed developments.
10
 
11
  ```mermaid
12
  %%{init: {'flowchart': {'curve': 'linear'}}}%%
@@ -31,13 +31,13 @@ graph TD;
31
  ## Features
32
 
33
  - **Document Processing**: Extracts and processes text from various document formats including PDFs and Excel files.
34
- - **Summarisation**: Generates concise summaries of responses, highlighting key points and overall sentiment.
35
  - **Thematic Analysis**: Breaks down responses into thematic categories, providing a percentage breakdown of themes.
36
- - **Rate Limiting**: Ensures API requests are managed efficiently to comply with usage limits.
37
 
38
  ## Installation
39
 
40
- To set up the project, ensure you have Python 3.12 installed. Then, clone the repository and install the required dependencies:
41
 
42
  ```bash
43
  git clone https://github.com/cjber/planning-ai.git
@@ -59,27 +59,16 @@ pip install . # (or uv sync)
59
  python planning_ai/main.py
60
  ```
61
 
62
- ## Workflow
63
-
64
- 1. **Data Loading**: Documents are loaded from the staging directory using the `DirectoryLoader`.
65
- 2. **Text Splitting**: Documents are split into manageable chunks using `CharacterTextSplitter`.
66
- 3. **Graph Processing**: The `StateGraph` orchestrates the flow of data through various nodes, including mapping and reducing summaries.
67
- 4. **Summarisation**: The `map_chain` and `reduce_chain` are used to generate and refine summaries.
68
- 5. **Output**: Final summaries and thematic breakdowns are printed and can be exported for further analysis.
69
-
70
  ## Configuration
71
 
72
  - **Environment Variables**: Use a `.env` file to store sensitive information like API keys.
 
73
  - **Constants**: Adjust `Consts` in `planning_ai/common/utils.py` to modify token limits and other settings.
74
 
75
- ## Contributing
76
-
77
- Contributions are welcome! Please fork the repository and submit a pull request with your changes.
78
-
79
- ## Licence
80
-
81
- This project is licensed under the MIT Licence.
82
-
83
- ## Contact
84
 
85
- For questions or support, please contact [Your Name] at [Your Email].
 
 
 
 
 
6
 
7
  ## Project Overview
8
 
9
+ Planning AI is a sophisticated tool designed to process and analyse responses to local government planning applications. It uses advanced natural language processing techniques to summarise and categorise feedback, providing insights into public opinion on proposed developments.
10
 
11
  ```mermaid
12
  %%{init: {'flowchart': {'curve': 'linear'}}}%%
 
31
  ## Features
32
 
33
  - **Document Processing**: Extracts and processes text from various document formats including PDFs and Excel files.
34
+ - **Summarisation**: Generates concise summaries each response, highlighting key points and overall sentiment.
35
  - **Thematic Analysis**: Breaks down responses into thematic categories, providing a percentage breakdown of themes.
36
+ - **Reporting**: Aggregates response summaries to produce an extensive final overview.
37
 
38
  ## Installation
39
 
40
+ To set up the project, ensure you have Python >3.10 installed. Then, clone the repository and install the required dependencies:
41
 
42
  ```bash
43
  git clone https://github.com/cjber/planning-ai.git
 
59
  python planning_ai/main.py
60
  ```
61
 
 
 
 
 
 
 
 
 
62
  ## Configuration
63
 
64
  - **Environment Variables**: Use a `.env` file to store sensitive information like API keys.
65
+ - `OPENAI_API_KEY` required for summarisation; `OPENCAGE_API_KEY` required for geocoding (Quarto report)
66
  - **Constants**: Adjust `Consts` in `planning_ai/common/utils.py` to modify token limits and other settings.
67
 
68
+ ## Workflow
 
 
 
 
 
 
 
 
69
 
70
+ 1. **Data Loading**: Documents are loaded from the staging directory using the `DirectoryLoader`.
71
+ 2. **Text Splitting**: Documents are split into manageable chunks using `CharacterTextSplitter`.
72
+ 3. **Graph Processing**: The `StateGraph` orchestrates the flow of data through various nodes, including mapping and reducing summaries.
73
+ 4. **Summarisation**: The `map_chain` and `reduce_chain` are used to generate and refine summaries using LLMs.
74
+ 5. **Output**: Final summaries and thematic breakdowns are used to produce a final Quarto report.