go-openai icon indicating copy to clipboard operation
go-openai copied to clipboard

1 validation error for Request body

Open askie opened this issue 2 years ago • 1 comments

func main() {
	ctx := context.Background()
	authToken := "sk-1111111"
	clt := openai.NewClient(authToken)

	// thread
	AssisTantId := "asst_KVRxb298rDFIbAJS8PvpRZ97"

	thread, err := clt.CreateThread(ctx, openai.ThreadRequest{
		//Metadata: map[string]any{"a": AssisTantId},
		Messages: []openai.ThreadMessage{
			{
				Role:    openai.ThreadMessageRoleUser,
				Content: "hello",
			},
		},
	})

	if err != nil {
		fmt.Println(err)
	}

	fmt.Println("thread:", thread)

	run, err := clt.CreateRun(ctx, thread.ID, openai.RunRequest{
		AssistantID: AssisTantId,
		Metadata: map[string]any{
			"key": "value",
		},
	})
	if err != nil {
		fmt.Println("run error:", err) <<<<<<<<<<<<< error 
	}
	fmt.Println("run:", run)
}

run error :

1 validation error for Request
body -> Metadata
  extra fields not permitted (type=value_error.extra)

askie avatar Nov 11 '23 00:11 askie

Experiencing the same run error when using CreateThreadAndRun.

func (c *ChatGPT) CreateThreadAndRun() {
	userMsgs := []gogpt.ThreadMessage{}

	newUserMsg := gogpt.ThreadMessage{
		Role:    gogpt.ThreadMessageRoleUser,
		Content: c.Prompt,
	}

	userMsgs = append(userMsgs, newUserMsg)

	runReq := gogpt.RunRequest{
		AssistantID: c.Assistant.ID,
	}

	threadReq := gogpt.ThreadRequest{
		Messages: userMsgs,
	}

	req := gogpt.CreateThreadAndRunRequest{
		RunRequest: runReq,
		Thread:     threadReq,
	}

	resp, err := c.Client.CreateThreadAndRun(c.Context, req)
	if err != nil {
		fmt.Printf("CreateThreadAndRun error: %v\n", err)
		return
	}

	c.Run = resp
}

Error:

CreateThreadAndRun error: error, status code: 400, message: 1 validation error for Request
body -> Metadata
  extra fields not permitted (type=value_error.extra)

jacewalker avatar Nov 11 '23 06:11 jacewalker