Enha: client stop string for completion only
This commit is contained in:
27
llm.go
27
llm.go
@@ -78,6 +78,7 @@ type ChunkParser interface {
|
||||
ParseChunk([]byte) (*models.TextChunk, error)
|
||||
FormMsg(msg, role string, cont bool) (io.Reader, error)
|
||||
GetToken() string
|
||||
GetAPIType() models.APIType
|
||||
}
|
||||
|
||||
func choseChunkParser() {
|
||||
@@ -127,6 +128,10 @@ type OpenRouterChat struct {
|
||||
Model string
|
||||
}
|
||||
|
||||
func (lcp LCPCompletion) GetAPIType() models.APIType {
|
||||
return models.APITypeCompletion
|
||||
}
|
||||
|
||||
func (lcp LCPCompletion) GetToken() string {
|
||||
return ""
|
||||
}
|
||||
@@ -233,7 +238,11 @@ func (lcp LCPCompletion) ParseChunk(data []byte) (*models.TextChunk, error) {
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func (op LCPChat) GetToken() string {
|
||||
func (lcp LCPChat) GetAPIType() models.APIType {
|
||||
return models.APITypeChat
|
||||
}
|
||||
|
||||
func (lcp LCPChat) GetToken() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
@@ -371,6 +380,10 @@ func (op LCPChat) FormMsg(msg, role string, resume bool) (io.Reader, error) {
|
||||
}
|
||||
|
||||
// deepseek
|
||||
func (ds DeepSeekerCompletion) GetAPIType() models.APIType {
|
||||
return models.APITypeCompletion
|
||||
}
|
||||
|
||||
func (ds DeepSeekerCompletion) ParseChunk(data []byte) (*models.TextChunk, error) {
|
||||
llmchunk := models.DSCompletionResp{}
|
||||
if err := json.Unmarshal(data, &llmchunk); err != nil {
|
||||
@@ -453,6 +466,10 @@ func (ds DeepSeekerCompletion) FormMsg(msg, role string, resume bool) (io.Reader
|
||||
return bytes.NewReader(data), nil
|
||||
}
|
||||
|
||||
func (ds DeepSeekerChat) GetAPIType() models.APIType {
|
||||
return models.APITypeChat
|
||||
}
|
||||
|
||||
func (ds DeepSeekerChat) ParseChunk(data []byte) (*models.TextChunk, error) {
|
||||
llmchunk := models.DSChatStreamResp{}
|
||||
if err := json.Unmarshal(data, &llmchunk); err != nil {
|
||||
@@ -539,6 +556,10 @@ func (ds DeepSeekerChat) FormMsg(msg, role string, resume bool) (io.Reader, erro
|
||||
}
|
||||
|
||||
// openrouter
|
||||
func (or OpenRouterCompletion) GetAPIType() models.APIType {
|
||||
return models.APITypeCompletion
|
||||
}
|
||||
|
||||
func (or OpenRouterCompletion) ParseChunk(data []byte) (*models.TextChunk, error) {
|
||||
llmchunk := models.OpenRouterCompletionResp{}
|
||||
if err := json.Unmarshal(data, &llmchunk); err != nil {
|
||||
@@ -618,6 +639,10 @@ func (or OpenRouterCompletion) FormMsg(msg, role string, resume bool) (io.Reader
|
||||
}
|
||||
|
||||
// chat
|
||||
func (or OpenRouterChat) GetAPIType() models.APIType {
|
||||
return models.APITypeChat
|
||||
}
|
||||
|
||||
func (or OpenRouterChat) ParseChunk(data []byte) (*models.TextChunk, error) {
|
||||
llmchunk := models.OpenRouterChatResp{}
|
||||
if err := json.Unmarshal(data, &llmchunk); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user