1
0

dto.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package ollama
  2. import "one-api/dto"
  3. type OllamaRequest struct {
  4. Model string `json:"model,omitempty"`
  5. Messages []dto.Message `json:"messages,omitempty"`
  6. Stream bool `json:"stream,omitempty"`
  7. Temperature *float64 `json:"temperature,omitempty"`
  8. Seed float64 `json:"seed,omitempty"`
  9. Topp float64 `json:"top_p,omitempty"`
  10. TopK int `json:"top_k,omitempty"`
  11. Stop any `json:"stop,omitempty"`
  12. MaxTokens uint `json:"max_tokens,omitempty"`
  13. Tools []dto.ToolCallRequest `json:"tools,omitempty"`
  14. ResponseFormat any `json:"response_format,omitempty"`
  15. FrequencyPenalty float64 `json:"frequency_penalty,omitempty"`
  16. PresencePenalty float64 `json:"presence_penalty,omitempty"`
  17. Suffix any `json:"suffix,omitempty"`
  18. StreamOptions *dto.StreamOptions `json:"stream_options,omitempty"`
  19. Prompt any `json:"prompt,omitempty"`
  20. }
  21. type Options struct {
  22. Seed int `json:"seed,omitempty"`
  23. Temperature *float64 `json:"temperature,omitempty"`
  24. TopK int `json:"top_k,omitempty"`
  25. TopP float64 `json:"top_p,omitempty"`
  26. FrequencyPenalty float64 `json:"frequency_penalty,omitempty"`
  27. PresencePenalty float64 `json:"presence_penalty,omitempty"`
  28. NumPredict int `json:"num_predict,omitempty"`
  29. NumCtx int `json:"num_ctx,omitempty"`
  30. }
  31. type OllamaEmbeddingRequest struct {
  32. Model string `json:"model,omitempty"`
  33. Input []string `json:"input"`
  34. Options *Options `json:"options,omitempty"`
  35. }
  36. type OllamaEmbeddingResponse struct {
  37. Error string `json:"error,omitempty"`
  38. Model string `json:"model"`
  39. Embedding [][]float64 `json:"embeddings,omitempty"`
  40. }