Add Scriptorium-backed LLM runtime
This commit is contained in:
@@ -1212,6 +1212,28 @@ func TestRunManifestIncludesRunTimingAndLLMProfiles(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunManifestIncludesProfilesReportedByLLMClient(t *testing.T) {
|
||||
output, err := New(newRunnerRegistries(t, nil)).Run(context.Background(), RunInput{
|
||||
Pipeline: resolvedPipeline(),
|
||||
LLMClient: manifestReportingLLMClient{profiles: []artifacts.LLMProfileManifest{
|
||||
{ID: "profile-b", Provider: "openai-compatible", Model: "model-b"},
|
||||
{ID: "profile-a", Provider: "openai-compatible", Model: "model-a"},
|
||||
{ID: "profile-b", Provider: "openai-compatible", Model: "model-b"},
|
||||
}},
|
||||
})
|
||||
if err != nil {
|
||||
t.Fatalf("Run() error = %v, want nil", err)
|
||||
}
|
||||
|
||||
want := []artifacts.LLMProfileManifest{
|
||||
{ID: "profile-a", Provider: "openai-compatible", Model: "model-a"},
|
||||
{ID: "profile-b", Provider: "openai-compatible", Model: "model-b"},
|
||||
}
|
||||
if !reflect.DeepEqual(output.Manifest.LLMProfiles, want) {
|
||||
t.Fatalf("LLMProfiles = %#v, want %#v", output.Manifest.LLMProfiles, want)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRunManifestGeneratesRunIDAndTimestamps(t *testing.T) {
|
||||
output, err := New(newRunnerRegistries(t, nil)).Run(context.Background(), RunInput{Pipeline: resolvedPipeline()})
|
||||
if err != nil {
|
||||
@@ -1693,6 +1715,15 @@ func (client fakeLLMClient) CompleteStructured(ctx context.Context, req contract
|
||||
return contracts.StructuredCompletionResponse{}, nil
|
||||
}
|
||||
|
||||
type manifestReportingLLMClient struct {
|
||||
fakeLLMClient
|
||||
profiles []artifacts.LLMProfileManifest
|
||||
}
|
||||
|
||||
func (client manifestReportingLLMClient) LLMProfileManifests() []artifacts.LLMProfileManifest {
|
||||
return append([]artifacts.LLMProfileManifest(nil), client.profiles...)
|
||||
}
|
||||
|
||||
func approveAll(candidates []artifacts.ArtifactCandidate) []contracts.ValidationDecision {
|
||||
decisions := make([]contracts.ValidationDecision, 0, len(candidates))
|
||||
for _, candidate := range candidates {
|
||||
|
||||
Reference in New Issue
Block a user