A package for importing knowledge and embedding text.
Project description
Import Knowledge (import-kb)
A utility package for importing distilled knowledge and curriculum files into a ChromaDB-based Long-Term Memory (LTM) system.
Purpose
The import-kb package is designed to bridge the gap between static knowledge files (JSONL, MeTTa) and an active agent's memory. It processes structured knowledge, generates vector embeddings, and upserts them into a ChromaDB collection, enabling semantic search and retrieval for AI agents.
Supported Embedding Models
This package supports two primary embedding modes:
- OpenAI (Cloud):
- Default model:
text-embedding-3-large - High accuracy but requires an internet connection and an API key.
- Default model:
- SentenceTransformers (Local):
- Default model:
intfloat/e5-large-v2 - Runs fully offline on your local machine.
- Can be configured to use any model compatible with the
sentence-transformerslibrary (e.g.,all-MiniLM-L6-v2).
- Default model:
Installation
You can install the package directly from PyPI:
pip install import-kb
Or install it locally in editable mode:
git clone <repository-url>
cd import-knowledge-package
pip install -e .
Setup
Create a .env file in your project root or set the following environment variables:
OPENAI_API_KEY: Required if using OpenAI embeddings.CHROMA_DB_PATH: (Optional) Custom path to your Chroma database. Defaults to looking for/PeTTa/chroma_dbor a localchroma_dbfolder.
How to Run
Command Line Interface (CLI)
After installation, you can run the import via the provided entry point:
# Use OpenAI embeddings (default)
import-knowledge
# Use Local embeddings
import-knowledge --local
# Use a specific local model
import-knowledge --local --model "all-MiniLM-L6-v2"
# Override OpenAI model
import-knowledge --model "text-embedding-3-small"
Alternatively, run it as a module:
python3 -m import_knowledge.import_knowledge --local
Programmatic Usage
You can initialize the embedding system and trigger the import programmatically from your Python scripts:
from import_knowledge import initLocalEmbedding, main
# Initialize for local use
initLocalEmbedding(model_name="intfloat/e5-large-v2")
# Run the import process
main()
Dependencies
openai: For cloud-based embeddings.sentence-transformers: For local, offline embeddings.chromadb: Vector database for storage.python-dotenv: Management of environment variables.tqdm: Progress bars for batch processing.
License
MIT License. See the LICENSE file for more details.
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 import_kb-0.1.6.tar.gz.
File metadata
- Download URL: import_kb-0.1.6.tar.gz
- Upload date:
- Size: 2.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b85b32bb46bdd3d98c5d6f7753a4076809bdb69bbd468d90f375bbe3629d2d10
|
|
| MD5 |
5428c16fb1ccee281bcc8ca5cf23319c
|
|
| BLAKE2b-256 |
e333cff845c1a78f4e6f054a74063fb0a236cb62e8f06b866dde67f3e570ad56
|
File details
Details for the file import_kb-0.1.6-py3-none-any.whl.
File metadata
- Download URL: import_kb-0.1.6-py3-none-any.whl
- Upload date:
- Size: 2.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0fb76c20ce12caa31c9018c48e886ba2a5487365e92d7d911f44f414925ae05
|
|
| MD5 |
0f2da39065710848e189655192a65d34
|
|
| BLAKE2b-256 |
86c9a353c2356ba67ccd67c0935bcc257da358165e5ae66b02843b0b46da74c5
|