runner: simplify parser entrypoints in runner (#12233)

This commit is contained in:
Parth Sareen
2025-09-10 11:24:42 -07:00
committed by GitHub
parent 20b53eaa72
commit 8d6fffaead
6 changed files with 173 additions and 77 deletions

View File

@@ -36,6 +36,7 @@ import (
"github.com/ollama/ollama/llm"
"github.com/ollama/ollama/logutil"
"github.com/ollama/ollama/openai"
"github.com/ollama/ollama/parser"
"github.com/ollama/ollama/server/internal/client/ollama"
"github.com/ollama/ollama/server/internal/registry"
"github.com/ollama/ollama/template"
@@ -196,6 +197,12 @@ func (s *Server) GenerateHandler(c *gin.Context) {
}
useHarmony := harmony.ShouldUseHarmony(m.Config.ModelFamily, m.Template) && !req.Raw
var parserType parser.TokenParserType
if useHarmony {
parserType = parser.TokenParserTypeHarmony
} else {
parserType = parser.TokenParserTypeDefault
}
var functionNameMap *harmony.FunctionNameMap
if useHarmony {
@@ -347,7 +354,7 @@ func (s *Server) GenerateHandler(c *gin.Context) {
Images: images,
Format: req.Format,
Options: opts,
UseHarmony: useHarmony,
ParserType: parserType,
}, func(cr llm.CompletionResponse) {
res := api.GenerateResponse{
Model: req.Model,
@@ -1592,6 +1599,12 @@ func (s *Server) ChatHandler(c *gin.Context) {
msgs = filterThinkTags(msgs, m)
useHarmony := harmony.ShouldUseHarmony(m.Config.ModelFamily, m.Template)
var parserType parser.TokenParserType
if useHarmony {
parserType = parser.TokenParserTypeHarmony
} else {
parserType = parser.TokenParserTypeDefault
}
processedTools := req.Tools
var functionNameMap *harmony.FunctionNameMap
@@ -1662,7 +1675,7 @@ func (s *Server) ChatHandler(c *gin.Context) {
Images: images,
Format: req.Format,
Options: opts,
UseHarmony: useHarmony,
ParserType: parserType,
PrefillString: prefillString,
}, func(r llm.CompletionResponse) {
res := api.ChatResponse{