Files
warmbly/internal/pkg/generation/generation.go
T
2026-02-10 19:30:47 +01:00

27 lines
500 B
Go

package generation
import (
"github.com/invopop/jsonschema"
"github.com/openai/openai-go/v2"
"github.com/openai/openai-go/v2/option"
)
func GenerateSchema[T any]() *jsonschema.Schema {
reflector := jsonschema.Reflector{
AllowAdditionalProperties: false,
}
var v T
return reflector.Reflect(v)
}
type GenerationClient struct {
client openai.Client
}
func NewClient(apiKey string) *GenerationClient {
return &GenerationClient{
client: openai.NewClient(option.WithAPIKey(apiKey)),
}
}