Use LLM to generate Obsidian timeline style Cornell notes
- 📚 Table of Contents
- 📍Overview
- 🔮 Features
- ⚙️ Project Structure
- 🧩 Modules
- 🏎💨 Getting Started
- 🗺 Roadmap
- 🤝 Contributing
- 🪪 License
Obsidian-Cornell-Notes-Generator is an open source project that provides an automated way to generate Cornell-style notes for Obsidian.
Use OpenAI API to generate timeline format Cornell notes from lecture transcript, textbook, slides, etc
repo
├── gpt_notes.py
├── LICENSE
├── main.py
├── __pycache__
│ ├── gpt_notes.cpython-311.pyc
│ └── main.cpython-311.pyc
├── README.md
└── templates
└── index.html
2 directories, 7 files
Root
File | Summary | Module |
---|---|---|
gpt_notes.py | This code imports the OpenAI API and dotenv library , loads the dotenv file , and sets the OpenAI API key . It then defines two functions : split_prompt ( ) which splits a text into parts and sends them to the | gpt_notes.py |
main.py | This code creates a Flask web application that takes in text input from a user , processes it using the generate_notes function from the gpt_notes module , and returns the processed text as a JSON response . | main.py |
Templates
File | Summary | Module |
---|---|---|
index.html | This code creates a web app using Flask that takes in text from a textarea and processes it using an AJAX call . The output is then displayed in a pre element . | templates/index.html |
Before you begin, ensure that you have the following prerequisites installed:
timeline plugin in Obsidian Fill in the OpenAI API key in .env file, make a copy from .env.template
- Clone the Obsidian-Cornell-Notes-Generator repository:
git clone https://github.com/KenWuqianghao/Obsidian-Cornell-Notes-Generator
- Change to the project directory:
cd Obsidian-Cornell-Notes-Generator
- Install the dependencies:
conda env create --name cornell --file environment.yml
conda activate cornell
flask --app main run
python -m webbrowser http://127.0.0.1:5000/
You can also just run setup.sh file
bash setup.sh
Contributions are always welcome! Please follow these steps:
- Fork the project repository. This creates a copy of the project on your account that you can modify without affecting the original project.
- Clone the forked repository to your local machine using a Git client like Git or GitHub Desktop.
- Create a new branch with a descriptive name (e.g.,
new-feature-branch
orbugfix-issue-123
).
git checkout -b new-feature-branch
- Make changes to the project's codebase.
- Commit your changes to your local branch with a clear commit message that explains the changes you've made.
git commit -m 'Implemented new feature.'
- Push your changes to your forked repository on GitHub using the following command
git push origin new-feature-branch
- Create a pull request to the original repository. Open a new pull request to the original project repository. In the pull request, describe the changes you've made and why they're necessary. The project maintainers will review your changes and provide feedback or merge them into the main branch.
This project is licensed under the Apache License 2.0
License. See the LICENSE file for additional info.