Skip to main content

a python wrapper around nodejs orbitdb

Project description

IPFS ACCELERATE

This is meant to be an extension of the Huggingface accelerate library, is to act as a model server, which can contain lists of other endpoints to call, or can call a local instance, and can respond to external calls for inference. I have some modular back ends, such as Libp2p, Akash, Lilypad, Huggingface Zero, Vast AI, which I use for autoscaling. If the model is already listed in the ipfs_model_manager there should be an associated hw_requirements key of the manifest. In the case of libp2p the request to do inference will go out to peers in the same trusted zone, if there are no peers in the network available to fulfill the task, and it has the resources to run the model localliy it will do so, otherwise a docker container will need to be launched with one of the providers here.

Instructions:

run.sh -- this will run the model server

init.sh -- this will initialize the endpoints and models that you want to use

queue.sh -- this will add an item to the model queue, and the endpoints will pull items from their model queue.

infer.sh -- this will select a random endpoint for the requested model to perform inference.

Usage

from ipfs_accelerate_py import ipfs_accelerate_py
model_server = ipfs_accelerate_py()
init_model_server = model_server.init_endpoints(models, endpoints)
endpoints = model_server.resources["endpoint_handler"][model[0]]
for endpoint in list(endpoints.keys()):
    endpoint("hello world")

BACKENDS

You can spin up additional model endpoints with the following:

Method #1 Huggingface Hugs

Method #2 Akash

Method #3 Lilypad

Method #4 Vast AI

IPFS Huggingface Bridge:

for huggingface transformers python library visit: https://github.com/endomorphosis/ipfs_transformers/

for huggingface datasets python library visit: https://github.com/endomorphosis/ipfs_datasets/

for faiss KNN index python library visit: https://github.com/endomorphosis/ipfs_faiss

for transformers.js visit:
https://github.com/endomorphosis/ipfs_transformers_js

for orbitdb_kit nodejs library visit: https://github.com/endomorphosis/orbitdb_kit/

for fireproof_kit nodejs library visit: https://github.com/endomorphosis/fireproof_kit

for ipfs_kit nodejs library visit: https://github.com/endomorphosis/ipfs_kit/

for python model manager library visit: https://github.com/endomorphosis/ipfs_model_manager/

for nodejs model manager library visit: https://github.com/endomorphosis/ipfs_model_manager_js/

for nodejs ipfs huggingface scraper with pinning services visit: https://github.com/endomorphosis/ipfs_huggingface_scraper/

for ipfs agents visit: https://github.com/endomorphosis/ipfs_agents/

for ipfs accelerate visit: https://github.com/endomorphosis/ipfs_accelerate/

Author - Benjamin Barber QA - Kevin De Haan

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

ipfs_accelerate_py-0.0.42.tar.gz (70.0 kB view details)

Uploaded Source

Built Distribution

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

ipfs_accelerate_py-0.0.42-py3-none-any.whl (82.8 kB view details)

Uploaded Python 3

File details

Details for the file ipfs_accelerate_py-0.0.42.tar.gz.

File metadata

  • Download URL: ipfs_accelerate_py-0.0.42.tar.gz
  • Upload date:
  • Size: 70.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for ipfs_accelerate_py-0.0.42.tar.gz
Algorithm Hash digest
SHA256 3f330f0a94d0bf1f8bc39c71205180ee6d957c471a81198e3a7074d8c5a663ef
MD5 44df53eadb4ba9d7840f999ebda6feae
BLAKE2b-256 24453fd4ba22e2fc665586183a2cfac3ea01f6995de61c8882c9218fd1a804b0

See more details on using hashes here.

File details

Details for the file ipfs_accelerate_py-0.0.42-py3-none-any.whl.

File metadata

File hashes

Hashes for ipfs_accelerate_py-0.0.42-py3-none-any.whl
Algorithm Hash digest
SHA256 fc31500c7f9c5bffc4c4b1a5e9e7c2653362fc2cfbb76986636955e30ab4ebdd
MD5 d28c213e93101fe223ecd9c181572241
BLAKE2b-256 8e30788ba47a627339685097f2afad40c4c0e43b0bcec26b64aa5de634b4027f

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