Documentation
¶
Index ¶
- Variables
- func AvailableModel(c *gin.Context)
- func ChatRealtime(c *gin.Context)
- func CountGeminiTokenMessages(request *gemini.GeminiChatRequest, preCostType int) (int, error)
- func CountTokenMessages(request *claude.ClaudeRequest, preCostType int) (int, error)
- func FilterOpenAIErr(c *gin.Context, err *types.OpenAIErrorWithStatusCode) (errWithStatusCode types.OpenAIErrorWithStatusCode)
- func GetAvailableModels(groupName string) map[string]*AvailableModelResponse
- func GetModelOwnedBy(c *gin.Context)
- func GetProvider(c *gin.Context, modelName string) (provider providersBase.ProviderInterface, newModelName string, fail error)
- func ListClaudeModelsByToken(c *gin.Context)
- func ListGeminiModelsByToken(c *gin.Context)
- func ListModelsByToken(c *gin.Context)
- func ListModelsForAdmin(c *gin.Context)
- func NewRelayChat(c *gin.Context) *relayChat
- func NewRelayClaudeOnly(c *gin.Context) *relayClaudeOnly
- func NewRelayCompletions(c *gin.Context) *relayCompletions
- func NewRelayEmbeddings(c *gin.Context) *relayEmbeddings
- func NewRelayGeminiOnly(c *gin.Context) *relayGeminiOnly
- func NewRelayImageEdits(c *gin.Context) *relayImageEdits
- func NewRelayImageGenerations(c *gin.Context) *relayImageGenerations
- func NewRelayImageVariations(c *gin.Context) *relayImageVariations
- func NewRelayModerations(c *gin.Context) *relayModerations
- func NewRelayRerank(c *gin.Context) *relayRerank
- func NewRelayResponses(c *gin.Context) *relayResponses
- func NewRelaySpeech(c *gin.Context) *relaySpeech
- func NewRelayTranscriptions(c *gin.Context) *relayTranscriptions
- func NewRelayTranslations(c *gin.Context) *relayTranslations
- func Path2RecraftAIModel(path string) string
- func Relay(c *gin.Context)
- func RelayHandler(relay RelayBaseInterface) (err *types.OpenAIErrorWithStatusCode, done bool)
- func RelayOnly(c *gin.Context)
- func RelayRecraftAI(c *gin.Context)
- func RelayRerank(c *gin.Context)
- func RetrieveModel(c *gin.Context)
- type AvailableModelResponse
- type GroupManager
- type ModelPrice
- type OpenAIModels
- type RelayBaseInterface
- type RelayModeChatRealtime
- func (r *RelayModeChatRealtime) GetError(err *types.OpenAIErrorWithStatusCode) (int, any)
- func (r *RelayModeChatRealtime) GetFirstResponseTime() time.Time
- func (r *RelayModeChatRealtime) HandleJsonError(err *types.OpenAIErrorWithStatusCode)
- func (r *RelayModeChatRealtime) HandleStreamError(err *types.OpenAIErrorWithStatusCode)
- func (r *RelayModeChatRealtime) IsStream() bool
- func (r *RelayModeChatRealtime) SetFirstResponseTime(firstResponseTime time.Time)
- func (r *RelayModeChatRealtime) SetHeartbeat(isStream bool) *relay_util.Heartbeat
- type StreamEndHandler
Constants ¶
This section is empty.
Variables ¶
View Source
var AllowChannelType = []int{config.ChannelTypeAnthropic, config.ChannelTypeVertexAI, config.ChannelTypeBedrock}
View Source
var AllowGeminiChannelType = []int{config.ChannelTypeGemini, config.ChannelTypeVertexAI}
Functions ¶
func AvailableModel ¶
func ChatRealtime ¶
func CountGeminiTokenMessages ¶
func CountGeminiTokenMessages(request *gemini.GeminiChatRequest, preCostType int) (int, error)
func CountTokenMessages ¶
func CountTokenMessages(request *claude.ClaudeRequest, preCostType int) (int, error)
func FilterOpenAIErr ¶
func FilterOpenAIErr(c *gin.Context, err *types.OpenAIErrorWithStatusCode) (errWithStatusCode types.OpenAIErrorWithStatusCode)
func GetAvailableModels ¶
func GetAvailableModels(groupName string) map[string]*AvailableModelResponse
func GetModelOwnedBy ¶
func GetProvider ¶
func GetProvider(c *gin.Context, modelName string) (provider providersBase.ProviderInterface, newModelName string, fail error)
func ListClaudeModelsByToken ¶
func ListModelsByToken ¶
func ListModelsForAdmin ¶
func NewRelayChat ¶
func NewRelayClaudeOnly ¶
func NewRelayCompletions ¶
func NewRelayEmbeddings ¶
func NewRelayGeminiOnly ¶
func NewRelayImageEdits ¶
func NewRelayImageVariations ¶
func NewRelayModerations ¶
func NewRelayRerank ¶
func NewRelayResponses ¶
func NewRelaySpeech ¶
func NewRelayTranscriptions ¶
func NewRelayTranslations ¶
func Path2RecraftAIModel ¶
func RelayHandler ¶
func RelayHandler(relay RelayBaseInterface) (err *types.OpenAIErrorWithStatusCode, done bool)
func RelayRecraftAI ¶
func RelayRerank ¶
func RetrieveModel ¶
Types ¶
type AvailableModelResponse ¶
type GroupManager ¶
type GroupManager struct {
// contains filtered or unexported fields
}
GroupManager 统一管理分组逻辑
func (*GroupManager) TryWithGroups ¶
func (gm *GroupManager) TryWithGroups(modelName string, filters []model.ChannelsFilterFunc, operation func(group string) (*model.Channel, error)) (*model.Channel, error)
TryWithGroups 尝试使用主分组和备用分组
type ModelPrice ¶
type OpenAIModels ¶
type RelayBaseInterface ¶
type RelayBaseInterface interface {
IsStream() bool
// HandleError(err *types.OpenAIErrorWithStatusCode)
GetFirstResponseTime() time.Time
HandleJsonError(err *types.OpenAIErrorWithStatusCode)
HandleStreamError(err *types.OpenAIErrorWithStatusCode)
SetHeartbeat(isStream bool) *relay_util.Heartbeat
// contains filtered or unexported methods
}
func Path2Relay ¶
func Path2Relay(c *gin.Context, path string) RelayBaseInterface
type RelayModeChatRealtime ¶
type RelayModeChatRealtime struct {
// contains filtered or unexported fields
}
func (*RelayModeChatRealtime) GetError ¶
func (r *RelayModeChatRealtime) GetError(err *types.OpenAIErrorWithStatusCode) (int, any)
func (*RelayModeChatRealtime) GetFirstResponseTime ¶
func (*RelayModeChatRealtime) HandleJsonError ¶
func (r *RelayModeChatRealtime) HandleJsonError(err *types.OpenAIErrorWithStatusCode)
func (*RelayModeChatRealtime) HandleStreamError ¶
func (r *RelayModeChatRealtime) HandleStreamError(err *types.OpenAIErrorWithStatusCode)
func (*RelayModeChatRealtime) SetFirstResponseTime ¶
func (*RelayModeChatRealtime) SetHeartbeat ¶
func (r *RelayModeChatRealtime) SetHeartbeat(isStream bool) *relay_util.Heartbeat
type StreamEndHandler ¶
type StreamEndHandler func() string
Source Files
¶
Click to show internal directories.
Click to hide internal directories.