12
12
13
13
from app .components .credential import Credential , ProviderError
14
14
from app .components .user_manager import USER_MANAGER
15
+ from llmkira .kv_manager .instruction import InstructionManager
15
16
from llmkira .task import Task
16
17
from llmkira .task .snapshot import SnapData , global_snapshot_storage
17
18
@@ -110,6 +111,11 @@ async def auth_reloader(snapshot_credential: str, platform: str, user_id: str) -
110
111
111
112
112
113
def split_setting_string (input_string ):
114
+ """
115
+ Split setting string
116
+ :param input_string: input string
117
+ :return: list or None
118
+ """
113
119
if not isinstance (input_string , str ):
114
120
return None
115
121
segments = input_string .split ("$" )
@@ -135,7 +141,32 @@ async def save_credential(uid, credential: Credential):
135
141
await USER_MANAGER .save (user_model = user )
136
142
137
143
144
+ async def learn_instruction (uid : str , instruction : str ) -> str :
145
+ """
146
+ Set instruction text
147
+ :param uid: uid_make
148
+ :param instruction: instruction text
149
+ :return: str message
150
+ """
151
+ if len (instruction ) > 1500 :
152
+ return "your instruction text length should be less than 1500"
153
+ manager = InstructionManager (user_id = uid )
154
+ if len (instruction ) < 7 :
155
+ instruction = ""
156
+ await manager .set_instruction (instruction )
157
+ return "I already reset your instruction to default..."
158
+ else :
159
+ await manager .set_instruction (instruction )
160
+ return "I keep it in my mind!"
161
+
162
+
138
163
async def login (uid : str , arg_string ) -> str :
164
+ """
165
+ Login as provider or model
166
+ :param uid: uid_make
167
+ :param arg_string: input string
168
+ :return: str message
169
+ """
139
170
error = telegramify_markdown .convert (
140
171
"🔑 **Incorrect format.**\n "
141
172
"You can set it via `https://<something api.openai.com>/v1$<api key>"
0 commit comments