model.go 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package ali
  2. import model "github.com/labring/aiproxy/core/relay/model"
  3. type ImageRequest struct {
  4. Input struct {
  5. Prompt string `json:"prompt"`
  6. NegativePrompt string `json:"negative_prompt,omitempty"`
  7. } `json:"input"`
  8. Model string `json:"model"`
  9. ResponseFormat string `json:"response_format,omitempty"`
  10. Parameters struct {
  11. Size string `json:"size,omitempty"`
  12. Steps string `json:"steps,omitempty"`
  13. Scale string `json:"scale,omitempty"`
  14. N int `json:"n,omitempty"`
  15. } `json:"parameters,omitempty"`
  16. }
  17. type TaskResponse struct {
  18. RequestID string `json:"request_id,omitempty"`
  19. Code string `json:"code,omitempty"`
  20. Message string `json:"message,omitempty"`
  21. Output struct {
  22. TaskID string `json:"task_id,omitempty"`
  23. TaskStatus string `json:"task_status,omitempty"`
  24. Code string `json:"code,omitempty"`
  25. Message string `json:"message,omitempty"`
  26. Results []struct {
  27. B64Image string `json:"b64_image,omitempty"`
  28. URL string `json:"url,omitempty"`
  29. Code string `json:"code,omitempty"`
  30. Message string `json:"message,omitempty"`
  31. } `json:"results,omitempty"`
  32. TaskMetrics struct {
  33. Total int `json:"TOTAL,omitempty"`
  34. Succeeded int `json:"SUCCEEDED,omitempty"`
  35. Failed int `json:"FAILED,omitempty"`
  36. } `json:"task_metrics,omitempty"`
  37. } `json:"output,omitempty"`
  38. Usage model.ChatUsage `json:"usage"`
  39. StatusCode int `json:"status_code,omitempty"`
  40. }
  41. type EmbeddingRequest struct {
  42. Parameters *struct {
  43. TextType string `json:"text_type,omitempty"`
  44. } `json:"parameters,omitempty"`
  45. Model string `json:"model"`
  46. Input struct {
  47. Texts []string `json:"texts"`
  48. } `json:"input"`
  49. }
  50. type Embedding struct {
  51. Embedding []float64 `json:"embedding"`
  52. TextIndex int `json:"text_index"`
  53. }
  54. type EmbeddingResponse struct {
  55. Error
  56. Output struct {
  57. Embeddings []Embedding `json:"embeddings"`
  58. } `json:"output"`
  59. Usage model.EmbeddingUsage `json:"usage"`
  60. }
  61. type Error struct {
  62. Code string `json:"code"`
  63. Message string `json:"message"`
  64. RequestID string `json:"request_id"`
  65. }