Skip to content

Commit d2054f3

Browse files
Merge pull request #75 from ibuildthecloud/main
Drop unneeded code as vision is being moved to a tool
2 parents bd9f9b9 + 7e00a8e commit d2054f3

File tree

9 files changed

+19
-228
lines changed

9 files changed

+19
-228
lines changed

Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
.DEFAULT_GOAL := build
2+
13
all: build-ui build
24

35
build-ui:

pkg/builtin/defaults.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,17 +6,12 @@ import (
66
)
77

88
var (
9-
DefaultModel = openai.DefaultModel
10-
DefaultVisionModel = openai.DefaultVisionModel
9+
DefaultModel = openai.DefaultModel
1110
)
1211

1312
func SetDefaults(tool types.Tool) types.Tool {
1413
if tool.Parameters.ModelName == "" {
15-
if tool.Parameters.Vision {
16-
tool.Parameters.ModelName = DefaultVisionModel
17-
} else {
18-
tool.Parameters.ModelName = DefaultModel
19-
}
14+
tool.Parameters.ModelName = DefaultModel
2015
}
2116
return tool
2217
}

pkg/engine/engine.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,6 @@ func (e *Engine) Start(ctx Context, input string) (*Return, error) {
173173

174174
completion := types.CompletionRequest{
175175
Model: tool.Parameters.ModelName,
176-
Vision: tool.Parameters.Vision,
177176
MaxToken: tool.Parameters.MaxTokens,
178177
JSONResponse: tool.Parameters.JSONResponse,
179178
Cache: tool.Parameters.Cache,

pkg/openai/client.go

Lines changed: 15 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,10 @@ import (
1616
"github.com/gptscript-ai/gptscript/pkg/cache"
1717
"github.com/gptscript-ai/gptscript/pkg/hash"
1818
"github.com/gptscript-ai/gptscript/pkg/types"
19-
"github.com/gptscript-ai/gptscript/pkg/vision"
2019
"github.com/sashabaranov/go-openai"
2120
)
2221

2322
const (
24-
DefaultVisionModel = openai.GPT4VisionPreview
2523
DefaultModel = openai.GPT4TurboPreview
2624
DefaultPromptParameter = "defaultPromptParameter"
2725
)
@@ -171,15 +169,8 @@ func toToolCall(call types.CompletionToolCall) openai.ToolCall {
171169
}
172170
}
173171

174-
func toMessages(cache *cache.Client, request types.CompletionRequest) (result []openai.ChatCompletionMessage, err error) {
172+
func toMessages(request types.CompletionRequest) (result []openai.ChatCompletionMessage, err error) {
175173
for _, message := range request.Messages {
176-
if request.Vision {
177-
message, err = vision.ToVisionMessage(cache, message)
178-
if err != nil {
179-
return nil, err
180-
}
181-
}
182-
183174
chatMessage := openai.ChatCompletionMessage{
184175
Role: string(message.Role),
185176
}
@@ -192,25 +183,6 @@ func toMessages(cache *cache.Client, request types.CompletionRequest) (result []
192183
if content.ToolCall != nil {
193184
chatMessage.ToolCalls = append(chatMessage.ToolCalls, toToolCall(*content.ToolCall))
194185
}
195-
if content.Image != nil {
196-
url, err := vision.ImageToURL(cache, request.Vision, *content.Image)
197-
if err != nil {
198-
return nil, err
199-
}
200-
if request.Vision {
201-
chatMessage.MultiContent = append(chatMessage.MultiContent, openai.ChatMessagePart{
202-
Type: openai.ChatMessagePartTypeImageURL,
203-
ImageURL: &openai.ChatMessageImageURL{
204-
URL: url,
205-
},
206-
})
207-
} else {
208-
chatMessage.MultiContent = append(chatMessage.MultiContent, openai.ChatMessagePart{
209-
Type: openai.ChatMessagePartTypeText,
210-
Text: fmt.Sprintf("Image URL %s", url),
211-
})
212-
}
213-
}
214186
if content.Text != "" {
215187
chatMessage.MultiContent = append(chatMessage.MultiContent, openai.ChatMessagePart{
216188
Type: openai.ChatMessagePartTypeText,
@@ -251,7 +223,7 @@ type Status struct {
251223
}
252224

253225
func (c *Client) Call(ctx context.Context, messageRequest types.CompletionRequest, status chan<- Status) (*types.CompletionMessage, error) {
254-
msgs, err := toMessages(c.cache, messageRequest)
226+
msgs, err := toMessages(messageRequest)
255227
if err != nil {
256228
return nil, err
257229
}
@@ -277,21 +249,19 @@ func (c *Client) Call(ctx context.Context, messageRequest types.CompletionReques
277249
}
278250
}
279251

280-
if !messageRequest.Vision {
281-
for _, tool := range messageRequest.Tools {
282-
params := tool.Function.Parameters
283-
if params != nil && params.Type == "object" && params.Properties == nil {
284-
params.Properties = map[string]types.Property{}
285-
}
286-
request.Tools = append(request.Tools, openai.Tool{
287-
Type: openai.ToolType(tool.Type),
288-
Function: openai.FunctionDefinition{
289-
Name: tool.Function.Name,
290-
Description: tool.Function.Description,
291-
Parameters: params,
292-
},
293-
})
252+
for _, tool := range messageRequest.Tools {
253+
params := tool.Function.Parameters
254+
if params != nil && params.Type == "object" && params.Properties == nil {
255+
params.Properties = map[string]types.Property{}
294256
}
257+
request.Tools = append(request.Tools, openai.Tool{
258+
Type: openai.ToolType(tool.Type),
259+
Function: openai.FunctionDefinition{
260+
Name: tool.Function.Name,
261+
Description: tool.Function.Description,
262+
Parameters: params,
263+
},
264+
})
295265
}
296266

297267
id := fmt.Sprint(atomic.AddInt64(&completionID, 1))
@@ -368,7 +338,7 @@ func appendMessage(msg types.CompletionMessage, response openai.ChatCompletionSt
368338
if delta.Content != "" {
369339
found := false
370340
for i, content := range msg.Content {
371-
if content.ToolCall != nil || content.Image != nil {
341+
if content.ToolCall != nil {
372342
continue
373343
}
374344
msg.Content[i] = types.ContentPart{

pkg/parser/parser.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -98,11 +98,6 @@ func isParam(line string, tool *types.Tool) (_ bool, err error) {
9898
if err := addArg(value, tool); err != nil {
9999
return false, err
100100
}
101-
case "vision":
102-
tool.Parameters.Vision, err = toBool(value)
103-
if err != nil {
104-
return false, err
105-
}
106101
case "maxtoken":
107102
fallthrough
108103
case "maxtokens":

pkg/types/completion.go

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ type CompletionToolType string
1313

1414
type CompletionRequest struct {
1515
Model string
16-
Vision bool
1716
Tools []CompletionTool
1817
Messages []CompletionMessage
1918
MaxToken int
@@ -77,40 +76,13 @@ func (in CompletionMessage) String() string {
7776
if content.ToolCall != nil {
7877
buf.WriteString(fmt.Sprintf("tool call %s -> %s", content.ToolCall.Function.Name, content.ToolCall.Function.Arguments))
7978
}
80-
if content.Image != nil {
81-
buf.WriteString("image: ")
82-
if content.Image.URL != "" {
83-
buf.WriteString(content.Image.URL)
84-
}
85-
if len(content.Image.Base64) > 50 {
86-
buf.WriteString(content.Image.Base64[:50] + "...")
87-
} else {
88-
buf.WriteString(content.Image.Base64)
89-
}
90-
}
9179
}
9280
return buf.String()
9381
}
9482

9583
type ContentPart struct {
9684
Text string `json:"text,omitempty"`
9785
ToolCall *CompletionToolCall `json:"toolCall,omitempty"`
98-
Image *ImageURL `json:"image,omitempty"`
99-
}
100-
101-
type ImageURLDetail string
102-
103-
const (
104-
ImageURLDetailHigh ImageURLDetail = "high"
105-
ImageURLDetailLow ImageURLDetail = "low"
106-
ImageURLDetailAuto ImageURLDetail = "auto"
107-
)
108-
109-
type ImageURL struct {
110-
Base64 string `json:"base64,omitempty"`
111-
ContentType string `json:"contentType,omitempty"`
112-
URL string `json:"url,omitempty"`
113-
Detail ImageURLDetail `json:"detail,omitempty"`
11486
}
11587

11688
type CompletionToolCall struct {

pkg/types/tool.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ type BuiltinFunc func(ctx context.Context, env []string, input string) (string,
2626
type Parameters struct {
2727
Name string `json:"name,omitempty"`
2828
Description string `json:"description,omitempty"`
29-
Vision bool `json:"vision,omitempty"`
3029
MaxTokens int `json:"maxTokens,omitempty"`
3130
ModelName string `json:"modelName,omitempty"`
3231
JSONResponse bool `json:"jsonResponse,omitempty"`
@@ -59,9 +58,6 @@ func (t Tool) String() string {
5958
if len(t.Parameters.Tools) != 0 {
6059
_, _ = fmt.Fprintf(buf, "Tools: %s\n", strings.Join(t.Parameters.Tools, ", "))
6160
}
62-
if t.Parameters.Vision {
63-
_, _ = fmt.Fprintln(buf, "Vision: true")
64-
}
6561
if t.Parameters.MaxTokens != 0 {
6662
_, _ = fmt.Fprintf(buf, "Max Tokens: %d\n", t.Parameters.MaxTokens)
6763
}

pkg/vision/image.go

Lines changed: 0 additions & 99 deletions
This file was deleted.

pkg/vision/schema.go

Lines changed: 0 additions & 39 deletions
This file was deleted.

0 commit comments

Comments
 (0)