Phi4 prompt template;
git-svn-id: svn://home0/lm-lib@3685 71dcc7fd-b1f2-4e5d-bb8e-274146e81173
This commit is contained in:
49
src/main/java/de/extio/lmlib/prompt/Phi4PromptStrategy.java
Normal file
49
src/main/java/de/extio/lmlib/prompt/Phi4PromptStrategy.java
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
package de.extio.lmlib.prompt;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
@Component
|
||||||
|
public class Phi4PromptStrategy implements PromptStrategy {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StringBuilder start(final String system, final String question, final String text) {
|
||||||
|
final StringBuilder prompt = new StringBuilder();
|
||||||
|
if (! system.isEmpty()) {
|
||||||
|
prompt.append("<|im_start|>system<|im_sep|>\n");
|
||||||
|
prompt.append(system);
|
||||||
|
prompt.append("<|im_end|>\n");
|
||||||
|
}
|
||||||
|
prompt.append("<|im_start|>user<|im_sep|>\n");
|
||||||
|
prompt.append(question);
|
||||||
|
if (!question.isEmpty() && !text.isEmpty()) {
|
||||||
|
prompt.append("\n");
|
||||||
|
}
|
||||||
|
prompt.append(text);
|
||||||
|
prompt.append("<|im_end|>\n<|im_start|>assistant<|im_sep|>");
|
||||||
|
return prompt;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void continue_(final StringBuilder prompt, final String assistant) {
|
||||||
|
this.next(prompt, assistant, "Continue");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void next(final StringBuilder prompt, final String assistant, final String user) {
|
||||||
|
prompt.append("\n");
|
||||||
|
prompt.append(assistant);
|
||||||
|
prompt.append("<|im_end|>\n<|im_start|>user<|im_sep|>\n");
|
||||||
|
prompt.append(user);
|
||||||
|
prompt.append("<|im_end|>\n<|im_start|>assistant<|im_sep|>");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String removeEOT(final String prompt) {
|
||||||
|
return prompt.strip().replace("<|im_end|>", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPromptName() {
|
||||||
|
return "phi4";
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user