relay-claude.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package controller
  2. type ClaudeMetadata struct {
  3. UserId string `json:"user_id"`
  4. }
  5. type ClaudeRequest struct {
  6. Model string `json:"model"`
  7. Prompt string `json:"prompt"`
  8. MaxTokensToSample int `json:"max_tokens_to_sample"`
  9. StopSequences []string `json:"stop_sequences,omitempty"`
  10. Temperature float64 `json:"temperature,omitempty"`
  11. TopP float64 `json:"top_p,omitempty"`
  12. TopK int `json:"top_k,omitempty"`
  13. //ClaudeMetadata `json:"metadata,omitempty"`
  14. Stream bool `json:"stream,omitempty"`
  15. }
  16. type ClaudeError struct {
  17. Type string `json:"type"`
  18. Message string `json:"message"`
  19. }
  20. type ClaudeResponse struct {
  21. Completion string `json:"completion"`
  22. StopReason string `json:"stop_reason"`
  23. Model string `json:"model"`
  24. Error ClaudeError `json:"error"`
  25. }
  26. func stopReasonClaude2OpenAI(reason string) string {
  27. switch reason {
  28. case "stop_sequence":
  29. return "stop"
  30. case "max_tokens":
  31. return "length"
  32. default:
  33. return reason
  34. }
  35. }