Fixes;
git-svn-id: svn://home0/lm-lib@3605 71dcc7fd-b1f2-4e5d-bb8e-274146e81173
This commit is contained in:
@@ -0,0 +1,43 @@
|
|||||||
|
package de.extio.lmlib.client.prompt;
|
||||||
|
|
||||||
|
public class AlpacaShortPromptStrategy implements PromptStrategy {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public StringBuilder start(final String instruction, final String question, final String text) {
|
||||||
|
final StringBuilder prompt = new StringBuilder();
|
||||||
|
prompt.append("### Instruction:\n");
|
||||||
|
prompt.append(instruction);
|
||||||
|
prompt.append("\n\n### Input:\n");
|
||||||
|
prompt.append(question);
|
||||||
|
if (!question.isEmpty() && !text.isEmpty()) {
|
||||||
|
prompt.append("\n");
|
||||||
|
}
|
||||||
|
prompt.append(text);
|
||||||
|
prompt.append("\n\n### Response:\n");
|
||||||
|
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(assistant);
|
||||||
|
prompt.append("\n\n### Input:\n");
|
||||||
|
prompt.append(user);
|
||||||
|
prompt.append("\n\n### Response:\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String removeEOT(final String prompt) {
|
||||||
|
return prompt.strip().replace("</s>", "");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getPromptName() {
|
||||||
|
return "alpaca";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -6,22 +6,18 @@ import org.springframework.stereotype.Component;
|
|||||||
public class MixtralPromptStrategy implements PromptStrategy {
|
public class MixtralPromptStrategy implements PromptStrategy {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public StringBuilder start(final String system, final String question, final String text) {
|
public StringBuilder start(final String instruction, final String question, final String text) {
|
||||||
final StringBuilder prompt = new StringBuilder();
|
final StringBuilder prompt = new StringBuilder();
|
||||||
prompt.append("<s>[INST] ");
|
prompt.append("<s>[INST] ");
|
||||||
if (!system.isEmpty()) {
|
prompt.append(instruction);
|
||||||
prompt.append(system);
|
if (!instruction.isEmpty() && !question.isEmpty()) {
|
||||||
if (!question.isEmpty() || !text.isEmpty()) {
|
|
||||||
prompt.append("\n");
|
prompt.append("\n");
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if (!question.isEmpty()) {
|
|
||||||
prompt.append(question);
|
prompt.append(question);
|
||||||
if (!text.isEmpty()) {
|
if ((!instruction.isEmpty() || !question.isEmpty()) && !text.isEmpty()) {
|
||||||
prompt.append("\n");
|
prompt.append("\n");
|
||||||
}
|
}
|
||||||
}
|
prompt.append(text);
|
||||||
prompt.append(question);
|
|
||||||
prompt.append(" [/INST]");
|
prompt.append(" [/INST]");
|
||||||
return prompt;
|
return prompt;
|
||||||
}
|
}
|
||||||
@@ -40,6 +36,11 @@ public class MixtralPromptStrategy implements PromptStrategy {
|
|||||||
prompt.append(" [/INST]");
|
prompt.append(" [/INST]");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String removeEOT(final String prompt) {
|
||||||
|
return prompt.strip().replace("</s>", "");
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPromptName() {
|
public String getPromptName() {
|
||||||
return "mixtral";
|
return "mixtral";
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package de.extio.lmlib.client.textcompletion;
|
package de.extio.lmlib.client.textcompletion;
|
||||||
|
|
||||||
|
import java.text.DecimalFormat;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.ArrayDeque;
|
import java.util.ArrayDeque;
|
||||||
@@ -295,6 +296,10 @@ public class TextCompletionClient implements Client, DisposableBean {
|
|||||||
builder.append(this.inTokens);
|
builder.append(this.inTokens);
|
||||||
builder.append(", outTokens=");
|
builder.append(", outTokens=");
|
||||||
builder.append(this.outTokens);
|
builder.append(this.outTokens);
|
||||||
|
builder.append(", averageTps=");
|
||||||
|
builder.append(new DecimalFormat("#.##").format(((double) (this.outTokens + this.inTokens) / (double) this.requests) / ((double) this.duration.toMillis() / 1000.0 / (double) this.requests)));
|
||||||
|
builder.append(", averageOutTps=");
|
||||||
|
builder.append(new DecimalFormat("#.##").format((double) this.outTokens / ((double) this.duration.toMillis() / 1000.0)));
|
||||||
builder.append("]");
|
builder.append("]");
|
||||||
return builder.toString();
|
return builder.toString();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user