mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-09-07 22:04:45 -04:00
feat: Add filter templates for each provider
This commit is contained in:
@ -61,6 +61,19 @@ public:
|
||||
{
|
||||
return "The message will contain the following tokens: ### Instruction:\n### Response:\n";
|
||||
}
|
||||
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
case QodeAssist::LLMCore::ProviderID::LMStudio:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenRouter:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenAICompatible:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -60,6 +60,18 @@ public:
|
||||
{
|
||||
return "The message will contain the following tokens: <|im_start|>%1\n%2\n<|im_end|>";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
case QodeAssist::LLMCore::ProviderID::LMStudio:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenRouter:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenAICompatible:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -50,6 +50,15 @@ public:
|
||||
request["messages"] = messages;
|
||||
}
|
||||
QString description() const override { return "Claude"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Claude:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -42,6 +42,15 @@ public:
|
||||
{
|
||||
return "The message will contain the following tokens: <PRE> %1 <SUF>%2 <MID>";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -43,6 +43,15 @@ public:
|
||||
{
|
||||
return "The message will contain the following tokens: <SUF>%1<PRE>%2<MID>";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -59,6 +59,18 @@ public:
|
||||
{
|
||||
return "The message will contain the following tokens: [INST]%1[/INST]\n";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
case QodeAssist::LLMCore::ProviderID::LMStudio:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenRouter:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenAICompatible:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -63,6 +63,18 @@ public:
|
||||
return "The message will contain the following tokens: "
|
||||
"<|start_header_id|>%1<|end_header_id|>%2<|eot_id|>";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
case QodeAssist::LLMCore::ProviderID::LMStudio:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenRouter:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenAICompatible:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -37,6 +37,15 @@ public:
|
||||
request["suffix"] = context.suffix.value_or("");
|
||||
}
|
||||
QString description() const override { return "template will take from ollama modelfile"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::MistralAI:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class MistralAIChat : public LLMCore::PromptTemplate
|
||||
@ -64,6 +73,15 @@ public:
|
||||
request["messages"] = messages;
|
||||
}
|
||||
QString description() const override { return "template will take from ollama modelfile"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::MistralAI:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -38,6 +38,15 @@ public:
|
||||
request["system"] = context.systemPrompt.value_or("");
|
||||
}
|
||||
QString description() const override { return "template will take from ollama modelfile"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
class OllamaChat : public LLMCore::PromptTemplate
|
||||
@ -65,6 +74,15 @@ public:
|
||||
request["messages"] = messages;
|
||||
}
|
||||
QString description() const override { return "template will take from ollama modelfile"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -49,6 +49,15 @@ public:
|
||||
request["messages"] = messages;
|
||||
}
|
||||
QString description() const override { return "OpenAI"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::OpenAI:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -49,6 +49,17 @@ public:
|
||||
request["messages"] = messages;
|
||||
}
|
||||
QString description() const override { return "chat without tokens"; }
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::OpenAICompatible:
|
||||
case QodeAssist::LLMCore::ProviderID::OpenRouter:
|
||||
case QodeAssist::LLMCore::ProviderID::LMStudio:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -41,6 +41,15 @@ public:
|
||||
return "The message will contain the following tokens: "
|
||||
"<|fim_prefix|>%1<|fim_suffix|>%2<|fim_middle|>";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -44,6 +44,15 @@ public:
|
||||
return "The message will contain the following tokens: "
|
||||
"<fim_prefix>%1<fim_suffix>%2<fim_middle>";
|
||||
}
|
||||
bool isSupportProvider(LLMCore::ProviderID id) const override
|
||||
{
|
||||
switch (id) {
|
||||
case QodeAssist::LLMCore::ProviderID::Ollama:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace QodeAssist::Templates
|
||||
|
@ -41,9 +41,9 @@ namespace QodeAssist::Templates {
|
||||
inline void registerTemplates()
|
||||
{
|
||||
auto &templateManager = LLMCore::PromptTemplateManager::instance();
|
||||
templateManager.registerTemplate<CodeLlamaFim>();
|
||||
templateManager.registerTemplate<OllamaFim>();
|
||||
templateManager.registerTemplate<OllamaChat>();
|
||||
templateManager.registerTemplate<OllamaFim>();
|
||||
templateManager.registerTemplate<CodeLlamaFim>();
|
||||
templateManager.registerTemplate<Claude>();
|
||||
templateManager.registerTemplate<OpenAI>();
|
||||
templateManager.registerTemplate<MistralAIFim>();
|
||||
|
Reference in New Issue
Block a user