Skip to main content
Glama

MCP Agent Platform

brain_agent.cpython-310.pyc5.45 kB
o 2�gx$�@stdZddlZddlZddlmZmZddlZddlmZddl m Z m Z m Z ddl mZmZdaGdd�de�ZdS) u 大脑控制中心智能体 �N)�Dict�Any)� BaseAgent)� TextMessage� ImageMessage� AudioMessage)�OLLAMA_BASE_URL� OLLAMA_MODELcsteZdZdededef�fdd� Zdeeeffdd�Zdeeeffd d �Z deeeffd d �Z d d�Z �Z S)� BrainAgent�agent_id�host�portcs�t��|d||�|atjtd�|_t|_g|_ z ddl m }||_ Wn t y/d|_ Ynw|j�d|j�d|j ���|�d|j�|�d |j�|�d |j�dS) 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.pyrs    �zBrainAgent.__init__�messagec �s��z�|d�dd�}|d}|j�d|d��z�d}t|�D]5}ztj|jj|j|jd�Id H}Wn!t yS}z||d krA�t� d �Id HWYd }~qd }~ww|d d}|j�d |d��t |j d |d�} |j �d|���|�d | ���Id Hddlm} ddd|id�} | | �Id HWWd St y�}z+|j �d|���ddlm} ddddt|���id�} | | �Id HWYd }~Wd Sd }~wwt y�}z|j �d|���WYd }~d Sd }~ww)u处理文本消息�contentr�� sender_id�user�Zroler)��r�messagesN�r(Z assistant�mouth�r+� receiver_idru 发送回复到嘴巴智能体: r��broadcast_message�chatr��typer+r)zError generating response: �systemu生成回复时出错: zError processing text message: )�getr�append�range�asyncio� to_threadrr7r� Exception�sleeprr rr� send_message�to_dict�src.web.serverr6�error�str) r#r(rr+� max_retries�attempt�response�eZ reply_text� reply_messager6� web_reply� error_messager&r&r'r $sh�  � �� � �� ���� ��zBrainAgent._handle_text_messagec �s$�z�|d�dd�}|d}|s|j�d�WdS|j�d|�d��|jroz+d d d �d d d|��d�ddd�gd �g}tj|jj|j |d�IdH}|dd}Wnt yn}z|j� d|���d}WYd}~nd}~wwd}|j�d|���|j � d d|��d ��zQd dd �d d|��d �d dd �g}tj|jj|j |d�IdH} | dd} t|jd| d�} |�d| ���IdHddlm} dd d| id!�} | | �IdHWWdSt y�}z|j� d"|���WYd}~WdSd}~wwt �y}z|j� d#|���WYd}~dSd}~ww)$u处理图像消息r)� image_datar*r+u收到空图像数据Nu 收到来自u的图像数据,准备分析r:u`你是一个视觉分析助手。请分析图像中的内容,识别人物、场景和活动。r-r,rzdata:image/jpeg;base64,)r9�dataru9这张图片中有什么?请详细描述图像内容。r/r(u多模态图像分析失败: u无法分析图像内容。u?我看到了一个图像,但我无法详细分析其内容。u图像分析结果: u[视觉信息] uV你是一个友好的AI助手。基于视觉信息,与用户进行自然的对话。uQ根据你看到的内容,自然地与我打招呼或评论你看到的内容。r2r3rr5r7rr8u生成图像回复失败: u处理图像消息时出错: )r;r�warningrrr>r?rr7rr@rErr<rr rBrCrDr6)r#r(rNr+r0rIZanalysisrJZgreeting_messagesZgreeting_responseZ greeting_textrKr6rLr&r&r'r!fs�� ��  ����� � � ��"�� ��z BrainAgent._handle_image_messagec�s:�|d�dd�}|d}|�d|i|dd��IdHdS)u处理音频消息r)rr*r+)r)r+� message_typeN)r;r )r#r(Z audio_textr+r&r&r'r"�s��z BrainAgent._handle_audio_messagec �sr�z|�di��dd�}|j�d|���d|��}|WSty8}z|j�d|���WYd}~dSd}~ww) u!处理文本消息并返回回复r)rr*u收到文本消息: u#你好,我收到了你的消息: u处理文本消息时出错: Nu$抱歉,我无法处理你的消息)r;rrr@rE)r#r(rrIrJr&r&r'�process_text_message�s� ��zBrainAgent.process_text_message) �__name__� __module__� __qualname__rF�intrrrr r!r"rR� __classcell__r&r&r$r'r s BY r )�__doc__r>�logging�typingrrr�src.agents.base_agentr�src.utils.mcp_protocolrrrrrr rr r&r&r&r'�<module>s 

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rolenet/McpAgentRobot'

If you have feedback or need assistance with the MCP directory API, please join our Discord server