Skip to main content

vecsync

GitHub PyPI image image Actions status

A fast command-line utility for synchronizing journals and papers to OpenAI vector storage for chat interaction. Vecsync helps you research topics by simpliyfing your workflow.

  • 📄 Synchronize a local collection of PDFs to a remote vector store
  • ✅ Automatically manage OpenAI files, vector store, and assistant
  • 💬 Quickly chat with documents from command line or local Gradio UI
  • 👀 Connect to a local Zotero collection

Sync and chat

vs sync && vs chat

demo

Chat with Gradio

vs chat --ui

chat

Getting Started

OpenAI API Requirements

Currently vecsync only supports OpenAI for remote operations and requires a valid OpenAI key with credits. Visit https://openai.com/api/ for more information.

Costs

Vecsync uses OpenAI gpt-4o-mini which is Input: $0.15/million tokens and Output: $0.60/million tokens. These costs are tied to your OpenAI API account. See pricing for details.

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 in the working directory.

echo "OPENAI_API_KEY=…" > .env

Usage

Syncing Collections

Use the vs sync command for all synching operations.

Sync from local file path.

cd path/to/pdfs && vs sync

Synching 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. Interactive selections are remembered for future sessions.

vs sync -source 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): 

Synching 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

Chat Interactions

Use vs chat to chat with uploaded documents via the command line. The responding assistant is automatically linked to your vector store. Alternatively, you can use vs chat --ui to spawn a local Gradio instance.

vs chat
✅ Assistant found: asst_123456789
Type "exit" to quit at any time.

> Give a one sentence summary of your vector store collection contents.
💬 Conversation started: thread_123456789

The contents of the vector store collection primarily focus on machine learning techniques for causal effect inference,particularly through adversarial representation learning methods that address challenges in treatment selection bias and information loss in observational data

Conversations are remembered across sessions.

vs chat    Assistant found: asst_123456789
✅ Thread found: thread_123456789
Type "exit" to quit at any time.

> What was my last question to you? 
Your last question to me was asking for a one sentence summary of the contents of my vector store collection.

Release files for vecsync 0.7.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vecsync 0.7.0
File Size Uploaded
vecsync-0.7.0.tar.gz 648.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vecsync 0.7.0
File Interpreter ABI Platform
vecsync-0.7.0-py3-none-any.whl Python 3 none any Details

Total release size:691.8 kB

Release files / vecsync-0.7.0.tar.gz

Download URL vecsync-0.7.0.tar.gz
Size 648.0 kB
Tags Source
SHA-256 checksum
How to use checksums
71dabf3c45c5b481163f94e93c51bdeb030b5330b80d0988cba5e163b865ee34
BLAKE2b-256 checksum
How to use checksums
7421a42b055e663a8eae8a7d121a0e33d54b4f48eaf14351eaa59d46f1483f5b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.7.20

Release files / vecsync-0.7.0-py3-none-any.whl

Download URL vecsync-0.7.0-py3-none-any.whl
Size 43.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
86227399d445f3cb5edd34ea9368efbd250055d07e631c48aab1b2e19b57be27
BLAKE2b-256 checksum
How to use checksums
78fc075bcd0b3736e7e808eafdd7337ab4348b4cd7c22c55e2e1bbc0cb249521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.7.20

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 release files

0.6.0

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page