91 lines
2.2 KiB
Go
91 lines
2.2 KiB
Go
package ali
|
|
|
|
import (
|
|
"github.com/QuantumNous/new-api/relaykit/dto"
|
|
)
|
|
|
|
type AliMessage struct {
|
|
Content any `json:"content"`
|
|
Role string `json:"role"`
|
|
}
|
|
|
|
type AliInput struct {
|
|
Prompt string `json:"prompt,omitempty"`
|
|
//History []AliMessage `json:"history,omitempty"`
|
|
Messages []AliMessage `json:"messages"`
|
|
}
|
|
|
|
type AliParameters struct {
|
|
TopP float64 `json:"top_p,omitempty"`
|
|
TopK int `json:"top_k,omitempty"`
|
|
Seed uint64 `json:"seed,omitempty"`
|
|
EnableSearch bool `json:"enable_search,omitempty"`
|
|
IncrementalOutput bool `json:"incremental_output,omitempty"`
|
|
}
|
|
|
|
type AliChatRequest struct {
|
|
Model string `json:"model"`
|
|
Input AliInput `json:"input"`
|
|
Parameters AliParameters `json:"parameters"`
|
|
}
|
|
|
|
type AliEmbeddingRequest struct {
|
|
Model string `json:"model"`
|
|
Input struct {
|
|
Texts []string `json:"texts"`
|
|
} `json:"input"`
|
|
Parameters *struct {
|
|
TextType string `json:"text_type,omitempty"`
|
|
} `json:"parameters,omitempty"`
|
|
}
|
|
|
|
type AliEmbedding struct {
|
|
Embedding []float64 `json:"embedding"`
|
|
TextIndex int `json:"text_index"`
|
|
}
|
|
|
|
type AliEmbeddingResponse struct {
|
|
Output struct {
|
|
Embeddings []AliEmbedding `json:"embeddings"`
|
|
} `json:"output"`
|
|
Usage AliUsage `json:"usage"`
|
|
AliError
|
|
}
|
|
|
|
type AliError struct {
|
|
Code string `json:"code"`
|
|
Message string `json:"message"`
|
|
RequestId string `json:"request_id"`
|
|
}
|
|
|
|
type AliUsage struct {
|
|
InputTokens int `json:"input_tokens"`
|
|
OutputTokens int `json:"output_tokens"`
|
|
TotalTokens int `json:"total_tokens"`
|
|
}
|
|
|
|
type AliRerankParameters struct {
|
|
TopN *int `json:"top_n,omitempty"`
|
|
ReturnDocuments *bool `json:"return_documents,omitempty"`
|
|
}
|
|
|
|
type AliRerankInput struct {
|
|
Query string `json:"query"`
|
|
Documents []any `json:"documents"`
|
|
}
|
|
|
|
type AliRerankRequest struct {
|
|
Model string `json:"model"`
|
|
Input AliRerankInput `json:"input"`
|
|
Parameters AliRerankParameters `json:"parameters"`
|
|
}
|
|
|
|
type AliRerankResponse struct {
|
|
Output struct {
|
|
Results []dto.RerankResponseResult `json:"results"`
|
|
} `json:"output"`
|
|
Usage AliUsage `json:"usage"`
|
|
RequestId string `json:"request_id"`
|
|
AliError
|
|
}
|