Documentation
¶
Overview ¶
Package helper provides utility functions for relay providers, adapted from LingRein's pkg/relay/helper with gin.Context dependencies removed.
These helpers handle SSE streaming, response ID generation, and other common tasks that provider adaptors need.
Index ¶
- func Done(w http.ResponseWriter)
- func GenerateFinalUsageResponse(id string, createAt int64, model string, usage *dto.Usage) *dto.ChatCompletionsStreamResponse
- func GenerateStartEmptyResponse(id string, createAt int64, model string, systemFingerprint *string) *dto.ChatCompletionsStreamResponse
- func GenerateStopResponse(id string, createAt int64, model string, systemFingerprint *string) *dto.ChatCompletionsStreamResponse
- func GetResponseID(requestID string) string
- func ObjectData(w http.ResponseWriter, object any) error
- func SetEventStreamHeaders(w http.ResponseWriter)
- func StreamScannerHandler(resp *http.Response, handler func(data string) error) error
- func StringData(w http.ResponseWriter, str string) error
- type StreamResult
- type StreamScanner
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateFinalUsageResponse ¶
func GenerateFinalUsageResponse(id string, createAt int64, model string, usage *dto.Usage) *dto.ChatCompletionsStreamResponse
GenerateFinalUsageResponse creates a final usage response for streaming.
func GenerateStartEmptyResponse ¶
func GenerateStartEmptyResponse(id string, createAt int64, model string, systemFingerprint *string) *dto.ChatCompletionsStreamResponse
GenerateStartEmptyResponse creates an empty start response for streaming.
func GenerateStopResponse ¶
func GenerateStopResponse(id string, createAt int64, model string, systemFingerprint *string) *dto.ChatCompletionsStreamResponse
GenerateStopResponse creates a stop response for streaming.
func GetResponseID ¶
GetResponseID generates a response ID from a request ID.
func ObjectData ¶
func ObjectData(w http.ResponseWriter, object any) error
ObjectData marshals an object to JSON and writes it as an SSE data line.
func SetEventStreamHeaders ¶
func SetEventStreamHeaders(w http.ResponseWriter)
SetEventStreamHeaders sets SSE headers on an http.ResponseWriter.
func StreamScannerHandler ¶
StreamScannerHandler processes a streaming response, calling the handler for each data line. Returns when the stream is done or an error occurs.
func StringData ¶
func StringData(w http.ResponseWriter, str string) error
StringData writes an SSE data line to the writer.
Types ¶
type StreamResult ¶
StreamResult holds the result of a stream scan.
type StreamScanner ¶
type StreamScanner struct {
// contains filtered or unexported fields
}
StreamScanner wraps an io.Reader to scan SSE lines.
func NewStreamScanner ¶
func NewStreamScanner(reader io.Reader) *StreamScanner
NewStreamScanner creates a new StreamScanner.
func (*StreamScanner) Scan ¶
func (s *StreamScanner) Scan() (string, error)
Scan returns the next SSE data line. Returns io.EOF at end.