https://github.com/program247365/notes-analyzer
Chatting with my notes prototype.
https://github.com/program247365/notes-analyzer
Last synced: 2 months ago
JSON representation
Chatting with my notes prototype.
- Host: GitHub
- URL: https://github.com/program247365/notes-analyzer
- Owner: program247365
- License: apache-2.0
- Created: 2025-02-04T01:24:36.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-02-04T06:43:26.000Z (11 months ago)
- Last Synced: 2025-02-04T07:25:59.640Z (11 months ago)
- Language: Python
- Size: 19.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# notes-analyzer
[](https://pypi.org/project/notes-analyzer/)
[](https://github.com/program247365/notes-analyzer/releases)
[](https://github.com/program247365/notes-analyzer/actions/workflows/test.yml)
[](https://github.com/program247365/notes-analyzer/blob/master/LICENSE)
> Using [smollm2](https://ollama.com/library/smollm2:135m) to interact with your [Bear notes](https://bear.app).
Search through and ask questions about your Bear notes using local AI models served by Ollama.
## Quickstart
Run the following:
```bash
make init # pulls model down, starts ollama, syncs your Bear notes to a folder, and then indexes them as embeddings into ChromaDB sqlite db
make search # search through your notes using semantic search
make ask # generate AI responses to your prompts
```
## Features
- **Semantic Search**: Use `make search` to find relevant notes based on meaning, not just keywords
- **AI Generation**: Use `make ask` to generate AI responses to your prompts
- **Bear Integration**: Automatically syncs with your Bear notes
- **Local Processing**: All processing happens on your machine using Ollama
## Requirements
- [Bear notes](https://bear.app) installed on your Mac
- [Ollama](https://ollama.com) installed on your Mac
- [Python](https://www.python.org) installed on your Mac
- Python 3.11.1 is recommended
## Technology Used
- [smollm2](https://ollama.com/library/smollm2:135m) - a small language model for AI responses
- [nomic-embed-text](https://ollama.com/library/nomic-embed-text) - a small text embedding model for semantic search
- [ChromaDB](https://www.chromadb.dev/) - an open-source vector database to store and query embeddings
- [Ollama](https://ollama.com) - an open-source language model runner
## Installation
Install this tool using `pip`:
```bash
pip install notes-analyzer
```
## Usage
For help, run:
```bash
notes-analyzer --help
```
Basic commands:
```bash
make sync # Sync Bear notes to local directory
make index # Create searchable index of your notes
make search # Search through your notes
make ask # Generate AI responses to prompts
```
You can also use the Python module directly:
```bash
python -m notes_analyzer --help
```
## Development
To contribute to this tool, first checkout the code. Then create a new virtual environment:
```bash
cd notes-analyzer
python -m venv venv
source venv/bin/activate
```
Now install the dependencies and test dependencies:
```bash
pip install -e '.[test]'
```
To run the tests:
```bash
python -m pytest
```