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
bookworm_genai-0.9.0.tar.gz
(9.5 kB
view details)
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.9.0.tar.gz.
File metadata
- Download URL: bookworm_genai-0.9.0.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 |
2eda1fda9181f2842a096e46128059b09a0093afb9484664da1510d5b6e9fcec
|
|
| MD5 |
bf1f366d5e2253e1fb2ff7b4abc7aecf
|
|
| BLAKE2b-256 |
a52ca70349b9f638b4de7df06e98e569ffbeb28f7409affc58153d61fc449578
|
File details
Details for the file bookworm_genai-0.9.0-py3-none-any.whl.
File metadata
- Download URL: bookworm_genai-0.9.0-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 |
85c91eac840ea2b58e784fd15d0ba68b3c20ea42e83b89552855b58d5762c30f
|
|
| MD5 |
ff48c7f0d08740ea4c6dc7e5e1d0d3bc
|
|
| BLAKE2b-256 |
493b8fe38bed15f65082906097d50c3647ffc8bf8fc0e39f65b61bac47dd8053
|