mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-24 06:46:39 +00:00
docs(swagger): cover p2p endpoints (#2862)
Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
This commit is contained in:
parent
121bce581c
commit
6564e7ea01
2
Makefile
2
Makefile
@ -384,7 +384,7 @@ endif
|
|||||||
CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o $(BINARY_NAME) ./
|
CGO_LDFLAGS="$(CGO_LDFLAGS)" $(GOCMD) build -ldflags "$(LD_FLAGS)" -tags "$(GO_TAGS)" -o $(BINARY_NAME) ./
|
||||||
|
|
||||||
build-minimal:
|
build-minimal:
|
||||||
BUILD_GRPC_FOR_BACKEND_LLAMA=true GRPC_BACKENDS="backend-assets/grpc/llama-cpp-avx2" GO_TAGS=none $(MAKE) build
|
BUILD_GRPC_FOR_BACKEND_LLAMA=true GRPC_BACKENDS="backend-assets/grpc/llama-cpp-avx2" GO_TAGS=p2p $(MAKE) build
|
||||||
|
|
||||||
build-api:
|
build-api:
|
||||||
BUILD_GRPC_FOR_BACKEND_LLAMA=true BUILD_API_ONLY=true GO_TAGS=none $(MAKE) build
|
BUILD_GRPC_FOR_BACKEND_LLAMA=true BUILD_API_ONLY=true GO_TAGS=none $(MAKE) build
|
||||||
|
28
core/http/endpoints/localai/p2p.go
Normal file
28
core/http/endpoints/localai/p2p.go
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
package localai
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/gofiber/fiber/v2"
|
||||||
|
"github.com/mudler/LocalAI/core/config"
|
||||||
|
"github.com/mudler/LocalAI/core/p2p"
|
||||||
|
"github.com/mudler/LocalAI/core/schema"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ShowP2PNodes returns the P2P Nodes
|
||||||
|
// @Summary Returns available P2P nodes
|
||||||
|
// @Success 200 {object} []schema.P2PNodesResponse "Response"
|
||||||
|
// @Router /api/p2p [get]
|
||||||
|
func ShowP2PNodes(c *fiber.Ctx) error {
|
||||||
|
// Render index
|
||||||
|
return c.JSON(schema.P2PNodesResponse{
|
||||||
|
Nodes: p2p.GetAvailableNodes(""),
|
||||||
|
FederatedNodes: p2p.GetAvailableNodes(p2p.FederatedID),
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// ShowP2PToken returns the P2P token
|
||||||
|
// @Summary Show the P2P token
|
||||||
|
// @Success 200 {string} string "Response"
|
||||||
|
// @Router /api/p2p/token [get]
|
||||||
|
func ShowP2PToken(appConfig *config.ApplicationConfig) func(*fiber.Ctx) error {
|
||||||
|
return func(c *fiber.Ctx) error { return c.Send([]byte(appConfig.P2PToken)) }
|
||||||
|
}
|
@ -59,16 +59,8 @@ func RegisterLocalAIRoutes(app *fiber.App,
|
|||||||
|
|
||||||
// p2p
|
// p2p
|
||||||
if p2p.IsP2PEnabled() {
|
if p2p.IsP2PEnabled() {
|
||||||
app.Get("/api/p2p", auth, func(c *fiber.Ctx) error {
|
app.Get("/api/p2p", auth, localai.ShowP2PNodes)
|
||||||
// Render index
|
app.Get("/api/p2p/token", auth, localai.ShowP2PToken(appConfig))
|
||||||
return c.JSON(map[string]interface{}{
|
|
||||||
"Nodes": p2p.GetAvailableNodes(""),
|
|
||||||
"FederatedNodes": p2p.GetAvailableNodes(p2p.FederatedID),
|
|
||||||
})
|
|
||||||
})
|
|
||||||
app.Get("/api/p2p/token", auth, func(c *fiber.Ctx) error {
|
|
||||||
return c.Send([]byte(appConfig.P2PToken))
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
app.Get("/version", auth, func(c *fiber.Ctx) error {
|
app.Get("/version", auth, func(c *fiber.Ctx) error {
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
package schema
|
package schema
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"github.com/mudler/LocalAI/core/p2p"
|
||||||
gopsutil "github.com/shirou/gopsutil/v3/process"
|
gopsutil "github.com/shirou/gopsutil/v3/process"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -64,3 +65,8 @@ type StoresFindResponse struct {
|
|||||||
Values []string `json:"values" yaml:"values"`
|
Values []string `json:"values" yaml:"values"`
|
||||||
Similarities []float32 `json:"similarities" yaml:"similarities"`
|
Similarities []float32 `json:"similarities" yaml:"similarities"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type P2PNodesResponse struct {
|
||||||
|
Nodes []p2p.NodeData `json:"nodes" yaml:"nodes"`
|
||||||
|
FederatedNodes []p2p.NodeData `json:"federated_nodes" yaml:"federated_nodes"`
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user