Documentation
¶
Index ¶
- Constants
- type ExtraBillingData
- type ExtraServicePriceConfig
- type Heartbeat
- type HeartbeatConfig
- type OpenAIResponsesStreamConverter
- func (converter *OpenAIResponsesStreamConverter) GetResponseType(choice *types.ChatCompletionStreamChoice) string
- func (converter *OpenAIResponsesStreamConverter) ProcessError(jsonStr string)
- func (converter *OpenAIResponsesStreamConverter) ProcessOpenAIError(err *types.OpenAIErrorWithStatusCode)
- func (converter *OpenAIResponsesStreamConverter) ProcessStreamData(jsonStr string)
- type Quota
- func (q *Quota) Consume(c *gin.Context, usage *types.Usage, isStream bool)
- func (q *Quota) GetExtraBillingData(extraBilling map[string]types.ExtraBilling)
- func (q *Quota) GetFirstResponseTime() int64
- func (q *Quota) GetInputRatio() float64
- func (q *Quota) GetLogMeta(usage *types.Usage) map[string]any
- func (q *Quota) GetTotalQuota(promptTokens, completionTokens int, extraBilling map[string]types.ExtraBilling) (quota int)
- func (q *Quota) GetTotalQuotaByUsage(usage *types.Usage) (quota int)
- func (q *Quota) PreQuotaConsumption() *types.OpenAIErrorWithStatusCode
- func (q *Quota) SetFirstResponseTime(firstResponseTime time.Time)
- func (q *Quota) Undo(c *gin.Context)
- func (q *Quota) UpdateUserRealtimeQuota(usage *types.UsageEvent, nowUsage *types.UsageEvent) error
Constants ¶
View Source
const HeartbeatJsonText = "\n"
View Source
const HeartbeatStreamText = "::PING\n\n"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ExtraBillingData ¶
type ExtraServicePriceConfig ¶
type ExtraServicePriceConfig struct {
// Web Search 价格配置
WebSearch map[string]float64 `json:"web_search"` // tier -> price
// File Search 价格
FileSearch float64 `json:"file_search"`
// Code Interpreter 价格
CodeInterpreter float64 `json:"code_interpreter"`
ImageGeneration map[string]map[string]float64 `json:"image_generation"`
}
暂时先放这里,简单处理
type Heartbeat ¶
type Heartbeat struct {
// contains filtered or unexported fields
}
Heartbeat 心跳处理器
func NewHeartbeat ¶
func NewHeartbeat(isStream bool, config HeartbeatConfig, c *gin.Context) *Heartbeat
NewHeartbeat 创建一个新的心跳处理器
func (*Heartbeat) HasWrittenHeader ¶
HasWrittenHeader 检查头部是否已写入
func (*Heartbeat) IsSafeWriteStream ¶
IsSafeWriteStream 检查是否可以安全地写入Stream
type HeartbeatConfig ¶
心跳配置
type OpenAIResponsesStreamConverter ¶
type OpenAIResponsesStreamConverter struct {
// contains filtered or unexported fields
}
func NewOpenAIResponsesStreamConverter ¶
func NewOpenAIResponsesStreamConverter(c *gin.Context, request *types.OpenAIResponsesRequest, usage *types.Usage) *OpenAIResponsesStreamConverter
func (*OpenAIResponsesStreamConverter) GetResponseType ¶
func (converter *OpenAIResponsesStreamConverter) GetResponseType(choice *types.ChatCompletionStreamChoice) string
func (*OpenAIResponsesStreamConverter) ProcessError ¶
func (converter *OpenAIResponsesStreamConverter) ProcessError(jsonStr string)
func (*OpenAIResponsesStreamConverter) ProcessOpenAIError ¶
func (converter *OpenAIResponsesStreamConverter) ProcessOpenAIError(err *types.OpenAIErrorWithStatusCode)
func (*OpenAIResponsesStreamConverter) ProcessStreamData ¶
func (converter *OpenAIResponsesStreamConverter) ProcessStreamData(jsonStr string)
type Quota ¶
type Quota struct {
HandelStatus bool
// contains filtered or unexported fields
}
func (*Quota) GetExtraBillingData ¶
func (q *Quota) GetExtraBillingData(extraBilling map[string]types.ExtraBilling)
func (*Quota) GetFirstResponseTime ¶
func (*Quota) GetInputRatio ¶
func (*Quota) GetTotalQuota ¶
func (q *Quota) GetTotalQuota(promptTokens, completionTokens int, extraBilling map[string]types.ExtraBilling) (quota int)
通过 token 数获取消费配额
func (*Quota) GetTotalQuotaByUsage ¶
通过 usage 获取消费配额
func (*Quota) PreQuotaConsumption ¶
func (q *Quota) PreQuotaConsumption() *types.OpenAIErrorWithStatusCode
func (*Quota) SetFirstResponseTime ¶
func (*Quota) UpdateUserRealtimeQuota ¶
func (q *Quota) UpdateUserRealtimeQuota(usage *types.UsageEvent, nowUsage *types.UsageEvent) error
更新用户实时配额
Click to show internal directories.
Click to hide internal directories.