Skip to content

Commit

Permalink
Adding Answer request AND adding best_of option to Completion. (sasha…
Browse files Browse the repository at this point in the history
…baranov#5)

* adding best of option

* adding answers option

* fixing small mistake
  • Loading branch information
Sveinn Óttar Lárusson committed Jun 6, 2021
1 parent c12d250 commit 2be4a26
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
49 changes: 49 additions & 0 deletions answers.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
package gogpt

import (
"bytes"
"context"
"encoding/json"
"net/http"
)

type AnswerRequest struct {
Documents [][]string `json:"documents"`
Question string `json:"question"`
SearchModel string `json:"search_model"`
Model string `json:"model"`
ExamplesContext string `json:"examples_context"`
Examples [][]string `json:"examples"`
MaxTokens int `json:"max_tokens"`
Stop []string `json:"stop"`
}

type AnswerResponse struct {
Answers []string `json:"answers"`
Completion string `json:"completion"`
Model string `json:"model"`
Object string `json:"object"`
SearchModel string `json:"search_model"`
SelectedDocuments []struct {
Document int `json:"document"`
Text string `json:"text"`
} `json:"selected_documents"`
}

// Search — perform a semantic search api call over a list of documents.
func (c *Client) Answers(ctx context.Context, request AnswerRequest) (response AnswerResponse, err error) {
var reqBytes []byte
reqBytes, err = json.Marshal(request)
if err != nil {
return
}

req, err := http.NewRequest("POST", c.fullURL("/answers"), bytes.NewBuffer(reqBytes))
if err != nil {
return
}

req = req.WithContext(ctx)
err = c.sendRequest(req, &response)
return
}
1 change: 1 addition & 0 deletions completion.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ type CompletionRequest struct {

PresencePenalty float32 `json:"presence_penalty,omitempty"`
FrequencyPenalty float32 `json:"frequency_penalty,omitempty"`
BestOf int `json:"best_of,omitempty"`
}

// Choice represents one of possible completions
Expand Down

0 comments on commit 2be4a26

Please sign in to comment.