Skip to main content

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

vecsync-0.1.0.tar.gz (47.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vecsync-0.1.0-py3-none-any.whl (34.6 kB view details)

Uploaded Python 3

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

Hashes for vecsync-0.1.0.tar.gz
Algorithm Hash digest
SHA256 abca472e42df3e9b332c74f73c955e293f326aad34c0131e8be67b69c8400ced
MD5 397f642a35bccf7f2184906ee362ab3d
BLAKE2b-256 ee85eddec4289a9a70f8b40204f5d34178637abc126152a9c2d74f0075be100a

See more details on using hashes here.

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

Hashes for vecsync-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 20e6d5a08e7fed3b24d82afb6e893accf2dc98307a7f0601d6b52e7123bb03b2
MD5 cabaebe4deac8e6752efc9cf88d07773
BLAKE2b-256 1d60530ba973a85a15fafa7318fa2bd11433644ea34689f2acda510108b91c44

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page