|
import logging |
|
import streamlit as st |
|
|
|
|
|
transformers_logger = logging.getLogger("transformers.tools.agents") |
|
transformers_logger.setLevel(logging.INFO) |
|
|
|
log_enabled = True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def log_response(response): |
|
if log_enabled: |
|
with st.chat_message("ai"): |
|
st.markdown("Agent Response\n {}".format(response)) |
|
print(response) |
|
|
|
|
|
class ChatHandler(logging.Handler): |
|
def __init__(self): |
|
super().__init__() |
|
|
|
|
|
def emit(self, record): |
|
log_message = self.format(record) |
|
|
|
st.markdown(f"Log: {log_message}") |
|
with st.chat_message("ai"): |
|
st.markdown("Agent Response\n {}".format(record)) |
|
|
|
|
|
chat_handler = ChatHandler() |
|
transformers_logger.addHandler(chat_handler) |
|
|
|
|
|
|
|
import socket |
|
import threading |
|
import logging |
|
|
|
class IRCLogger: |
|
def __init__(self, server, port, nickname, channel): |
|
self.server = server |
|
self.port = port |
|
self.nickname = nickname |
|
self.channel = channel |
|
self.socket = socket.socket() |
|
self.socket.connect((self.server, self.port)) |
|
|
|
|
|
self.logger = logging.getLogger(__name__) |
|
self.logger.setLevel(logging.INFO) |
|
|
|
|
|
handler = logging.StreamHandler() |
|
handler.setLevel(logging.INFO) |
|
|
|
|
|
formatter = logging.Formatter('%(asctime)s - %(message)s') |
|
handler.setFormatter(formatter) |
|
|
|
|
|
self.logger.addHandler(handler) |
|
|
|
|
|
self.join_channel() |
|
|
|
|
|
receive_thread = threading.Thread(target=self.receive_messages) |
|
receive_thread.start() |
|
|
|
def send_message(self, message): |
|
self.socket.send(bytes("PRIVMSG {} :{}\r\n".format(self.channel, message), "UTF-8")) |
|
|
|
def join_channel(self): |
|
self.socket.send(bytes("NICK {}\r\n".format(self.nickname), "UTF-8")) |
|
self.socket.send(bytes("USER {} 0 * :{}\r\n".format(self.nickname, self.nickname), "UTF-8")) |
|
self.socket.send(bytes("JOIN {}\r\n".format(self.channel), "UTF-8")) |
|
|
|
def receive_messages(self): |
|
while True: |
|
data = self.socket.recv(4096).decode("UTF-8") |
|
if data.startswith("PING"): |
|
self.socket.send(bytes("PONG {}\r\n".format(data.split()[1]), "UTF-8")) |
|
else: |
|
if not data.startswith("-"): |
|
self.logger.info(data) |
|
|
|
def log_message(self, message): |
|
self.logger.info(message) |
|
self.send_message(message) |
|
|
|
if __name__ == "__main__": |
|
|
|
logging.basicConfig(level=logging.INFO) |
|
|
|
server = "irc.efnet.org" |
|
port = 6667 |
|
nickname = "HFLogBB" |
|
channel = "#hflogs" |
|
|
|
|
|
|
|
|