diff --git a/completion.go b/completion.go index 9640e42..43f9111 100644 --- a/completion.go +++ b/completion.go @@ -27,8 +27,8 @@ type CompletionRequest struct { User string `json:"user,omitempty"` } -// Choice represents one of possible completions -type Choice struct { +// CompletionChoice represents one of possible completions +type CompletionChoice struct { Text string `json:"text"` Index int `json:"index"` FinishReason string `json:"finish_reason"` @@ -52,12 +52,12 @@ type CompletionUsage struct { // CompletionResponse represents a response structure for completion API type CompletionResponse struct { - ID string `json:"id"` - Object string `json:"object"` - Created uint64 `json:"created"` - Model string `json:"model"` - Choices []Choice `json:"choices"` - Usage CompletionUsage `json:"usage"` + ID string `json:"id"` + Object string `json:"object"` + Created uint64 `json:"created"` + Model string `json:"model"` + Choices []CompletionChoice `json:"choices"` + Usage CompletionUsage `json:"usage"` } // CreateCompletion — API call to create a completion. This is the main endpoint of the API. Returns new text as well as, if requested, the probabilities over each alternative token at each position. diff --git a/edits.go b/edits.go index c931692..9269545 100644 --- a/edits.go +++ b/edits.go @@ -24,18 +24,18 @@ type EditsUsage struct { TotalTokens int `json:"total_tokens"` } -// Choice represents one of possible edits -type Choice struct { +// EditsChoice represents one of possible edits +type EditsChoice struct { Text string `json:"text"` Index int `json:"index"` } // EditsResponse represents a response structure for Edits API type EditsResponse struct { - Object string `json:"object"` - Created uint64 `json:"created"` - Usage EditsUsage `json:"usage"` - Choices []Choice `json:"choices"` + Object string `json:"object"` + Created uint64 `json:"created"` + Usage EditsUsage `json:"usage"` + Choices []EditsChoice `json:"choices"` } // Perform an API call to the Edits endpoint. diff --git a/search.go b/search.go index 3eccc17..f44191e 100644 --- a/search.go +++ b/search.go @@ -8,21 +8,34 @@ import ( "net/http" ) -// SearchRequest represents a request structure for search API +/* +- SearchRequest represents a request structure for search API. + +- Info (*): +- 1*) You should specify either 'documents' or a 'file', but not both. +- 2*) This flag only takes effect when file is set. +*/ type SearchRequest struct { - Documents []string `json:"documents"` - Query string `json:"query"` + Query string `json:"query"` + Documents []string `json:"documents"` // 1* + FileID string `json:"file"` // 1* + MaxRerank int `json:"max_rerank"` // 2* + ReturnMetadata bool `json:"return_metadata"` + User string `json:"user"` } // SearchResult represents single result from search API type SearchResult struct { Document int `json:"document"` + Object string `json:"object"` Score float32 `json:"score"` + Metadata string `json:"metadata"` // 2* } // SearchResponse represents a response structure for search API type SearchResponse struct { SearchResults []SearchResult `json:"data"` + Object string `json:"object"` } // Search — perform a semantic search api call over a list of documents.