How it works: a front-end server manages the requests compatible with the OpenAI API (LocalAI) and workers (llama.cpp) are used to distribute the workload. This makes possible to run larger models split across different nodes!
How to use it
To start workers to offload the computation you can run:
When starting the LocalAI server, which is going to accept the API requests, you can set a list of workers IP/address by specifying the addresses with LLAMACPP_GRPC_SERVERS:
LLAMACPP_GRPC_SERVERS="address1:port,address2:port" local-ai run
At this point the workload hitting in the LocalAI server should be distributed across the nodes!
π€ Peer2Peer llama.cpp
LocalAI is the first AI Free, Open source project offering complete, decentralized, peer2peer while private, LLM inferencing on top of the libp2p protocol. There is no "public swarm" to offload the computation, but rather empowers you to build your own cluster of local and remote machines to distribute LLM computation.
This feature leverages the ability of llama.cpp to distribute the workload explained just above and features from one of my other projects, https://github.com/mudler/edgevpn.
LocalAI builds on top of the twos, and allows to create a private peer2peer network between nodes, without the need of centralizing connections or manually configuring IP addresses: it unlocks totally decentralized, private, peer-to-peer inferencing capabilities. Works also behind different NAT-ted networks (uses DHT and mDNS as discovery mechanism).
How it works: A pre-shared token can be generated and shared between workers and the server to form a private, decentralized, p2p network.
You can see the feature in action here:
... (truncated)
Commits
e0187c2 ci: do not tag latest on AIO automatically
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps go-skynet/local-ai from v2.15.0-ffmpeg-core to v2.16.0-ffmpeg-core.
Release notes
Sourced from go-skynet/local-ai's releases.
... (truncated)
Commits
e0187c2
ci: do not tag latest on AIO automaticallyb76d2fe
Update quickstart.mdee4f722
models(gallery): add aya-35b (#2391)dce6323
:arrow_up: Update ggerganov/llama.cpp (#2360)0b63746
refactor: Minor improvements to BackendConfigLoader (#2353)114f549
Add warning for running the binary on MacOS (#2389)ea330d4
models(gallery): add mistral-0.3 and command-r, update functions (#2388)eb11a46
Add Home Assistant Integration (#2387)b57e14d
models(gallery): :arrow_up: update checksum (#2386)7efa8e7
fix: stablediffusion binary (#2385)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show