Skip to main content

ingest-anything: from data to vector database effortlessly

Project description

ingest-anything

From data to vector database effortlessly


Ingest-Anything Logo

ingest-anything is a python package aimed at providing a smooth solution to ingest non-PDF files into vector databases, given that most ingestion pipelines are focused on PDF/markdown files. Leveraging chonkie, PdfItDown, Llamaindex, Sentence Transformers embeddings and Qdrant, ingest-anything gives you a fully-automated pipeline for document ingestion within few lines of code!

Workflow

Ingest-Anything Workflow
  • The input files are converted into PDF by PdfItDown
  • The PDF text is extracted using LlamaIndex readers
  • The text is chunked exploiting Chonkie's functionalities
  • The chunks are embedded thanks to Sentence Transformers models
  • The embeddings are loaded into a Qdrant vector database

Installation and usage

ingest-anything can be installed using pip in the following way:

pip install ingest-anything
# or, for a faster installation
uv pip install ingest-anything

And is available in your python scripts:

  • You can initialize it:
from ingest_anything.ingestion import IngestAnything, QdrantClient, AsyncQdrantClient

coll_name = "Flowers"
client = QdrantClient("http://localhost:6333")
aclient = AsyncQdrantClient("http://localhost:6333")
ingestor = IngestAnything(qdrant_client=client, async_qdrant_client=aclient, collection_name=coll_name, hybrid_search=True)
  • And ingest your files:
# with a list of files
ingestor.ingest(chunker="late", files_or_dir=['tests/data/test.docx', 'tests/data/test0.png', 'tests/data/test1.csv', 'tests/data/test2.json', 'tests/data/test3.md', 'tests/data/test4.xml', 'tests/data/test5.zip'], embedding_model="sentence-transformers/all-MiniLM-L6-v2")
# with a directory
ingestor.ingest(chunker="token", files_or_dir="tests/data", tokenizer="gpt2", embedding_model="sentence-transformers/all-MiniLM-L6-v2")

You can find a complete reference for the package in REFERENCE.md

Contributing

Contributions are always welcome!

Find contribution guidelines at CONTRIBUTING.md

License and Funding

This project is open-source and is provided under an MIT License.

If you found it useful, please consider funding it.

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

ingest_anything-0.0.0.post1.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

ingest_anything-0.0.0.post1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file ingest_anything-0.0.0.post1.tar.gz.

File metadata

  • Download URL: ingest_anything-0.0.0.post1.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-httpx/0.28.1

File hashes

Hashes for ingest_anything-0.0.0.post1.tar.gz
Algorithm Hash digest
SHA256 34dbed72ef731282bef10fd666729891987b764220049658af64b0013058b893
MD5 64881de87d9b9daaf811b73a87bed66e
BLAKE2b-256 5705ff939301768c8ea804e9d7b062b7bd3bfb016ad138a1e2674212dc05a877

See more details on using hashes here.

File details

Details for the file ingest_anything-0.0.0.post1-py3-none-any.whl.

File metadata

File hashes

Hashes for ingest_anything-0.0.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 a8f11a262c92c9c933f60b1d49542dc16a53a0db81802a28a6fc6dc4865b64fc
MD5 50917bdf835c26b3568582870bf2b52d
BLAKE2b-256 efb47142376a6c96249a23ef95049266a23483226e54e5c5971a942eb9e772bb

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