summaryrefslogtreecommitdiff
path: root/llm.go
diff options
context:
space:
mode:
Diffstat (limited to 'llm.go')
-rw-r--r--llm.go27
1 files changed, 26 insertions, 1 deletions
diff --git a/llm.go b/llm.go
index 95de1d8..b2cd5e2 100644
--- a/llm.go
+++ b/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 {