Spaces:
Build error
Build error
add information to readme
Browse files
README.md
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
|
7 |
## Project Overview
|
8 |
|
9 |
-
Planning AI is a sophisticated tool designed to process and
|
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
|
35 |
- **Thematic Analysis**: Breaks down responses into thematic categories, providing a percentage breakdown of themes.
|
36 |
-
- **
|
37 |
|
38 |
## Installation
|
39 |
|
40 |
-
To set up the project, ensure you have Python 3.
|
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 |
-
##
|
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 |
-
|
|
|
|
|
|
|
|
|
|
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.
|