2024-06-23 08:24:36 +00:00
|
|
|
module github.com/mudler/LocalAI
|
2023-03-18 22:59:06 +00:00
|
|
|
|
2026-03-06 23:03:08 +00:00
|
|
|
go 1.26.0
|
2023-03-18 22:59:06 +00:00
|
|
|
|
|
|
|
|
require (
|
2025-10-13 19:47:24 +00:00
|
|
|
dario.cat/mergo v1.0.2
|
2026-02-23 22:25:46 +00:00
|
|
|
fyne.io/fyne/v2 v2.7.3
|
2024-11-20 13:18:52 +00:00
|
|
|
github.com/Masterminds/sprig/v3 v3.3.0
|
2026-02-10 04:29:00 +00:00
|
|
|
github.com/alecthomas/kong v1.14.0
|
2026-03-17 10:41:36 +00:00
|
|
|
github.com/anthropics/anthropic-sdk-go v1.27.0
|
2025-09-02 18:32:41 +00:00
|
|
|
github.com/charmbracelet/glamour v0.10.0
|
2025-12-22 21:43:42 +00:00
|
|
|
github.com/containerd/containerd v1.7.30
|
2026-02-09 23:34:36 +00:00
|
|
|
github.com/dhowden/tag v0.0.0-20240417053706-3d75831295e8
|
2026-03-17 10:42:06 +00:00
|
|
|
github.com/ebitengine/purego v0.10.0
|
2025-12-29 10:06:06 +00:00
|
|
|
github.com/emirpasic/gods/v2 v2.0.0-alpha
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/fsnotify/fsnotify v1.9.0
|
2023-05-09 09:43:50 +00:00
|
|
|
github.com/go-audio/wav v1.1.0
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/go-skynet/go-llama.cpp v0.0.0-20240314183750-6a8041ef6b46
|
2025-10-20 20:54:53 +00:00
|
|
|
github.com/gofrs/flock v0.13.0
|
2026-03-17 10:43:25 +00:00
|
|
|
github.com/google/go-containerregistry v0.21.2
|
2024-06-04 06:39:19 +00:00
|
|
|
github.com/google/uuid v1.6.0
|
2026-02-23 22:26:41 +00:00
|
|
|
github.com/gpustack/gguf-parser-go v0.24.0
|
2023-07-14 23:19:43 +00:00
|
|
|
github.com/hpcloud/tail v1.0.0
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/ipfs/go-log v1.0.5
|
2026-02-16 21:49:41 +00:00
|
|
|
github.com/jaypipes/ghw v0.23.0
|
2024-05-13 09:37:52 +00:00
|
|
|
github.com/joho/godotenv v1.5.1
|
2025-10-27 20:30:05 +00:00
|
|
|
github.com/klauspost/cpuid/v2 v2.3.0
|
2026-03-09 21:26:39 +00:00
|
|
|
github.com/labstack/echo/v4 v4.15.1
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/libp2p/go-libp2p v0.43.0
|
2025-10-20 19:39:11 +00:00
|
|
|
github.com/lithammer/fuzzysearch v1.1.8
|
2023-06-24 06:18:17 +00:00
|
|
|
github.com/mholt/archiver/v3 v3.5.1
|
2025-09-02 12:16:24 +00:00
|
|
|
github.com/microcosm-cc/bluemonday v1.0.27
|
2026-03-02 20:44:03 +00:00
|
|
|
github.com/modelcontextprotocol/go-sdk v1.4.0
|
2026-03-15 23:50:19 +00:00
|
|
|
github.com/mudler/cogito v0.9.5-0.20260315222927-63abdec7189b
|
2025-11-04 02:29:50 +00:00
|
|
|
github.com/mudler/edgevpn v0.31.1
|
2026-01-13 07:44:53 +00:00
|
|
|
github.com/mudler/go-processmanager v0.1.0
|
2025-12-19 21:50:18 +00:00
|
|
|
github.com/mudler/memory v0.0.0-20251216220809-d1256471a6c2
|
2025-12-24 08:22:27 +00:00
|
|
|
github.com/mudler/xlog v0.0.5
|
2026-02-10 03:15:46 +00:00
|
|
|
github.com/onsi/ginkgo/v2 v2.28.1
|
2026-02-03 08:00:59 +00:00
|
|
|
github.com/onsi/gomega v1.39.1
|
2026-03-09 21:23:29 +00:00
|
|
|
github.com/openai/openai-go/v3 v3.26.0
|
2025-08-03 12:24:50 +00:00
|
|
|
github.com/otiai10/copy v1.14.1
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/otiai10/openaigo v1.7.0
|
2023-07-14 23:19:43 +00:00
|
|
|
github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5
|
2025-10-20 19:39:11 +00:00
|
|
|
github.com/prometheus/client_golang v1.23.2
|
2025-12-01 22:55:30 +00:00
|
|
|
github.com/robfig/cron/v3 v3.0.1
|
2024-04-11 07:19:24 +00:00
|
|
|
github.com/russross/blackfriday v1.6.0
|
2025-10-05 15:51:41 +00:00
|
|
|
github.com/sashabaranov/go-openai v1.41.2
|
2025-12-29 21:15:11 +00:00
|
|
|
github.com/schollz/progressbar/v3 v3.19.0
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/shirou/gopsutil/v3 v3.24.5
|
2024-11-20 17:13:42 +00:00
|
|
|
github.com/streamer45/silero-vad-go v0.2.1
|
2025-11-14 21:57:53 +00:00
|
|
|
github.com/swaggo/echo-swagger v1.4.1
|
2025-09-09 06:56:59 +00:00
|
|
|
github.com/swaggo/swag v1.16.6
|
2025-11-10 18:40:57 +00:00
|
|
|
github.com/testcontainers/testcontainers-go v0.40.0
|
2026-03-09 21:23:15 +00:00
|
|
|
go.opentelemetry.io/otel v1.42.0
|
2026-02-03 07:36:34 +00:00
|
|
|
go.opentelemetry.io/otel/exporters/prometheus v0.62.0
|
2026-03-09 21:23:15 +00:00
|
|
|
go.opentelemetry.io/otel/metric v1.42.0
|
|
|
|
|
go.opentelemetry.io/otel/sdk/metric v1.42.0
|
2026-02-16 20:20:30 +00:00
|
|
|
google.golang.org/grpc v1.79.1
|
2023-04-28 17:24:49 +00:00
|
|
|
gopkg.in/yaml.v3 v3.0.1
|
2025-09-08 23:43:28 +00:00
|
|
|
oras.land/oras-go/v2 v2.6.0
|
2023-03-18 22:59:06 +00:00
|
|
|
)
|
|
|
|
|
|
2026-03-14 10:06:05 +00:00
|
|
|
require (
|
|
|
|
|
github.com/stretchr/testify v1.11.1 // indirect
|
|
|
|
|
github.com/tmc/langchaingo v0.1.14 // indirect
|
2026-03-17 10:41:36 +00:00
|
|
|
google.golang.org/protobuf v1.36.11 // indirect
|
2026-03-14 10:06:05 +00:00
|
|
|
)
|
2026-03-09 21:23:15 +00:00
|
|
|
|
2025-11-14 21:57:53 +00:00
|
|
|
require (
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/JohannesKaufmann/dom v0.2.0 // indirect
|
|
|
|
|
github.com/JohannesKaufmann/html-to-markdown/v2 v2.4.0 // indirect
|
|
|
|
|
github.com/ProtonMail/go-crypto v1.1.6 // indirect
|
|
|
|
|
github.com/PuerkitoBio/goquery v1.10.3 // indirect
|
|
|
|
|
github.com/RoaringBitmap/roaring/v2 v2.4.5 // indirect
|
|
|
|
|
github.com/andybalholm/cascadia v1.3.3 // indirect
|
|
|
|
|
github.com/antchfx/htmlquery v1.3.4 // indirect
|
|
|
|
|
github.com/antchfx/xmlquery v1.4.4 // indirect
|
|
|
|
|
github.com/antchfx/xpath v1.3.4 // indirect
|
|
|
|
|
github.com/bits-and-blooms/bitset v1.22.0 // indirect
|
|
|
|
|
github.com/blevesearch/bleve/v2 v2.5.7 // indirect
|
|
|
|
|
github.com/blevesearch/bleve_index_api v1.2.11 // indirect
|
|
|
|
|
github.com/blevesearch/geo v0.2.4 // indirect
|
|
|
|
|
github.com/blevesearch/go-faiss v1.0.26 // indirect
|
|
|
|
|
github.com/blevesearch/go-porterstemmer v1.0.3 // indirect
|
|
|
|
|
github.com/blevesearch/gtreap v0.1.1 // indirect
|
|
|
|
|
github.com/blevesearch/mmap-go v1.0.4 // indirect
|
|
|
|
|
github.com/blevesearch/scorch_segment_api/v2 v2.3.13 // indirect
|
|
|
|
|
github.com/blevesearch/segment v0.9.1 // indirect
|
|
|
|
|
github.com/blevesearch/snowballstem v0.9.0 // indirect
|
|
|
|
|
github.com/blevesearch/upsidedown_store_api v1.0.2 // indirect
|
|
|
|
|
github.com/blevesearch/vellum v1.1.0 // indirect
|
|
|
|
|
github.com/blevesearch/zapx/v11 v11.4.2 // indirect
|
|
|
|
|
github.com/blevesearch/zapx/v12 v12.4.2 // indirect
|
|
|
|
|
github.com/blevesearch/zapx/v13 v13.4.2 // indirect
|
|
|
|
|
github.com/blevesearch/zapx/v14 v14.4.2 // indirect
|
|
|
|
|
github.com/blevesearch/zapx/v15 v15.4.2 // indirect
|
|
|
|
|
github.com/blevesearch/zapx/v16 v16.2.8 // indirect
|
|
|
|
|
github.com/bwmarrin/discordgo v0.29.0 // indirect
|
|
|
|
|
github.com/cloudflare/circl v1.6.1 // indirect
|
|
|
|
|
github.com/cyphar/filepath-securejoin v0.5.1 // indirect
|
|
|
|
|
github.com/dslipak/pdf v0.0.2 // indirect
|
|
|
|
|
github.com/emersion/go-imap/v2 v2.0.0-beta.5 // indirect
|
|
|
|
|
github.com/emersion/go-message v0.18.2 // indirect
|
|
|
|
|
github.com/emersion/go-sasl v0.0.0-20241020182733-b788ff22d5a6 // indirect
|
|
|
|
|
github.com/emersion/go-smtp v0.24.0 // indirect
|
|
|
|
|
github.com/emirpasic/gods v1.18.1 // indirect
|
|
|
|
|
github.com/eritikass/githubmarkdownconvertergo v0.1.10 // indirect
|
2025-11-14 21:57:53 +00:00
|
|
|
github.com/ghodss/yaml v1.0.0 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
|
|
|
|
|
github.com/go-git/go-billy/v5 v5.6.2 // indirect
|
|
|
|
|
github.com/go-git/go-git/v5 v5.16.4 // indirect
|
|
|
|
|
github.com/go-telegram/bot v1.17.0 // indirect
|
|
|
|
|
github.com/gobwas/glob v0.2.3 // indirect
|
|
|
|
|
github.com/gocolly/colly v1.2.0 // indirect
|
|
|
|
|
github.com/gofiber/fiber/v2 v2.52.9 // indirect
|
|
|
|
|
github.com/golang/protobuf v1.5.4 // indirect
|
|
|
|
|
github.com/gomarkdown/markdown v0.0.0-20250311123330-531bef5e742b // indirect
|
|
|
|
|
github.com/google/go-github/v69 v69.2.0 // indirect
|
|
|
|
|
github.com/google/go-querystring v1.1.0 // indirect
|
|
|
|
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
|
|
|
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
|
|
|
|
github.com/jackc/pgx/v5 v5.8.0 // indirect
|
|
|
|
|
github.com/jackc/puddle/v2 v2.2.2 // indirect
|
|
|
|
|
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
|
|
|
|
|
github.com/jung-kurt/gofpdf v1.16.2 // indirect
|
|
|
|
|
github.com/kennygrant/sanitize v1.2.4 // indirect
|
|
|
|
|
github.com/kevinburke/ssh_config v1.2.0 // indirect
|
2025-11-14 21:57:53 +00:00
|
|
|
github.com/labstack/gommon v0.4.2 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/mschoch/smat v0.2.0 // indirect
|
2026-03-15 23:50:19 +00:00
|
|
|
github.com/mudler/LocalAGI v0.0.0-20260315223407-da286065e126
|
2026-03-14 22:31:45 +00:00
|
|
|
github.com/mudler/localrecall v0.5.9-0.20260314221856-96d63875cc47 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/mudler/skillserver v0.0.5-0.20260221145827-0639a82c8f49
|
|
|
|
|
github.com/olekukonko/tablewriter v0.0.5 // indirect
|
|
|
|
|
github.com/oxffaa/gopher-parse-sitemap v0.0.0-20191021113419-005d2eb1def4 // indirect
|
|
|
|
|
github.com/philippgille/chromem-go v0.7.0 // indirect
|
2026-03-13 20:37:15 +00:00
|
|
|
github.com/pion/transport/v4 v4.0.1 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/pjbgf/sha1cd v0.3.2 // indirect
|
|
|
|
|
github.com/rs/zerolog v1.31.0 // indirect
|
|
|
|
|
github.com/saintfish/chardet v0.0.0-20230101081208-5e3ef4b5456d // indirect
|
2026-03-02 20:44:03 +00:00
|
|
|
github.com/segmentio/asm v1.1.3 // indirect
|
|
|
|
|
github.com/segmentio/encoding v0.5.3 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/sergi/go-diff v1.4.0 // indirect
|
|
|
|
|
github.com/skeema/knownhosts v1.3.1 // indirect
|
|
|
|
|
github.com/slack-go/slack v0.17.3 // indirect
|
|
|
|
|
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
|
2025-11-14 21:57:53 +00:00
|
|
|
github.com/swaggo/files/v2 v2.0.2 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/temoto/robotstxt v1.1.2 // indirect
|
|
|
|
|
github.com/thoj/go-ircevent v0.0.0-20210723090443-73e444401d64 // indirect
|
2026-01-10 11:33:05 +00:00
|
|
|
github.com/tidwall/gjson v1.18.0 // indirect
|
2026-02-01 16:33:17 +00:00
|
|
|
github.com/tidwall/match v1.2.0 // indirect
|
2026-01-10 11:33:05 +00:00
|
|
|
github.com/tidwall/pretty v1.2.1 // indirect
|
|
|
|
|
github.com/tidwall/sjson v1.2.5 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/traefik/yaegi v0.16.1 // indirect
|
|
|
|
|
github.com/valyala/fasthttp v1.68.0 // indirect
|
2025-11-14 21:57:53 +00:00
|
|
|
github.com/valyala/fasttemplate v1.2.2 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/xanzy/ssh-agent v0.3.3 // indirect
|
|
|
|
|
go.etcd.io/bbolt v1.4.0 // indirect
|
|
|
|
|
go.mau.fi/util v0.3.0 // indirect
|
|
|
|
|
go.starlark.net v0.0.0-20250417143717-f57e51f710eb // indirect
|
|
|
|
|
google.golang.org/appengine v1.6.8 // indirect
|
|
|
|
|
gopkg.in/warnings.v0 v0.1.2 // indirect
|
2026-02-16 13:10:19 +00:00
|
|
|
gopkg.in/yaml.v2 v2.4.0 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
jaytaylor.com/html2text v0.0.0-20230321000545-74c2419ad056 // indirect
|
|
|
|
|
maunium.net/go/maulogger/v2 v2.4.1 // indirect
|
|
|
|
|
maunium.net/go/mautrix v0.17.0 // indirect
|
|
|
|
|
mvdan.cc/xurls/v2 v2.6.0 // indirect
|
2025-11-14 21:57:53 +00:00
|
|
|
)
|
|
|
|
|
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
require (
|
2026-01-13 07:45:58 +00:00
|
|
|
fyne.io/systray v1.12.0 // indirect
|
2025-10-28 04:57:03 +00:00
|
|
|
github.com/BurntSushi/toml v1.5.0 // indirect
|
2025-09-02 18:32:41 +00:00
|
|
|
github.com/charmbracelet/colorprofile v0.2.3-0.20250311203215-f60798e515dc // indirect
|
|
|
|
|
github.com/charmbracelet/lipgloss v1.1.1-0.20250404203927-76690c660834 // indirect
|
|
|
|
|
github.com/charmbracelet/x/ansi v0.8.0 // indirect
|
|
|
|
|
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
|
|
|
|
|
github.com/charmbracelet/x/exp/slice v0.0.0-20250327172914-2fdc97757edf // indirect
|
|
|
|
|
github.com/charmbracelet/x/term v0.2.1 // indirect
|
2025-09-03 13:42:54 +00:00
|
|
|
github.com/containerd/errdefs/pkg v0.3.0 // indirect
|
2025-05-04 14:42:42 +00:00
|
|
|
github.com/containerd/platforms v0.2.1 // indirect
|
|
|
|
|
github.com/cpuguy83/dockercfg v0.3.2 // indirect
|
|
|
|
|
github.com/distribution/reference v0.6.0 // indirect
|
2024-11-20 17:13:42 +00:00
|
|
|
github.com/felixge/httpsnoop v1.0.4 // indirect
|
2025-10-28 04:57:03 +00:00
|
|
|
github.com/fredbi/uri v1.1.1 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/fyne-io/gl-js v0.2.0 // indirect
|
|
|
|
|
github.com/fyne-io/glfw-js v0.3.0 // indirect
|
|
|
|
|
github.com/fyne-io/image v0.1.1 // indirect
|
2025-10-28 04:57:03 +00:00
|
|
|
github.com/fyne-io/oksvg v0.2.0 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/go-gl/gl v0.0.0-20231021071112-07e5d0ea2e71 // indirect
|
|
|
|
|
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240506104042-037f3cc74f2a // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/go-text/render v0.2.0 // indirect
|
2026-02-23 22:25:46 +00:00
|
|
|
github.com/go-text/typesetting v0.3.3 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/godbus/dbus/v5 v5.1.0 // indirect
|
2026-02-16 23:04:19 +00:00
|
|
|
github.com/google/jsonschema-go v0.4.2 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/hack-pad/go-indexeddb v0.3.2 // indirect
|
|
|
|
|
github.com/hack-pad/safejs v0.1.0 // indirect
|
|
|
|
|
github.com/jeandeaual/go-locale v0.0.0-20250612000132-0ef82f21eade // indirect
|
2024-12-08 12:50:33 +00:00
|
|
|
github.com/json-iterator/go v1.1.12 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/libp2p/go-yamux/v5 v5.0.1 // indirect
|
2025-10-05 15:51:41 +00:00
|
|
|
github.com/magiconair/properties v1.8.10 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/moby/docker-image-spec v1.3.1 // indirect
|
2025-09-03 13:42:54 +00:00
|
|
|
github.com/moby/go-archive v0.1.0 // indirect
|
2025-05-04 14:42:42 +00:00
|
|
|
github.com/moby/patternmatcher v0.6.0 // indirect
|
2025-09-03 13:42:54 +00:00
|
|
|
github.com/moby/sys/user v0.4.0 // indirect
|
2025-08-29 06:12:12 +00:00
|
|
|
github.com/moby/sys/userns v0.1.0 // indirect
|
2024-12-08 12:50:33 +00:00
|
|
|
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
|
|
|
|
|
github.com/modern-go/reflect2 v1.0.2 // indirect
|
2025-05-04 14:42:42 +00:00
|
|
|
github.com/morikuni/aec v1.0.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
|
|
|
|
|
github.com/nicksnyder/go-i18n/v2 v2.5.1 // indirect
|
2025-08-03 12:24:50 +00:00
|
|
|
github.com/otiai10/mint v1.6.3 // indirect
|
2026-03-13 20:37:15 +00:00
|
|
|
github.com/pion/datachannel v1.6.0 // indirect
|
2024-08-20 17:17:35 +00:00
|
|
|
github.com/pion/dtls/v2 v2.2.12 // indirect
|
2026-03-13 20:37:15 +00:00
|
|
|
github.com/pion/dtls/v3 v3.1.2 // indirect
|
|
|
|
|
github.com/pion/ice/v4 v4.2.1 // indirect
|
|
|
|
|
github.com/pion/interceptor v0.1.44 // indirect
|
|
|
|
|
github.com/pion/logging v0.2.4 // indirect
|
|
|
|
|
github.com/pion/mdns/v2 v2.1.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/pion/randutil v0.1.0 // indirect
|
2026-03-13 20:37:15 +00:00
|
|
|
github.com/pion/rtcp v1.2.16 // indirect
|
|
|
|
|
github.com/pion/rtp v1.10.1
|
|
|
|
|
github.com/pion/sctp v1.9.2 // indirect
|
|
|
|
|
github.com/pion/sdp/v3 v3.0.18 // indirect
|
|
|
|
|
github.com/pion/srtp/v3 v3.0.10 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/pion/stun v0.6.1 // indirect
|
2026-03-13 20:37:15 +00:00
|
|
|
github.com/pion/stun/v3 v3.1.1 // indirect
|
2024-08-20 17:17:35 +00:00
|
|
|
github.com/pion/transport/v2 v2.2.10 // indirect
|
2026-03-13 20:37:15 +00:00
|
|
|
github.com/pion/turn/v4 v4.1.4 // indirect
|
|
|
|
|
github.com/pion/webrtc/v4 v4.2.9
|
2025-12-08 23:43:13 +00:00
|
|
|
github.com/prometheus/otlptranslator v1.0.0 // indirect
|
2025-10-28 04:57:03 +00:00
|
|
|
github.com/rymdport/portal v0.4.2 // indirect
|
2025-11-10 18:40:57 +00:00
|
|
|
github.com/shirou/gopsutil/v4 v4.25.6 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c // indirect
|
|
|
|
|
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
|
2025-01-09 08:33:22 +00:00
|
|
|
github.com/wlynxg/anet v0.0.5 // indirect
|
2025-09-02 18:32:41 +00:00
|
|
|
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
|
2025-10-05 15:51:41 +00:00
|
|
|
github.com/yosida95/uritemplate/v3 v3.0.2 // indirect
|
2025-11-24 20:18:41 +00:00
|
|
|
go.opentelemetry.io/auto/sdk v1.2.1 // indirect
|
2025-10-20 20:52:50 +00:00
|
|
|
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
go.uber.org/mock v0.5.2 // indirect
|
2026-03-09 21:25:49 +00:00
|
|
|
go.yaml.in/yaml/v2 v2.4.4
|
2025-09-02 16:03:35 +00:00
|
|
|
go.yaml.in/yaml/v3 v3.0.4 // indirect
|
2025-08-26 12:22:04 +00:00
|
|
|
golang.org/x/image v0.25.0 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
golang.org/x/net v0.50.0 // indirect; indirect (for websocket)
|
|
|
|
|
golang.org/x/oauth2 v0.35.0 // indirect
|
|
|
|
|
golang.org/x/telemetry v0.0.0-20260209163413-e7419c687ee4 // indirect
|
2025-12-16 07:15:41 +00:00
|
|
|
golang.org/x/time v0.14.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
require (
|
2025-10-20 20:52:50 +00:00
|
|
|
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/KyleBanks/depth v1.2.1 // indirect
|
|
|
|
|
github.com/Masterminds/goutils v1.1.1 // indirect
|
2025-09-02 16:03:35 +00:00
|
|
|
github.com/Masterminds/semver/v3 v3.4.0 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/Microsoft/go-winio v0.6.2 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/Microsoft/hcsshim v0.11.7 // indirect
|
2025-09-02 18:32:41 +00:00
|
|
|
github.com/alecthomas/chroma/v2 v2.14.0 // indirect
|
2025-11-04 01:16:28 +00:00
|
|
|
github.com/andybalholm/brotli v1.2.0 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
|
|
|
|
|
github.com/aymerick/douceur v0.2.0 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/benbjohnson/clock v1.3.5 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/beorn7/perks v1.0.1 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/c-robinson/iplib v1.0.8 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/cespare/xxhash/v2 v2.3.0 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/containerd/cgroups v1.1.0 // indirect
|
2025-08-29 06:12:12 +00:00
|
|
|
github.com/containerd/continuity v0.4.4 // indirect
|
2025-10-05 15:51:41 +00:00
|
|
|
github.com/containerd/errdefs v1.0.0 // indirect
|
2024-06-22 06:17:41 +00:00
|
|
|
github.com/containerd/log v0.1.0 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
github.com/containerd/stargz-snapshotter/estargz v0.18.2 // indirect
|
2024-11-20 13:18:52 +00:00
|
|
|
github.com/creachadair/otp v0.5.0 // indirect
|
2025-10-20 20:52:50 +00:00
|
|
|
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/davidlazar/go-crypto v0.0.0-20200604182044-b73af7476f6c // indirect
|
2025-07-23 10:40:32 +00:00
|
|
|
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/dlclark/regexp2 v1.11.5 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
github.com/docker/cli v29.2.1+incompatible // indirect
|
2025-12-01 22:55:30 +00:00
|
|
|
github.com/docker/distribution v2.8.3+incompatible // indirect
|
2025-11-10 18:40:26 +00:00
|
|
|
github.com/docker/docker v28.5.2+incompatible
|
2025-12-01 22:55:30 +00:00
|
|
|
github.com/docker/docker-credential-helpers v0.9.3 // indirect
|
2025-10-07 14:29:33 +00:00
|
|
|
github.com/docker/go-connections v0.6.0
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/docker/go-units v0.5.0 // indirect
|
|
|
|
|
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/flynn/noise v1.1.0 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/francoispqt/gojay v1.2.13 // indirect
|
2024-11-20 17:13:42 +00:00
|
|
|
github.com/go-audio/audio v1.0.0
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/go-audio/riff v1.0.0 // indirect
|
2025-09-02 16:03:35 +00:00
|
|
|
github.com/go-logr/logr v1.4.3 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/go-logr/stdr v1.2.2 // indirect
|
2024-08-23 22:27:14 +00:00
|
|
|
github.com/go-ole/go-ole v1.3.0 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/go-openapi/jsonpointer v0.21.0 // indirect
|
|
|
|
|
github.com/go-openapi/jsonreference v0.21.0 // indirect
|
|
|
|
|
github.com/go-openapi/spec v0.21.0 // indirect
|
|
|
|
|
github.com/go-openapi/swag v0.23.0 // indirect
|
|
|
|
|
github.com/gogo/protobuf v1.3.2 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/golang/snappy v0.0.4 // indirect
|
2025-02-17 15:51:22 +00:00
|
|
|
github.com/google/btree v1.1.3 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/google/go-cmp v0.7.0 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/google/gopacket v1.1.19 // indirect
|
2026-02-03 08:00:59 +00:00
|
|
|
github.com/google/pprof v0.0.0-20260115054156-294ebfa9ad83 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/gorilla/css v1.0.1 // indirect
|
2025-11-17 19:37:07 +00:00
|
|
|
github.com/gorilla/websocket v1.5.3
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/hashicorp/golang-lru v1.0.2 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
|
2025-05-02 15:40:26 +00:00
|
|
|
github.com/henvic/httpretty v0.1.4 // indirect
|
2024-11-20 13:18:52 +00:00
|
|
|
github.com/huandu/xstrings v1.5.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/huin/goupnp v1.3.0 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/ipfs/boxo v0.30.0 // indirect
|
2025-02-17 15:51:22 +00:00
|
|
|
github.com/ipfs/go-cid v0.5.0 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/ipfs/go-datastore v0.8.2 // indirect
|
|
|
|
|
github.com/ipfs/go-log/v2 v2.6.0 // indirect
|
2024-08-26 18:19:27 +00:00
|
|
|
github.com/ipld/go-ipld-prime v0.21.0 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/jackpal/go-nat-pmp v1.0.2 // indirect
|
2025-09-02 11:04:35 +00:00
|
|
|
github.com/jaypipes/pcidb v1.1.1 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/jbenet/go-temp-err-catcher v0.1.0 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/josharian/intern v1.0.0 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
github.com/klauspost/compress v1.18.4 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/klauspost/pgzip v1.2.5 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/koron/go-ssdp v0.0.6 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/libp2p/go-buffer-pool v0.1.0 // indirect
|
|
|
|
|
github.com/libp2p/go-cidranger v1.1.0 // indirect
|
2025-01-09 08:33:22 +00:00
|
|
|
github.com/libp2p/go-flow-metrics v0.2.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/libp2p/go-libp2p-asn-util v0.4.1 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/libp2p/go-libp2p-kad-dht v0.33.1 // indirect
|
|
|
|
|
github.com/libp2p/go-libp2p-kbucket v0.7.0 // indirect
|
|
|
|
|
github.com/libp2p/go-libp2p-pubsub v0.14.2 // indirect
|
2025-02-17 15:51:22 +00:00
|
|
|
github.com/libp2p/go-libp2p-record v0.3.1 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/libp2p/go-libp2p-routing-helpers v0.7.5 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/libp2p/go-msgio v0.3.0 // indirect
|
2025-01-09 08:33:22 +00:00
|
|
|
github.com/libp2p/go-netroute v0.2.2 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/libp2p/go-reuseport v0.4.0 // indirect
|
|
|
|
|
github.com/libp2p/zeroconf/v2 v2.2.0 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
|
2025-10-20 20:52:50 +00:00
|
|
|
github.com/lufia/plan9stats v0.0.0-20250317134145-8bc96cf8fc35 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/mailru/easyjson v0.7.7 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/marten-seemann/tcp v0.0.0-20210406111302-dfbc87cc63fd // indirect
|
2025-02-17 15:51:22 +00:00
|
|
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/mattn/go-isatty v0.0.20 // indirect
|
2025-08-29 06:12:12 +00:00
|
|
|
github.com/mattn/go-runewidth v0.0.16 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/miekg/dns v1.1.66 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/mikioh/tcpinfo v0.0.0-20190314235526-30a79bb1804b // indirect
|
|
|
|
|
github.com/mikioh/tcpopt v0.0.0-20190314235656-172688c1accc // indirect
|
|
|
|
|
github.com/minio/sha256-simd v1.0.1 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
|
|
|
|
|
github.com/mitchellh/copystructure v1.2.0 // indirect
|
|
|
|
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
|
|
|
|
github.com/mitchellh/reflectwalk v1.0.2 // indirect
|
2025-09-03 13:42:54 +00:00
|
|
|
github.com/moby/sys/sequential v0.6.0 // indirect
|
2025-10-20 20:52:50 +00:00
|
|
|
github.com/moby/term v0.5.2 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/mr-tron/base58 v1.2.0 // indirect
|
2025-02-10 11:06:16 +00:00
|
|
|
github.com/mudler/go-piper v0.0.0-20241023091659-2494246fd9fc
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/mudler/water v0.0.0-20250808092830-dd90dcf09025 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/muesli/reflow v0.3.0 // indirect
|
2025-09-02 18:32:41 +00:00
|
|
|
github.com/muesli/termenv v0.16.0 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/multiformats/go-base32 v0.1.0 // indirect
|
|
|
|
|
github.com/multiformats/go-base36 v0.2.0 // indirect
|
2025-10-09 12:26:24 +00:00
|
|
|
github.com/multiformats/go-multiaddr v0.16.1
|
2025-01-09 08:33:22 +00:00
|
|
|
github.com/multiformats/go-multiaddr-dns v0.4.1 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/multiformats/go-multiaddr-fmt v0.1.0 // indirect
|
|
|
|
|
github.com/multiformats/go-multibase v0.2.0 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/multiformats/go-multicodec v0.9.1 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/multiformats/go-multihash v0.2.3 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/multiformats/go-multistream v0.6.1 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/multiformats/go-varint v0.0.7 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/nwaples/rardecode v1.1.0 // indirect
|
|
|
|
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
2025-09-08 20:06:46 +00:00
|
|
|
github.com/opencontainers/image-spec v1.1.1
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/opentracing/opentracing-go v1.2.0 // indirect
|
2025-12-19 21:50:18 +00:00
|
|
|
github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58 // indirect
|
feat(llama.cpp): Totally decentralized, private, distributed, p2p inference (#2343)
* feat(llama.cpp): Enable decentralized, distributed inference
As https://github.com/mudler/LocalAI/pull/2324 introduced distributed inferencing thanks to
@rgerganov implementation in https://github.com/ggerganov/llama.cpp/pull/6829 in upstream llama.cpp, now
it is possible to distribute the workload to remote llama.cpp gRPC server.
This changeset now uses mudler/edgevpn to establish a secure, distributed network between the nodes using a shared token.
The token is generated automatically when starting the server with the `--p2p` flag, and can be used by starting the workers
with `local-ai worker p2p-llama-cpp-rpc` by passing the token via environment variable (TOKEN) or with args (--token).
As per how mudler/edgevpn works, a network is established between the server and the workers with dht and mdns discovery protocols,
the llama.cpp rpc server is automatically started and exposed to the underlying p2p network so the API server can connect on.
When the HTTP server is started, it will discover the workers in the network and automatically create the port-forwards to the service locally.
Then llama.cpp is configured to use the services.
This feature is behind the "p2p" GO_FLAGS
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* go mod tidy
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* ci: add p2p tag
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
* better message
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
---------
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
2024-05-20 17:17:59 +00:00
|
|
|
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
|
2023-06-24 06:18:17 +00:00
|
|
|
github.com/pierrec/lz4/v4 v4.1.2 // indirect
|
2025-07-22 14:31:04 +00:00
|
|
|
github.com/pkg/errors v0.9.1
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/pkoukk/tiktoken-go v0.1.7 // indirect
|
2025-10-20 20:52:50 +00:00
|
|
|
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/polydawn/refmt v0.89.0 // indirect
|
2024-08-23 22:27:14 +00:00
|
|
|
github.com/power-devops/perfstat v0.0.0-20240221224432-82ca36839d55 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/prometheus/client_model v0.6.2 // indirect
|
2026-02-03 07:36:34 +00:00
|
|
|
github.com/prometheus/common v0.67.5 // indirect
|
2025-12-08 23:43:13 +00:00
|
|
|
github.com/prometheus/procfs v0.19.2 // indirect
|
2025-01-09 08:33:22 +00:00
|
|
|
github.com/quic-go/qpack v0.5.1 // indirect
|
2025-10-12 11:29:39 +00:00
|
|
|
github.com/quic-go/quic-go v0.54.1 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
github.com/quic-go/webtransport-go v0.9.0 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/rivo/uniseg v0.4.7 // indirect
|
2024-05-13 09:37:52 +00:00
|
|
|
github.com/shoenig/go-m1cpu v0.1.6 // indirect
|
2024-11-20 13:18:52 +00:00
|
|
|
github.com/shopspring/decimal v1.4.0 // indirect
|
2024-06-22 06:17:41 +00:00
|
|
|
github.com/sirupsen/logrus v1.9.3 // indirect
|
2025-05-02 15:40:26 +00:00
|
|
|
github.com/smallnest/ringbuffer v0.0.0-20241116012123-461381446e3d // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/songgao/packets v0.0.0-20160404182456-549a10cd4091 // indirect
|
|
|
|
|
github.com/spaolacci/murmur3 v1.1.0 // indirect
|
2024-11-20 13:18:52 +00:00
|
|
|
github.com/spf13/cast v1.7.0 // indirect
|
2025-10-20 20:52:50 +00:00
|
|
|
github.com/tklauser/go-sysconf v0.3.15 // indirect
|
|
|
|
|
github.com/tklauser/numcpus v0.10.0 // indirect
|
2025-08-29 06:12:12 +00:00
|
|
|
github.com/ulikunitz/xz v0.5.14 // indirect
|
2024-05-13 09:37:52 +00:00
|
|
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
2025-12-01 22:55:30 +00:00
|
|
|
github.com/vbatts/tar-split v0.12.2 // indirect
|
2024-08-27 11:03:16 +00:00
|
|
|
github.com/vishvananda/netlink v1.3.0 // indirect
|
2025-02-17 15:51:22 +00:00
|
|
|
github.com/vishvananda/netns v0.0.5 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
|
2023-06-24 06:18:17 +00:00
|
|
|
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect
|
2026-03-06 23:03:08 +00:00
|
|
|
github.com/yuin/goldmark v1.7.13 // indirect
|
2025-09-02 18:32:41 +00:00
|
|
|
github.com/yuin/goldmark-emoji v1.0.5 // indirect
|
2024-07-12 19:54:08 +00:00
|
|
|
github.com/yusufpapurcu/wmi v1.2.4 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
go.opencensus.io v0.24.0 // indirect
|
2026-03-09 21:23:15 +00:00
|
|
|
go.opentelemetry.io/otel/sdk v1.42.0 // indirect
|
|
|
|
|
go.opentelemetry.io/otel/trace v1.42.0 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
go.uber.org/dig v1.19.0 // indirect
|
|
|
|
|
go.uber.org/fx v1.24.0 // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
go.uber.org/multierr v1.11.0 // indirect
|
|
|
|
|
go.uber.org/zap v1.27.0 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
golang.org/x/crypto v0.48.0 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
golang.org/x/exp v0.0.0-20250606033433-dcc06ee1d476 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
golang.org/x/mod v0.33.0 // indirect
|
2025-12-16 07:15:41 +00:00
|
|
|
golang.org/x/sync v0.19.0 // indirect
|
2026-03-02 20:44:40 +00:00
|
|
|
golang.org/x/sys v0.41.0 // indirect
|
|
|
|
|
golang.org/x/term v0.40.0 // indirect
|
|
|
|
|
golang.org/x/text v0.34.0 // indirect
|
|
|
|
|
golang.org/x/tools v0.42.0 // indirect
|
2025-02-17 15:51:22 +00:00
|
|
|
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
golang.zx2c4.com/wireguard v0.0.0-20250521234502-f333402bd9cb // indirect
|
2024-06-23 08:24:36 +00:00
|
|
|
golang.zx2c4.com/wireguard/windows v0.5.3 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
gonum.org/v1/gonum v0.16.0 // indirect
|
2026-02-16 20:20:30 +00:00
|
|
|
google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect
|
2023-07-14 23:19:43 +00:00
|
|
|
gopkg.in/fsnotify.v1 v1.4.7 // indirect
|
|
|
|
|
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
|
2025-09-02 11:04:35 +00:00
|
|
|
howett.net/plist v1.0.2-0.20250314012144-ee69052608d9 // indirect
|
2025-08-08 14:23:18 +00:00
|
|
|
lukechampine.com/blake3 v1.4.1 // indirect
|
2023-06-24 06:18:17 +00:00
|
|
|
)
|