import json
import urllib.request

send_text = """Проанализируй следующий лог Cisco NX-OS и дай краткий комментарий о том, что произошло на порту Ethernet163/1/11. Укажи причину проблемы и итоговое состояние порта.

Лог:
2026 May 25 15:48:39 N5K-128-1 %LLDP-FEX163-5-SERVER_ADDED: Server with Chassis ID 0058.3f1b.5fe6 Port ID 0058.3f1b.5fe6 management address NIL discovered on local port Eth163/1/11 in vlan 0 with enabled capability None
2026 May 25 15:48:57 N5K-128-1 %LACP-FEX163-5-LACP_SUSPEND_INDIVIDUAL: LACP port Ethernet163/1/11(0x1fa20280) of port-channel port-channel39(0x16000026) not receiving any LACP BPDUs suspending (individual) port
2026 May 25 15:48:58 N5K-128-1 %ETH_PORT_CHANNEL-5-PORT_SUSPENDED: Ethernet163/1/11: Ethernet163/1/11 is suspended
2026 May 25 15:49:12 N5K-128-1 %ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet163/1/11 is down (Link failure)
2026 May 25 15:49:12 N5K-128-1 last message repeated 1 time
2026 May 25 15:49:12 N5K-128-1 %LLDP-FEX163-5-SERVER_REMOVED: Server with Chassis ID 0058.3f1b.5fe6 Port ID 0058.3f1b.5fe6 on local port Eth163/1/11 has been removed
2026 May 25 15:49:15 N5K-128-1 %ETHPORT-5-SPEED: Interface Ethernet163/1/11, operational speed changed to 1 Gbps
2026 May 25 15:49:15 N5K-128-1 %ETHPORT-5-IF_DUPLEX: Interface Ethernet163/1/11, operational duplex mode changed to Full
2026 May 25 15:49:15 N5K-128-1 %ETHPORT-5-IF_RX_FLOW_CONTROL: Interface Ethernet163/1/11, operational Receive Flow Control state changed to off
2026 May 25 15:49:15 N5K-128-1 %ETHPORT-5-IF_TX_FLOW_CONTROL: Interface Ethernet163/1/11, operational Transmit Flow Control state changed to on
2026 May 25 15:49:18 N5K-128-1 %LLDP-FEX163-5-SERVER_ADDED: Server with Chassis ID 0058.3f1b.5fe6 Port ID 0058.3f1b.5fe6 management"""

data = json.dumps({"model": "llama3.1:latest", "prompt": send_text, "stream": False}).encode()
req = urllib.request.Request("http://127.0.0.1:11434/api/generate", data=data, headers={"Content-Type": "application/json"})
with urllib.request.urlopen(req) as resp:
    answer_text = json.loads(resp.read().decode())["response"]
print(answer_text)