brain_agent.cpython-310.pyc•5.45 kB
o
2�gx$ � @ st d Z ddlZddlZddlmZmZ ddlZddlmZ ddl m
Z
mZmZ ddl
mZmZ daG dd� de�ZdS ) u
大脑控制中心智能体
� N)�Dict�Any)� BaseAgent)�TextMessage�ImageMessage�AudioMessage)�OLLAMA_BASE_URL�OLLAMA_MODELc st e Zd Zdededef� fdd�Zdeeef fdd�Zdeeef fd d
�Z deeef fdd�Z
d
d� Z� ZS )�
BrainAgent�agent_id�host�portc s� t � �|d||� | atjtd�| _t| _g | _ zddl
m} || _W n t
y/ d| _Y nw | j�d| j� d| j� �� | �d| j� | �d | j� | �d
| j� d S )N�brain)r r )�MULTIMODAL_SUPPORTFu/ 大脑智能体初始化完成,使用模型: u , 多模态支持: �text�image�audio)�super�__init__�brain_instance�ollamaZClientr �
ollama_clientr �model�context�configr �multimodal_support�ImportError�logger�info�register_handler�_handle_text_message�_handle_image_message�_handle_audio_message)�selfr r r
r �� __class__� �5D:\DeepSeek\MCPAgent\mcpTest\src\brain\brain_agent.pyr s
�zBrainAgent.__init__�messagec
� s� �z�|d � dd�}|d }| j�d|d�� z�d}t|�D ]5}ztj| jj| j| jd�I d H }W n! t yS } z||d
krA� t�
d
�I d H W Y d }~qd }~ww |d d }| j�d|d�� t| jd
|d�} | j
�d|� �� | �d
| �� �I d H ddlm}
ddd|id�}|
|�I d H W W d S t y� } z+| j
�d|� �� ddlm}
ddddt|�� �id�}|
|�I d H W Y d }~W d S d }~ww t y� } z| j
�d|� �� W Y d }~d S d }~ww )u 处理文本消息�contentr � � sender_id�user�Zroler) � �r �messagesN� r( Z assistant�mouth�r+ �receiver_idr u 发送回复到嘴巴智能体: r ��broadcast_message�chatr ��typer+ r) zError generating response: �systemu 生成回复时出错: zError processing text message: )�getr �append�range�asyncio� to_threadr r7 r � Exception�sleepr r r r �send_message�to_dict�src.web.serverr6 �error�str)
r# r( r r+ �max_retries�attempt�response�eZ
reply_text�
reply_messager6 � web_reply�
error_messager&