MCPcopy Create free account
hub / github.com/OpenBitSys/BitDistiller / BasePrompter

Class BasePrompter

inference/utils/prompt_templates.py:11–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9}
10
11class BasePrompter:
12 def __init__(
13 self,
14 system_inst,
15 role1,
16 role2,
17 sen_spliter="\n",
18 qa_spliter="\n",
19 decorator: List[str] = None,
20 ):
21 self.system_inst = system_inst # System Instruction
22 self.role1 = role1 # The name of USER
23 self.role2 = role2 # The name of AI-Assistant
24 self.sen_spliter = sen_spliter # How to split system/user/assistant outputs
25 self.qa_spliter = qa_spliter # How to split Q&A rounds
26 self.decorator = decorator
27 if self.decorator == None:
28 self.starter = ""
29 self.stopper = ""
30 else:
31 self.starter = self.decorator[0]
32 self.stopper = self.decorator[1]
33 if self.system_inst == None:
34 self.template = (
35 self.starter
36 + self.role1
37 + ": {prompt}"
38 + self.stopper
39 + self.sen_spliter
40 + self.starter
41 + self.role2
42 + ":"
43 )
44 else:
45 self.template = (
46 self.starter
47 + self.system_inst
48 + self.stopper
49 + self.sen_spliter
50 + self.starter
51 + self.role1
52 + ": {prompt}"
53 + self.stopper
54 + self.sen_spliter
55 + self.starter
56 + self.role2
57 + ":"
58 )
59 self.model_input = None
60
61 def insert_prompt(self, input_prompt):
62 self.model_input = self.template.format(prompt=input_prompt)
63
64 def update_template(self, outputs):
65 self.template = (
66 self.model_input
67 + " "
68 + outputs.strip()

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected