refactor: move prompt mgm to pipeline

This commit is contained in:
Junyan Qin
2025-04-03 17:06:01 +08:00
parent 913e43d84c
commit fb18278bdc
16 changed files with 36 additions and 285 deletions

View File

@@ -4,6 +4,7 @@ import asyncio
from ...core import app, entities as core_entities
from ...plugin import context as plugin_context
from ...provider import entities as provider_entities
class SessionManager:
@@ -41,15 +42,26 @@ class SessionManager:
self.session_list.append(session)
return session
async def get_conversation(self, query: core_entities.Query, session: core_entities.Session) -> core_entities.Conversation:
async def get_conversation(self, query: core_entities.Query, session: core_entities.Session, pipeline_config: dict) -> core_entities.Conversation:
"""获取对话或创建对话"""
if not session.conversations:
session.conversations = []
# set prompt
prompt_messages = []
for prompt_message in pipeline_config['ai']['local-agent']['prompt']:
prompt_messages.append(provider_entities.Message(**prompt_message))
prompt = provider_entities.Prompt(
name="default",
messages=prompt_messages,
)
if session.using_conversation is None:
conversation = core_entities.Conversation(
prompt=await self.ap.prompt_mgr.get_prompt(session.use_prompt_name),
prompt=prompt,
messages=[],
use_llm_model=await self.ap.model_mgr.get_model_by_uuid(
query.pipeline_config['ai']['local-agent']['model']