A simple command-line utility for synchronizing documents to vector storage for LLM interaction.
Project description
vecsync
A simple command-line utility for synchronizing documents to vector storage for LLM interaction. Vecsync helps you quickly chat with papers, journals, and other documents with minimal overhead.
- 📄 Upload a local collection of PDFs to a remote vector store
- ✅ Automatically add and remove remote files to match local documents
- ☺️ Simplify platform specific complexities
- 👀 Synchronize with a Zotero collection
- 💬 Chat with documents from command line
Currently vecsync only supports OpenAI vector stores and chat assistants in early development.
Getting Started
Installation
Install vecsync from PyPI.
pip install vecsync
Set your OpenAI API key environment.
export OPENAI_API_KEY=...
You can also define the key via .env file using dotenv
echo "OPENAI_API_KEY=…" > .env
Usage
Sync from local file path
cd path/to/pdfs
vecsync
Syncing 2 files from local to OpenAI
Uploading 2 files to OpenAI file storage
Attaching 2 files to OpenAI vector store
🏁 Sync results:
Saved: 2 | Deleted: 0 | Skipped: 0
Remote count: 2
Duration: 8.93 seconds
Sync from a Zotero collection
vecsync -s zotero
Enter the path to your Zotero directory (Default: /Users/jbencina/Zotero):
Available collections:
[1]: My research
Enter the collection ID to sync (Default: 1):
Syncing 15 files from local to OpenAI
Uploading 15 files to OpenAI file storage
Attaching 15 files to OpenAI vector store
🏁 Sync results:
Saved: 15 | Deleted: 0 | Skipped: 0
Remote count: 15
Duration: 57.99 seconds
Interactive setup options are saved and omitted from future syncs
❯ vecsync -s zotero
Syncing 15 files from local to OpenAI
🏁 Sync results:
Saved: 0 | Deleted: 0 | Skipped: 15
Remote count: 15
Duration: 0.36 seconds
Settings can be purged for reconfiguration
vecsync settings delete
Uploaded documents can be interacted with via command line. The responding assistant is linked to your vector store.
vecsync assistant chat
Enter your prompt (or 'exit' to quit): Give me a one sentence description of DragonNet
DragonNet is a neural network model designed for estimating treatment effects from observational data, utilizing an end-to-end architecture that focuses on the efficiency of the propensity score and incorporates targeted regularization techniques to enhance estimation accuracy
You can also set up an assistant for further customization via web
vecsync assistant create
Enter a name for your assistant: My helpful assistant
✅ Assistant created: asst_someAssistantId
🔗 Assistant URL: https://platform.openai.com/assistants/asst_someAssistantId
Project details
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 vecsync-0.1.0.tar.gz.
File metadata
- Download URL: vecsync-0.1.0.tar.gz
- Upload date:
- Size: 47.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
abca472e42df3e9b332c74f73c955e293f326aad34c0131e8be67b69c8400ced
|
|
| MD5 |
397f642a35bccf7f2184906ee362ab3d
|
|
| BLAKE2b-256 |
ee85eddec4289a9a70f8b40204f5d34178637abc126152a9c2d74f0075be100a
|
File details
Details for the file vecsync-0.1.0-py3-none-any.whl.
File metadata
- Download URL: vecsync-0.1.0-py3-none-any.whl
- Upload date:
- Size: 34.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.16
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20e6d5a08e7fed3b24d82afb6e893accf2dc98307a7f0601d6b52e7123bb03b2
|
|
| MD5 |
cabaebe4deac8e6752efc9cf88d07773
|
|
| BLAKE2b-256 |
1d60530ba973a85a15fafa7318fa2bd11433644ea34689f2acda510108b91c44
|