mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
39 lines
951 B
Python
39 lines
951 B
Python
from __future__ import annotations
|
|
|
|
import typing
|
|
|
|
import mirai
|
|
|
|
from .. import handler
|
|
from ... import entities
|
|
from ....core import entities as core_entities
|
|
|
|
|
|
class ChatMessageHandler(handler.MessageHandler):
|
|
|
|
async def handle(
|
|
self,
|
|
query: core_entities.Query,
|
|
) -> typing.AsyncGenerator[entities.StageProcessResult, None]:
|
|
"""处理
|
|
"""
|
|
# 取session
|
|
# 取conversation
|
|
# 调API
|
|
# 生成器
|
|
session = await self.ap.sess_mgr.get_session(query)
|
|
|
|
conversation = await self.ap.sess_mgr.get_conversation(session)
|
|
|
|
async for result in conversation.use_model.requester.request(query, conversation):
|
|
query.resp_message_chain = mirai.MessageChain([mirai.Plain(str(result))])
|
|
|
|
yield entities.StageProcessResult(
|
|
result_type=entities.ResultType.CONTINUE,
|
|
new_query=query
|
|
)
|
|
|
|
|
|
|
|
|