gemini stream
This commit is contained in:
@@ -1,69 +0,0 @@
|
||||
package dto
|
||||
|
||||
import "encoding/json"
|
||||
|
||||
type GeminiPart struct {
|
||||
Text string `json:"text"`
|
||||
}
|
||||
|
||||
type GeminiContent struct {
|
||||
Parts []GeminiPart `json:"parts"`
|
||||
Role string `json:"role"`
|
||||
}
|
||||
|
||||
type GeminiCandidate struct {
|
||||
Content GeminiContent `json:"content"`
|
||||
FinishReason string `json:"finishReason"`
|
||||
AvgLogprobs float64 `json:"avgLogprobs"`
|
||||
}
|
||||
|
||||
type GeminiTokenDetails struct {
|
||||
Modality string `json:"modality"`
|
||||
TokenCount int `json:"tokenCount"`
|
||||
}
|
||||
|
||||
type GeminiUsageMetadata struct {
|
||||
PromptTokenCount int `json:"promptTokenCount"`
|
||||
CandidatesTokenCount int `json:"candidatesTokenCount"`
|
||||
TotalTokenCount int `json:"totalTokenCount"`
|
||||
PromptTokensDetails []GeminiTokenDetails `json:"promptTokensDetails"`
|
||||
CandidatesTokensDetails []GeminiTokenDetails `json:"candidatesTokensDetails"`
|
||||
}
|
||||
|
||||
type GeminiTextGenerationResponse struct {
|
||||
Candidates []GeminiCandidate `json:"candidates"`
|
||||
UsageMetadata GeminiUsageMetadata `json:"usageMetadata"`
|
||||
ModelVersion string `json:"modelVersion"`
|
||||
ResponseID string `json:"responseId"`
|
||||
}
|
||||
|
||||
type GeminiGenerationConfig struct {
|
||||
StopSequences []string `json:"stopSequences,omitempty"`
|
||||
ResponseMimeType string `json:"responseMimeType,omitempty"`
|
||||
ResponseSchema *json.RawMessage `json:"responseSchema,omitempty"`
|
||||
ResponseModalities *json.RawMessage `json:"responseModalities,omitempty"`
|
||||
CandidateCount int `json:"candidateCount,omitempty"`
|
||||
MaxOutputTokens int `json:"maxOutputTokens,omitempty"`
|
||||
Temperature float64 `json:"temperature,omitempty"`
|
||||
TopP float64 `json:"topP,omitempty"`
|
||||
TopK int `json:"topK,omitempty"`
|
||||
Seed int `json:"seed,omitempty"`
|
||||
PresencePenalty float64 `json:"presencePenalty,omitempty"`
|
||||
FrequencyPenalty float64 `json:"frequencyPenalty,omitempty"`
|
||||
ResponseLogprobs bool `json:"responseLogprobs,omitempty"`
|
||||
LogProbs int `json:"logProbs,omitempty"`
|
||||
EnableEnhancedCivicAnswers bool `json:"enableEnhancedCivicAnswers,omitempty"`
|
||||
SpeechConfig *json.RawMessage `json:"speechConfig,omitempty"`
|
||||
ThinkingConfig *json.RawMessage `json:"thinkingConfig,omitempty"`
|
||||
MediaResolution *json.RawMessage `json:"mediaResolution,omitempty"`
|
||||
}
|
||||
|
||||
type GeminiTextGenerationRequest struct {
|
||||
Contents []GeminiContent `json:"contents"`
|
||||
Tools *json.RawMessage `json:"tools,omitempty"`
|
||||
ToolConfig *json.RawMessage `json:"toolConfig,omitempty"`
|
||||
SafetySettings *json.RawMessage `json:"safetySettings,omitempty"`
|
||||
SystemInstruction *json.RawMessage `json:"systemInstruction,omitempty"`
|
||||
GenerationConfig GeminiGenerationConfig `json:"generationConfig,omitempty"`
|
||||
CachedContent *json.RawMessage `json:"cachedContent,omitempty"`
|
||||
}
|
||||
Reference in New Issue
Block a user