Fade0510 commited on
Commit
b95582f
·
1 Parent(s): f41ca4f

Add Ascii art and update agent

Browse files
Files changed (1) hide show
  1. README.md +36 -5
README.md CHANGED
@@ -20,7 +20,34 @@ This project implements a multi-agent workflow using **LangGraph** to process, t
20
 
21
  ## Workflow Flow & Agent Classes
22
 
23
- The core analysis logic is driven by a LangGraph StateGraph defined in `src/workflow.py`. The state moves sequentially between several agent classes located in the `src/agents/` directory:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
24
 
25
  1. **`IntakeAgent` (`src/agents/intake_agent.py`)**
26
  - *Entry Point*.
@@ -36,13 +63,17 @@ The core analysis logic is driven by a LangGraph StateGraph defined in `src/work
36
  - Utilizes `openai-whisper` to convert audio files into text.
37
  - Also scrubs the resulting transcript of profanity before passing it down the pipeline.
38
 
39
- 4. **`SummarizationAgent` (`src/agents/summarization_agent.py`)**
40
- - Takes the clean text from either the `IntakeAgent` (if CSV) or the `TranscriptionAgent` (if Audio).
 
 
 
 
41
  - Generates a concise summary and extracts key points using OpenAI (`gpt-3.5-turbo`).
42
 
43
- 5. **`QualityScoringAgent` (`src/agents/quality_scoring_agent.py`)**
44
  - Takes the clean text and evaluates it against a predefined rubric.
45
- - Scores the transcript based on Tone, Professionalism, and Structured Resolution.
46
 
47
  ## Prerequisites
48
 
 
20
 
21
  ## Workflow Flow & Agent Classes
22
 
23
+ The core analysis logic is driven by a LangGraph StateGraph defined in `src/workflow.py`. The state moves sequentially between several agent classes located in the `src/agents/` directory.
24
+
25
+ ### Workflow Architecture
26
+ ```text
27
+ [ IntakeAgent ]
28
+ |
29
+ v
30
+ [ Router ]
31
+ / \
32
+ (If Audio) / \ (If Text)
33
+ v \
34
+ [ TranscriptionAgent ] |
35
+ \ /
36
+ \ /
37
+ v v
38
+ [ ModerationAgent ]
39
+ |
40
+ v
41
+ [ SummarizationAgent ]
42
+ |
43
+ v
44
+ [ QualityScoringAgent ]
45
+ |
46
+ v
47
+ (END)
48
+ ```
49
+
50
+ ### Agent Classes
51
 
52
  1. **`IntakeAgent` (`src/agents/intake_agent.py`)**
53
  - *Entry Point*.
 
63
  - Utilizes `openai-whisper` to convert audio files into text.
64
  - Also scrubs the resulting transcript of profanity before passing it down the pipeline.
65
 
66
+ 4. **`ModerationAgent` (`src/agents/ModerationAgent.py`)**
67
+ - Receives text either directly from the `Router` (if text upload) or from the `TranscriptionAgent` (if audio upload).
68
+ - Identifies any obscene words or profanity using an LLM and replaces them entirely with a `***` mask to safely prepare the text for downstream analysis.
69
+
70
+ 5. **`SummarizationAgent` (`src/agents/summarization_agent.py`)**
71
+ - Takes the redacted text from the `ModerationAgent`.
72
  - Generates a concise summary and extracts key points using OpenAI (`gpt-3.5-turbo`).
73
 
74
+ 6. **`QualityScoringAgent` (`src/agents/quality_scoring_agent.py`)**
75
  - Takes the clean text and evaluates it against a predefined rubric.
76
+ - Scores the transcript based on Tone, Professionalism, and Structured Resolution. Automatically applies a 3-point penalty to each score and logs a count of policy violations if the `ModerationAgent` detected and masked any profanity (`***`).
77
 
78
  ## Prerequisites
79