Skip to content

Commit 948404a

Browse files
committed
enhance: get more information about models
Signed-off-by: Grant Linville <[email protected]>
1 parent 79a6682 commit 948404a

File tree

3 files changed

+37
-6
lines changed

3 files changed

+37
-6
lines changed

gptscript.go

+6-2
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ type ListModelsOptions struct {
294294
}
295295

296296
// ListModels will list all the available models.
297-
func (g *GPTScript) ListModels(ctx context.Context, opts ...ListModelsOptions) ([]string, error) {
297+
func (g *GPTScript) ListModels(ctx context.Context, opts ...ListModelsOptions) ([]Model, error) {
298298
var o ListModelsOptions
299299
for _, opt := range opts {
300300
o.Providers = append(o.Providers, opt.Providers...)
@@ -314,7 +314,11 @@ func (g *GPTScript) ListModels(ctx context.Context, opts ...ListModelsOptions) (
314314
return nil, err
315315
}
316316

317-
return strings.Split(strings.TrimSpace(out), "\n"), nil
317+
var models []Model
318+
if err = json.Unmarshal([]byte(out), &models); err != nil {
319+
return nil, err
320+
}
321+
return models, nil
318322
}
319323

320324
func (g *GPTScript) Confirm(ctx context.Context, resp AuthResponse) error {

gptscript_test.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ func TestListModelsWithProvider(t *testing.T) {
9898
}
9999

100100
for _, model := range models {
101-
if !strings.HasPrefix(model, "claude-3-") || !strings.HasSuffix(model, "from github.com/gptscript-ai/claude3-anthropic-provider") {
102-
t.Errorf("Unexpected model name: %s", model)
101+
if !strings.HasPrefix(model.ID, "claude-3-") || !strings.HasSuffix(model.ID, "from github.com/gptscript-ai/claude3-anthropic-provider") {
102+
t.Errorf("Unexpected model name: %s", model.ID)
103103
}
104104
}
105105
}
@@ -128,8 +128,8 @@ func TestListModelsWithDefaultProvider(t *testing.T) {
128128
}
129129

130130
for _, model := range models {
131-
if !strings.HasPrefix(model, "claude-3-") || !strings.HasSuffix(model, "from github.com/gptscript-ai/claude3-anthropic-provider") {
132-
t.Errorf("Unexpected model name: %s", model)
131+
if !strings.HasPrefix(model.ID, "claude-3-") || !strings.HasSuffix(model.ID, "from github.com/gptscript-ai/claude3-anthropic-provider") {
132+
t.Errorf("Unexpected model name: %s", model.ID)
133133
}
134134
}
135135
}

openai.go

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package gptscript
2+
3+
type Permission struct {
4+
CreatedAt int64 `json:"created"`
5+
ID string `json:"id"`
6+
Object string `json:"object"`
7+
AllowCreateEngine bool `json:"allow_create_engine"`
8+
AllowSampling bool `json:"allow_sampling"`
9+
AllowLogprobs bool `json:"allow_logprobs"`
10+
AllowSearchIndices bool `json:"allow_search_indices"`
11+
AllowView bool `json:"allow_view"`
12+
AllowFineTuning bool `json:"allow_fine_tuning"`
13+
Organization string `json:"organization"`
14+
Group interface{} `json:"group"`
15+
IsBlocking bool `json:"is_blocking"`
16+
}
17+
18+
type Model struct {
19+
CreatedAt int64 `json:"created"`
20+
ID string `json:"id"`
21+
Object string `json:"object"`
22+
OwnedBy string `json:"owned_by"`
23+
Permission []Permission `json:"permission"`
24+
Root string `json:"root"`
25+
Parent string `json:"parent"`
26+
Metadata map[string]string `json:"metadata"`
27+
}

0 commit comments

Comments
 (0)