Root package now contains only: - mlx.go: package doc + go:generate directives - textmodel.go: TextModel, Token, Message interfaces - options.go: GenerateOption, LoadOption functional options - backend.go: Backend interface, Register/Get/Default/LoadModel - register_metal.go: build-tagged init() + adapter + memory delegates - mlx_stub.go: non-darwin fallback internal/metal/ has its own Token, GenerateConfig, Model types. register_metal.go adapts between the two via metalAdapter. Co-Authored-By: Virgil <virgil@lethean.io>
20 lines
555 B
Go
20 lines
555 B
Go
// Package mlx provides Go bindings for Apple's MLX framework.
|
|
//
|
|
// Build mlx-c before use:
|
|
//
|
|
// go generate ./...
|
|
//
|
|
// Load a model and generate text:
|
|
//
|
|
// m, err := mlx.LoadModel("/path/to/model/")
|
|
// if err != nil { log.Fatal(err) }
|
|
// defer m.Close()
|
|
//
|
|
// for tok := range m.Generate(ctx, "What is 2+2?", mlx.WithMaxTokens(128)) {
|
|
// fmt.Print(tok.Text)
|
|
// }
|
|
package mlx
|
|
|
|
//go:generate cmake -S . -B build -DCMAKE_INSTALL_PREFIX=dist -DCMAKE_BUILD_TYPE=Release
|
|
//go:generate cmake --build build --parallel
|
|
//go:generate cmake --install build
|