| 12345678910111213141516171819202122232425262728293031323334353637 |
- package service
- import (
- "regexp"
- "strings"
- )
- const (
- OpenAIPreviousResponseIDKindEmpty = "empty"
- OpenAIPreviousResponseIDKindResponseID = "response_id"
- OpenAIPreviousResponseIDKindMessageID = "message_id"
- OpenAIPreviousResponseIDKindUnknown = "unknown"
- )
- var (
- openAIResponseIDPattern = regexp.MustCompile(`^resp_[A-Za-z0-9_-]{1,256}$`)
- openAIMessageIDPattern = regexp.MustCompile(`^(msg|message|item|chatcmpl)_[A-Za-z0-9_-]{1,256}$`)
- )
- // ClassifyOpenAIPreviousResponseIDKind classifies previous_response_id to improve diagnostics.
- func ClassifyOpenAIPreviousResponseIDKind(id string) string {
- trimmed := strings.TrimSpace(id)
- if trimmed == "" {
- return OpenAIPreviousResponseIDKindEmpty
- }
- if openAIResponseIDPattern.MatchString(trimmed) {
- return OpenAIPreviousResponseIDKindResponseID
- }
- if openAIMessageIDPattern.MatchString(strings.ToLower(trimmed)) {
- return OpenAIPreviousResponseIDKindMessageID
- }
- return OpenAIPreviousResponseIDKindUnknown
- }
- func IsOpenAIPreviousResponseIDLikelyMessageID(id string) bool {
- return ClassifyOpenAIPreviousResponseIDKind(id) == OpenAIPreviousResponseIDKindMessageID
- }
|