83 lines
3.4 KiB
Markdown
83 lines
3.4 KiB
Markdown
# Promptkit
|
|
|
|
Promptkit is a reusable Go library for preparing and executing prompt-defined
|
|
LLM workflows. Its module path is:
|
|
|
|
```text
|
|
gitea.maximumdirect.net/eric/promptkit
|
|
```
|
|
|
|
The root `promptkit` package provides the supported public engine. Consumers
|
|
can configure filesystem or in-memory prompt, profile, and schema sources,
|
|
prepare requests without generation, run requests with the built-in
|
|
OpenAI-compatible client, or inject their own model client and artifact reader.
|
|
|
|
## Quickstart
|
|
|
|
Run the maintained offline preparation example from the repository root:
|
|
|
|
```sh
|
|
go run ./examples/go-library/prepare
|
|
```
|
|
|
|
It loads a repository-local prompt, supplies an in-memory profile and inline
|
|
input, and prints deterministic preparation metadata without contacting a
|
|
provider or requiring credentials. Read the
|
|
[example source](examples/go-library/prepare/main.go), the
|
|
[Go package consumer guide](docs/consumers/pkg-promptkit.md), and the
|
|
[framework format reference](docs/formats.md) to build a consumer workflow.
|
|
|
|
Contributors should start with the [development guide](docs/development.md).
|
|
The [architecture policy](docs/policy/architecture.md) defines the library
|
|
boundary and constraints that framework work must preserve.
|
|
|
|
## Release Guidance
|
|
|
|
Consumers upgrading to the `v0.10.0` profile-policy transition
|
|
should read the [v0.10.0 transition guide](docs/releases/v0.10.0.md).
|
|
|
|
Consumers upgrading from `v0.8.0` to `v0.9.0` should read the
|
|
[v0.9.0 changelog and migration guide](docs/releases/v0.9.0.md).
|
|
|
|
Consumers upgrading from `v0.7.0` to `v0.8.0` can consult the
|
|
[v0.8.0 changelog and migration guide](docs/releases/v0.8.0.md).
|
|
|
|
Earlier adopters can consult the
|
|
[v0.7.0 changelog and migration guide](docs/releases/v0.7.0.md).
|
|
|
|
Consumers upgrading from `v0.5.0` to `v0.6.0` can consult the
|
|
[v0.6.0 changelog and migration guide](docs/releases/v0.6.0.md).
|
|
|
|
Consumers upgrading from `v0.4.0` to `v0.5.0` can consult the
|
|
[v0.5.0 changelog and migration guide](docs/releases/v0.5.0.md).
|
|
|
|
Consumers upgrading from `v0.3.0` to `v0.4.0` should read the
|
|
[v0.4.0 changelog and adoption guide](docs/releases/v0.4.0.md).
|
|
|
|
Consumers upgrading from `v0.2.0` to `v0.3.0` should read the
|
|
[v0.3.0 changelog](docs/releases/v0.3.0.md).
|
|
|
|
Consumers moving from `v0.1.0` to `v0.2.0` should read the
|
|
[v0.2.0 changelog and migration guide](docs/releases/v0.2.0.md).
|
|
|
|
## Related Project
|
|
|
|
[Scriptorium](https://gitea.maximumdirect.net/eric/scriptorium) is the CLI and
|
|
HTTP application built on Promptkit.
|
|
|
|
## License
|
|
|
|
Promptkit is licensed under the [GNU Lesser General Public License version 3
|
|
or later](LICENSE) (`LGPL-3.0-or-later`). The accompanying [GPLv3 text](COPYING)
|
|
is incorporated by LGPLv3. This maintainer-authorized change applies from this
|
|
revision forward; existing release tags and their license notices are unchanged.
|
|
Dependencies, including the backend catalogs, retain their own licenses.
|
|
|
|
Applications may use their own licenses subject to the LGPL's combined-work
|
|
conditions. Distributors of statically linked Go binaries must account for the
|
|
applicable notices, license copies, library source, and materials and permissions
|
|
needed to recombine or relink with a modified library; installation information
|
|
may also be required. Providing library source alone is not necessarily enough.
|
|
See section 4 of the [LGPL text](LICENSE) for the governing requirements, rather
|
|
than treating this summary as a complete distribution checklist.
|