--- title: TherapyNote app_file: app.py sdk: gradio sdk_version: 5.9.0 organization: pxpab --- # Therapy Session Analysis Pipeline A Python project that downloads YouTube therapy session captions and extracts structured information using LLMs, LangChain, and LangGraph. ## Features - Downloads captions from YouTube therapy sessions - Extracts structured information using LLMs and LangChain - Supports multiple note formats (SOAP, DAP, BIRP, etc.) - Uses LangGraph for data extraction workflows - Manages prompts in a dedicated "langhub" directory - Integrates with LangSmith for conversation and run logging ## Prerequisites - Python 3.9+ - uv package manager - OpenAI API key - LangChain API key (for logging) ## Installation 1. Clone the repository: ```bash git clone https://github.com/yourusername/therapy-session-analysis.git cd therapy-session-analysis ``` 2. Install dependencies using uv: ```bash uv pip install -r requirements.txt ``` 3. Set up environment variables: ```bash export OPENAI_API_KEY="your-openai-key" export LANGCHAIN_API_KEY="your-langchain-key" export LANGCHAIN_TRACING_V2="true" ``` ## Project Structure ``` project/ ├── config/ │ ├── __init__.py │ └── settings.py ├── langhub/ │ ├── __init__.py │ └── prompts/ │ ├── __init__.py │ └── therapy_extraction_prompt.yaml ├── forms/ │ ├── __init__.py │ └── schemas.py ├── utils/ │ ├── __init__.py │ ├── youtube.py │ └── text_processing.py ├── models/ │ ├── __init__.py │ └── llm_provider.py ├── main.py ├── requirements.txt └── README.md ``` ## Usage Run the main script: ```bash python main.py ``` ## Note Formats The system supports multiple therapy note formats: - SOAP (Subjective, Objective, Assessment, Plan) - DAP (Data, Assessment, Plan) - BIRP (Behavior, Intervention, Response, Plan) - And more... ## Contributing 1. Fork the repository 2. Create your feature branch (`git checkout -b feature/amazing-feature`) 3. Commit your changes (`git commit -m 'Add some amazing feature'`) 4. Push to the branch (`git push origin feature/amazing-feature`) 5. Open a Pull Request ## License This project is licensed under the MIT License - see the LICENSE file for details.