dto.go 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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. Tools []dto.ToolCall `json:"tools,omitempty"`
  13. ResponseFormat any `json:"response_format,omitempty"`
  14. FrequencyPenalty float64 `json:"frequency_penalty,omitempty"`
  15. PresencePenalty float64 `json:"presence_penalty,omitempty"`
  16. }
  17. type Options struct {
  18. Seed int `json:"seed,omitempty"`
  19. Temperature float64 `json:"temperature,omitempty"`
  20. TopK int `json:"top_k,omitempty"`
  21. TopP float64 `json:"top_p,omitempty"`
  22. FrequencyPenalty float64 `json:"frequency_penalty,omitempty"`
  23. PresencePenalty float64 `json:"presence_penalty,omitempty"`
  24. NumPredict int `json:"num_predict,omitempty"`
  25. NumCtx int `json:"num_ctx,omitempty"`
  26. }
  27. type OllamaEmbeddingRequest struct {
  28. Model string `json:"model,omitempty"`
  29. Input []string `json:"input"`
  30. Options *Options `json:"options,omitempty"`
  31. }
  32. type OllamaEmbeddingResponse struct {
  33. Error string `json:"error,omitempty"`
  34. Model string `json:"model"`
  35. Embedding [][]float64 `json:"embeddings,omitempty"`
  36. }