mirror of
https://github.com/langbot-app/LangBot.git
synced 2025-11-25 19:37:36 +08:00
44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
from __future__ import annotations
|
|
import os
|
|
|
|
from .. import loader
|
|
from .. import entities
|
|
from ....provider import entities as llm_entities
|
|
|
|
|
|
@loader.loader_class("normal")
|
|
class SingleSystemPromptLoader(loader.PromptLoader):
|
|
"""配置文件中的单条system prompt的prompt加载器
|
|
"""
|
|
|
|
async def load(self):
|
|
"""加载Prompt
|
|
"""
|
|
|
|
for name, cnt in self.ap.provider_cfg.data['prompt'].items():
|
|
prompt = entities.Prompt(
|
|
name=name,
|
|
messages=[
|
|
llm_entities.Message(
|
|
role='system',
|
|
content=cnt
|
|
)
|
|
]
|
|
)
|
|
self.prompts.append(prompt)
|
|
|
|
for file in os.listdir("data/prompts"):
|
|
with open("data/prompts/{}".format(file), "r", encoding="utf-8") as f:
|
|
file_str = f.read()
|
|
file_name = file.split(".")[0]
|
|
prompt = entities.Prompt(
|
|
name=file_name,
|
|
messages=[
|
|
llm_entities.Message(
|
|
role='system',
|
|
content=file_str
|
|
)
|
|
]
|
|
)
|
|
self.prompts.append(prompt)
|