Bookworm - A LLM-powered bookmark search engine
Project description
bookworm 📖
LLM-powered bookmark search engine
bookworm allows you to search your locally stored bookmarks using human language.
Install
python -m pip install bookworm_genai
Usage
export OPENAI_API_KEY=
# Run once and then anytime bookmarks across supported browsers changes
bookworm sync
# Sync bookmarks only from a specific browser
bookworm sync --browser-filter chrome
# Ask questions against the bookmark database
bookworm ask
# Ask questions against the bookmark database
# Specify the query when invoking the command
# If you omit this then you will be asked for a query when the tool is running
bookworm ask -q pandas
# Ask questions against the bookmark database and specify the number of results that should come back
bookworm ask -n 1
The sync process currently supports the following configurations:
| Operating System | Google Chrome | Mozilla Firefox | Brave | Microsoft Edge |
|---|---|---|---|---|
| Linux | ✅ | ✅ | ✅ | ❌ |
| macOS | ✅ | ✅ | ❌ | ❌ |
| Windows | ❌ | ❌ | ❌ | ❌ |
Processes
bookworm sync
python -m bookworm sync
graph LR
subgraph Bookmarks
Chrome(Chrome Bookmarks)
Brave(Brave Bookmarks)
Firefox(Firefox Bookmarks)
end
Bookworm(bookworm sync)
EmbeddingsService(Embeddings Service e.g OpenAIEmbeddings)
VectorStore(Vector Store e.g DuckDB)
Chrome -->|load bookmarks|Bookworm
Brave -->|load bookmarks|Bookworm
Firefox -->|load bookmarks|Bookworm
Bookworm -->|vectorize bookmarks|EmbeddingsService-->|store embeddings|VectorStore
bookworm ask
python -m bookworm ask
graph LR
query
Bookworm(bookworm ask)
subgraph _
LLM(LLM e.g OpenAI)
VectorStore(Vector Store e.g DuckDB)
end
query -->|user queries for information|Bookworm
Bookworm -->|simularity search|VectorStore -->|send similar docs + user query|LLM
LLM -->|send back response|Bookworm
Developer Setup
# LLMs
export OPENAI_API_KEY=
# Langchain (optional, but useful for debugging)
export LANGCHAIN_API_KEY=
export LANGCHAIN_TRACING_V2=true
export LANGCHAIN_PROJECT=bookworm
# Misc (optional)
export LOGGING_LEVEL=INFO
Recommendations:
- Install
pyenvand ensure build dependencies are installed for your OS. - Install Poetry we will be using environment management below.
poetry env use 3.9 # or path to your 3.9 installation
poetry shell
poetry install
bookworm --help
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bookworm_genai-0.8.1b51.tar.gz.
File metadata
- Download URL: bookworm_genai-0.8.1b51.tar.gz
- Upload date:
- Size: 9.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.12.3 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4415372714e1d403dbda2fbac5bbdfd9d07df91e381536a75edc973bb62f4357
|
|
| MD5 |
29b57cac1630cf77bd3e44f43a2efcd7
|
|
| BLAKE2b-256 |
c7c906d5e05b6a8f447a622285f99212f402f2119e318d009eec6e5635049a86
|
File details
Details for the file bookworm_genai-0.8.1b51-py3-none-any.whl.
File metadata
- Download URL: bookworm_genai-0.8.1b51-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.12.3 Linux/6.8.0-1017-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6d09f92fe162292ace4e7a5385fa2d9e1c60a6a1395a494e768723e017ea7d7
|
|
| MD5 |
8b4c8c5352bb2f41e29f67da20dc3e9e
|
|
| BLAKE2b-256 |
78fffe450582fa445293f6117fe7975396c24c4949900e51756e087e5783ff8e
|