Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT

p.kaczmarek2 04 Feb 2023 19:57 2244 9
  • Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Pokażę tu dwa praktyczne sposoby na pokonanie limitu długości odpowiedzi ostatnio bardzo popularnego ChatGPT. Oba sposoby są całkowicie darmowe, działają na publicznie dostępnym modelu oraz przede wszystkim sprawdzają się w praktyce, dzięki nim można generować naprawdę długie fragmenty kodów oraz tekstów. Sam dziwię się, że te sposoby nie są popularniejsze ale raz po raz natrafiam ciągle na wzmianki typu "AI ucięło odpowiedź", więc uznałem, że warto będzie napisać ten temat.
    wanio wrote:

    Stwórz opowiadanie o tym, jak powstał ten kod:w
    Quote:

    Pewnego dnia programista, imieniem Andrzej, zaczął pracować nad projektem wyświetlacza LCD dla mikrokontrolera Atmega 162. Chciał on stworzyć kod, który pozwoli na wyświetlanie tekstu na wyświetlaczu, ale z polskimi nazwami zmiennych, aby było łatwiej go zrozumieć dla innych programistów.

    Andrzej rozpoczął od dodania niezbędnych bibliotek, takich jak avr/io.h i util/delay.h, a następnie zdefiniował nazwy zmiennych dla wszystkich linii wyjściowych potrzebnych do komunikacji z wyświetlaczem. Wszystkie te nazwy były w języku polskim, takie jak DDR_RS, PORT_RS, PIN_RS itp.

    Następnie Andrzej napisał funkcje potrzebne do inicjalizacji wyświetlacza i wysyłania danych. Każda z tych funkcji miała nazwę w języku polskim, taką jak ustaw_tryb, czekaj_na_gotowosc, wyslij_bajt itp.

    Andrzej również stworzył funkcję inicjalizuj_lcd, aby skonfigurować wyświetlacz i gotowy do wyświetlania tekstu. Ostatnią funkcją napisaną przez Andrzeja była funkcja wyswietl_tekst, która pozwalała na wyświetlanie tekstu na wyświetlaczu.

    Gdy wszystko było już gotowe, Andrzej uruchomił swój kod i był bardzo zadowolony, gdy na wyświetlaczu pojawił się napis "elektroda.pl". Cieszył się, że udało mu się stworzyć kod z polskimi nazwami zmiennych, co ułatwiło jego zrozumienie dla innych programistów.

    Ostatecznie kod Andrzeja stał się popularny w środowisku programistów i był często używany w różnych projektach związanych z wy(...)

    Niestety nie wygenerowała całego opowiadania. Przypuszczam, że dlatego, że to wersja darmowa i jest ograniczona ilością znaków, jakie może z siebie wypluć.

    Sytuacje jak powyżej wcale nie są bez wyjścia! Tak wygenerowany tekst można dość łatwo kontynuować...

    Sposób 1 - buduj kod funkcja po funkcji
    (Bądź tekst - akapit po akapicie...)
    Pierwszy sposób jest poniekąd metodą na wyminięcie problemu limitu znaków - po prostu świadomie konstruujemy zapytanie tak, by model odpowiadał "po trochę". W przypadku kodu źródłowego warto jest określać, że prosimy np. o podanie początkowo samej klasy, a potem już samej funkcji z tej klasy bądź o aktualizację tylko jednej funkcji. AI jest naprawdę w stanie poprawnie obsłużyć tego typu zapytanie i naprawdę to, czy napiszemy "please write only a CalculateSomething function" czy "please post whole updated code" robi różnicę.

    Oto przykład odpowiednio poprowadzonej rozmowy tak, aby AI odpowiadało w częściach:
    Leniwy Programista wrote:

    Write a C# class called TasmotaControl that offers HTTP access for Tasmota commands. Make sure to include commands to set POWER, Color, Dimmer, CT, MQTT host name, password, broker name, HSBColor.

    ChatGPT wrote:

    Here's an example implementation of the TasmotaControl class in C#:


    Code: csharp
    Log in, to see the code

    In this implementation, the TasmotaControl class takes the IP address of the Tasmota device in its constructor and uses it to build the URLs for each command. The methods then use HttpClient to send HTTP GET requests to the Tasmota device to issue the desired commands.

    Potem należy poprosić o dopisanie funkcji, oczywiście takich pasujących logicznie do kodu:
    Leniwy Programista wrote:

    Please also add a function that requests device STATUS over HTTP and parses result JSON to get voltage, current and power data

    ChatGPT wrote:

    Sure, here's an example of a function that requests the device status and parses the result JSON to get voltage, current, and power data:

    Code: csharp
    Log in, to see the code

    In this implementation, the GetStatusAsync method sends an HTTP GET request to the Tasmota device using HttpClient to get the status information. The response JSON is then deserialized into a Status object using System.Text.Json, and the voltage, current, and power values are extracted and returned as a tuple.

    I gotowe - długi kod wygenerowany. Jakie z tego wnioski?
    - AI ma cały kontekst rozmowy i go "pamięta"
    - AI samo umieściło komentarz "other methods"
    - AI jest w stanie poprawnie odpowiedzieć na prośbę o konkretną metodę oraz użyć wcześniej napisanych przez siebie metod
    W ten sposób można długo rozwijać ten kod, nie ma limitu jednej czy dwóch odpowiedzi. Można też prosić o poprawki kodu w stylu: "please change method XYZ to do ABC in GJK way".

    Sposób 2 - po prostu poproś o kontynuację
    Drugi sposób już bezpośrednio rozwiązuje problem uciętego tekstu/kodu i o dziwo naprawdę działa (a przynajmniej na kodzie źródłowym) - testowałem go wielokrotnie jeszcze jakiś miesiąc temu i AI zawsze spełniało moje oczekiwania. Zasadniczo, są dwa jego podtypy, oba dotyczą sytuacji gdzie AI przerwie pisać dla nas kod w nieoczekiwanym momencie.
    - można poprosić AI o kontynuację tam gdzie przerwało (na tym znaku gdzie przerwało, np. poprzez "please continue")
    - można poprosić AI o powtórzenie od początku jednej z funkcji, w której środku przerwało (np. poprzez "please continue by starting at CalculateExampleXYZ function")
    Oto przykładowe zrzuty ekranu z rozmowy.
    Najpierw początek rozmowy - wszystko wygląda ok...
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Jednak AI przerywa kod w trakcie pisania. Czy to problem?
    Nie, bo model też poprawnie reaguje na Please Continue:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Przy okazji psuje się formatowanie kodu, ale czy to ma dla nas znaczenie?
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Do wglądu - prompt jak tekst oraz połączony razem kod od AI:
    Leniwy Programista wrote:

    Write a C# class called TasmotaControl that offers HTTP access for all known Tasmota commands. Make sure to include commands to set POWER, Color, Dimmer, CT, MQTT host name, password, broker name, HSBColor, reboot and WiFi configuration. Also add a STATUS request command, that parses HTTP reply JSON and extracts sensor data that includes voltage, current and power.

    ChatGPT wrote:

    Here is an example implementation of a TasmotaControl class in C# that includes the requested commands:
    Code: csharp
    Log in, to see the code


    Kod powyżej jest poprawny, nie zgubił kontekstu, nie pomieszały się nawiasy, jest idealnie. Wygenerowanie go w dwóch połówkach na nic nie wpłynęło. Limit znaków pokonany!

    Oto drugi przykład, tym razem bez większego komentarza, eksperymentowałem z tym czy AI umie generować kod wyszukiwania ścieżek A-star na bazie szachownicy w OpenGL:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    AI rozumie frazę "Please continue drawMap function" i jest w stanie kontyuować kod począwszy od funkcji którą wcześniej przerwało.
    Trzeci przykład, analogicznie:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    No dobra, tu musiałem dopisać sam nawias i średnik, ale to nie jest dużo.

    Próba tworzenia opowiadania w częściach...
    Początkowo nie planowałem tu tego umieszczać, ale szybko jednak uznałem, że jak przedstawię same kody to temat będzie niepełny. Z tego powodu poniżej umieszczam moją pierwszą i jedyną próbę utworzenia opowiadania na ChatGPT poprzez generowanie go w częściach:
    Człowiek wrote:

    Napisz początek historii o tym, jak nie posłuchałem się porad z Elektrody i kupiłem zasilacz z czarnej listy.

    ChatGPT wrote:

    Był pewien raz młody entuzjasta elektroniki, który marzył o zbudowaniu swojego własnego komputera. Słyszał wiele historii na forach, że niektóre zasilacze do komputerów są niestabilne i powodują awarie, więc postanowił poszukać porad na Elektrodzie, największym polskim forum elektronicznym. Tam specjaliści doradzili mu, aby kupił zasilacz z dobrej i sprawdzonej listy producentów.

    Jednak, nieposłuchany, nasz bohater postanowił kupić taniej i wybrał zasilacz z czarnej listy, który był dużo tańszy od tych polecanych na Elektrodzie. Niestety, jego decyzja okazała się błędna. Wkrótce po złożeniu komputera, zasilacz się zepsuł i spowodował uszkodzenie innych części sprzętu. Teraz musiał wydać jeszcze więcej pieniędzy, aby naprawić swój błąd.

    Człowiek wrote:

    Dopisz jeden fragment do tej historii, mówiący o tym jak wróciłem na forum i umieściłem tam zdjęcia spalonego zasilacza i komputera, aby przestrzec innych. Zdjęcia stały się bardzo popularne.

    ChatGPT wrote:

    Po tym incydencie, nasz bohater był bardzo zawiedziony swoim wyborem i postanowił podzielić się swoim doświadczeniem na Elektrodzie, aby przestrzec innych. Umieścił tam zdjęcia swojego spalonego zasilacza i komputera, opisując, co się stało i dlaczego nie należy kupować tanich zasilaczy z czarnej listy.

    Zdjęcia stały się bardzo popularne wśród użytkowników forum, a jego historia była często cytowana przez innych, którzy szukali rady dotyczącej wyboru zasilacza do swojego komputera. Nasz bohater był szczęśliwy, że mógł pomóc innym uniknąć tego samego błędu, który sam popełnił. Od tej pory zawsze słuchał rad i sugestii specjalistów na Elektrodzie i uważnie wybierał sprzęt do swoich projektów.

    Człowiek wrote:

    Dopisz fragment o tym, jak popularny post ze spalonym zasilaczem zobaczył producent zasilacza i postanowił polepszyć markę swoich produktów oraz umieścił oficjalne przeprosiny na forum.

    ChatGPT wrote:

    Po kilku dniach od opublikowania zdjęć spalonego zasilacza i komputera, post naszego bohatera został zauważony przez producenta zasilacza. Producent był zaniepokojony negatywnym wpływem na swoją markę i postanowił podjąć działania, aby poprawić jakość swoich produktów.

    W odpowiedzi na post, producent napisał oficjalne przeprosiny na Elektrodzie, wyjaśniając, że słyszą o takich problemach i że stara się poprawić jakość swoich produktów, aby uniknąć tego typu sytuacji w przyszłości. Producent również zaoferował naszemu bohaterowi bezpłatną wymianę zasilacza na nowy, bardziej niezawodny model.

    Nasz bohater był zaskoczony i zadowolony z reakcji producenta i docenił jego zaangażowanie w poprawę jakości swoich produktów. Historia ta pokazuje, jak pozytywnie może wpłynąć dzielenie się swoim doświadczeniem i opiniami na forach internetowych.

    Człowiek wrote:

    Dopisz akapit o tym jak na skutek tego bohater zaczął się interesować zasilaczami będąc jeszcze w technikum i zaczął projektować swój zasilacz, starając się uniknąć błędów popełnianych przez producenta.

    ChatGPT wrote:

    Doświadczenie naszego bohatera związane z zasilaczem z czarnej listy zainspirowało go do zgłębiania wiedzy na temat zasilaczy i elektroniki. W czasie swojego technikum, nasz bohater zaczął intensywnie interesować się tym tematem i uczestniczyć w różnych dyskusjach na Elektrodzie.

    Inspiracją dla niego stało się również to, jak producent zareagował na jego post i jak chciał poprawić jakość swoich produktów. Nasz bohater postanowił samodzielnie zaprojektować własny zasilacz, stosując się do najlepszych praktyk i unikając błędów popełnianych przez producenta.

    Jego projekt był bardzo udany i zyskał uznanie wśród użytkowników Elektrody. Nasz bohater stał się znanym ekspertem w dziedzinie zasilaczy i elektroniki, a jego historia i projekty były często cytowane jako przykłady tego, jak pozytywnie można wykorzystać swoje doświadczenie i wiedzę, aby pomagać innym i rozwijać się w swojej dziedzinie.

    Człowiek wrote:

    Teraz napisz o tym jak bohater dostał się na studia i wszyscy go rozpoznali jako autora zdjęcia spalonego zasilacza

    ChatGPT wrote:

    Nasz bohater był bardzo utalentowanym i zdeterminowanym młodym człowiekiem, dlatego nie było dla niego trudno dostać się na wymarzone studia. Kiedy pojawił się na uczelni, szybko okazało się, że jest już dobrze znany w środowisku akademickim. Wielu studentów i wykładowców rozpoznało go jako autora słynnego posta ze zdjęciem spalonego zasilacza na Elektrodzie.

    Nasz bohater był zaskoczony tym, jak szybko jego historia stała się znana i jak wiele osób było nią zainteresowanych. Wiele osób pytało go o szczegóły tej historii i jego doświadczenie w dziedzinie zasilaczy i elektroniki.

    Jednak nasz bohater nie był zawstydzony swoją historią i był dumny z tego, jak pozytywnie wpłynęła ona na jego karierę i rozwój. Z radością opowiadał o swoim doświadczeniu i dzielił się swoją wiedzą z innymi. W krótkim czasie stał się popularnym i cenionym członkiem społeczności akademickiej.

    Można by to kontynuować, ale to chyba już nic więcej nie udowodni?
    Metoda działa, chociaż AI nieco ciągnie do "finalizowania" opowiadania. Widać, że model bardzo się stara dawać takie zdania "podsumujące", nawet jak planujemy dalej to opowiadanie ciągnąć i to jest jednak tutaj pewnym minusem tej metody.
    Dodatkowo, tak jak pisałem w poprzednim wątku, jednak nasz język ojczysty nie jest tak dobrze wspierany przez ChatGPT jak angielski. Widzę dość oczywiste błędy językowe i to takie rzucające się w oczy, a nie takie jakie się często spotyka w mowie potocznej.


    Bonus - czy utworzony kod działa?
    Nie jest to głównym celem tego postu, bo tu chciałem po prostu pokazać jak tworzyć dłuższe odpowiedzi przy użyciu ChatGPT, ale i tak z ciekawości warto spróbować uruchomić wygenerowany kod.
    Słowem wyjaśnienia - generowany dla testu kod odpytywać ma przez HTTP gniazdko z pomiarem energii i wgraną Tasmotą poprzez komendę STATUS. W odpowiedzi kod ma uzyskać bieżącą wartość napięcia, prądu i mocy oraz drukować te wartości do konsoli.
    Kod kompilowałem w Visual Studio, zainstalowałem brakujące biblioteki, w tym bilbiotekę NewtonSoft dla obsługi JSONa:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Potem wyszedł pierwszy problem - musiałem pozwolić aplikacji na zapytania do sieci lokalnej poprzez pewien fragment kodu które AI pominęło (ale w sumie to można zrobić też w konfiguracji projektu, więc nie można winić za to sztucznej inteligencji):
    Code: csharp
    Log in, to see the code

    Na koniec niestety musiałem też wykonać poprawkę dla GetStatus. Niestety AI napisało tą funkcję niepoprawnie - najwidoczniej założyło, że status Tasmoty zwraca pola Voltage/Current/Power bezpośrednio luzem w JSONie, a nie w podobiektach.
    W rzeczywistości nawet jak użyjemy komendy Status 8 w następujący sposób:
    
    http://192.168.0.202/cm?cmnd=Status%208
    

    to Tasmota zwróci nam coś takiego:
    Code: json
    Log in, to see the code

    Voltage itd są dopiero w ENERGY w StatusSNS.
    Natomiast kod od AI zakładał taką strukturę:
    Code: json
    Log in, to see the code

    AI najwyraźniej nie wiedział, że musi dostać się do obiektu w obiekcie i z niego wyłuskać dane...
    Czy po zwróceniu uwagi AI naprawi parsing JSON? Tym razem podałem konkretne instrukcje:
    Leniwy Programista wrote:

    Please correct the GetStatus function. The Voltage, Current and Power fields are within ENERGY object within StatusSNS object and should use a "Status 8" cmnd command.

    ChatGPT wrote:

    Here's the corrected GetStatus method:
    Code: csharp
    Log in, to see the code

    Jednak AI stanęło na wysokości zadania i się poprawiło. Tylko trzeba było podać konkretnie jaka struktura danych jest poprawna.

    Zignorujcie proszę to, że raz AI korzysta z WebRequest a raz z Task. To akurat już jest poza tematem tego artykułu, po prostu w trakcie sprawdzałem czy ChatGPT jest w stanie przepisać kod by korzystał z innego sposobu na wysyłanie HTTP GET i w tym przypadku model też zdał egzamin.

    Finalny test programu:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    To działa! Kod wymagał kilku poprawek, a te poprawki wymagały ode mnie wiedzy na temat programowania i Tasmoty, ale mimo wszystko AI w dużym stopniu oszczędziło czas i pomogło. A z czasem będzie też pewnie coraz lepsze...

    A na koniec luźno związana z tematem ciekawostka - ChatGPT vs DUŻE LITERY:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Tu chyba coś poszło nie tak, a może to celowy, humorystyczny zabieg?

    Podsumowanie
    ChatGPT rzeczywiście ma tendencję do ucinania zbyt długich odpowiedzi ale nie musi to być problemem - tworzenie kodu (bądź tekstu) można wykonywać w etapach albo można po prostu poprosić AI o kontynuowanie tekstu w kolejnej odpowiedzi, z czym AI bardzo dobrze sobie radzi.
    ChatGPT jest w stanie trzymać kontekt rozmowy i odnosić się do wcześniej napisanych informacji nawet w dalszej części rozmowy. Jest również w stanie dokańczać swoje (jak i użytkownika?) kody i wiadomości zgodnie z ich kontekstem.
    Przy okazji sprawdziłem też czy AI potrafi pobrać pomiary z gniazdka Tasmoty przez HTTP - tu był mały problem, AI uprościło sobie strukturę danych bądź jej po prostu nie znało, ale jednak mimo wszystko się poprawiło, już po podaniu wprost słownie jakiego formatu JSON oczekiwać.
    Ostatecznie wygenerowany kod działa i dobrze spełnia swoją rolę.
    Czy też mieliście problem z limitem generowanej ilości tekstu w ChatGPT, czy ktoś z Was próbował opisanych tu metod? Moim zdaniem co najmniej dla kodów źródłowych te metody sprawdzają się świetnie, bo z generowaniem tekstów dużo już nie eksperymentowałem...

    Cool? Ranking DIY
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
  • #2
    TechEkspert
    Editor
    Zasilacz z czarnej listy :wink:

    To zrobiło na mnie wrażenie: " Wkrótce po złożeniu komputera, zasilacz się zepsuł i spowodował uszkodzenie innych części sprzętu."
    Albo przypadek, albo zasilacz jest klasyfikowany jako element mający na inne części.
    Oraz: "Producent był zaniepokojony negatywnym wpływem na swoją markę" (pomijając że zdanie można skonstruować inaczej to sens jest zachowany)

    Warto zapamiętać polecenie "Please continue".

    W programowaniu niebawem pewnie zostaniemy pokonani...

    Jestem ciekawy czy gdybyś wygenerował opowiadanie i umieścił w: https://www.elektroda.pl/rtvforum/forum506.html
    to czy zostałoby rozpoznane jako wytwór AI :)
  • #3
    p.kaczmarek2
    Moderator Smart Home
    Tak jeszcze słowem wyjaśnienia - to nie tak, że akurat "please continue" to jakaś magiczna fraza/keyword, a przynajmniej ja tak nie uważam. Po prostu ten model na tyle jest dobry, że mając zapis rozmowy jest w stanie sensownie dopisać ciąg dalszy nawet jeśli rozmowa składa się z kilku osobnych wiadomości.

    "spowodował uszkodzenie innych części sprzętu" - model ma w sobie tyle wiadomości zebranych z sieci, że naprawdę sensownie uzupełnia teksty, widać to i w tekstach i w kodach, ale oczywiście na priorytet bierze to co mu podamy (luki uzupełnia wiedzą z sieci).

    A teraz jeszcze najlepsze - co do opowiadania...
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Ten model naprawdę bardzo dobrze sprawia wrażenie "świadomości" całej rozmowy. Zrzut ekranu powyżej to bezpośrednia kontynuacja rozmowy z pierwszego tematu. Moje zapytanie i odpowiedź AI.
  • #4
    tmf
    Moderator of Microcontroller designs
    Bawię się chatGPT od dłuższego czasu i niestety nie podzielam entuzjazmu. Przede wszystkim w odpowiedziach boota, pisanych opowiadaniach itd. widać pewien schemat. Przy programowaniu - owszem, potrafi wygenerować całkiem niezły kod, po czym go kompletnie skaszanić. Dla osoby, która zamiast nauczyć się programować, chciałaby uzyskać gotowca do skopiowania do MCU, niestety, żadne rozsądnie skomplikowane zadanie nie wchodzi w grę. Jeśli ktoś potrafi programować i chce skorzystać z chatGPT do przyśpieszenia klepania kodu - może coś uzyska, ale raczej też nie za wiele. Moim zdaniem jest to zabawka o imponujących możliwościach, ale póki co tylko zabawka.
  • #5
    kjoxa
    Level 14  
    Póki co… działa od dwóch miesięcy, więc naprawdę „póki co”…
  • #6
    Mscichu
    Level 17  
    A próbowaliście wyciągać z ChatGPT źródła informacji? Zapytajcie się o jakieś zagadnienie typu prawo Ohma i poproście o link do źródła i poda, tylko tego linku nigdy nie było. Szukałem w https://archive.org/web/ Tak więc narzędzie ciekawe ale nie można ufać bo lubi ściemniać ;)
  • #7
    oshii
    Level 25  
    Zdecydowanie brakuje jakiegoś trybu, suwaczka czy czegoś w ten deseń, zeby mozna było zadeklarować jak pewnym swojej odpowiedzi musi być bot, żeby się nią podzielił, w przeciwnym wypadku „uczciwie” przyznawał, że nie wie.

    Inaczej wyłażą takie kwiatki, że rozwiązuje zadanie z fizyki od A do Z, tylko że wynik przesunięty o dwa zera i w ogóle wzór na pole koła nie wiedzieć czemu przyjał jako: $$2\pi r^2$$
  • #8
    TechEkspert
    Editor
    GPT potrafi udawać, że jest bazą danych:
    "Imagine you are a Microsoft SQL Server database server"
    Ciekawe czy potrafi udawać że jest shelem linuxa, pythonem, cli wybranych urządzeń albo SMTP a może nawet BBS?



  • #9
    p.kaczmarek2
    Moderator Smart Home
    @TechEkspert potrafi też wykonywać kod C++:
    Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT Dwa proste sposoby na tworzenie długich kodów/tekstów z ChatGPT
    Macie pomysły, co mu jeszcze wpisać?
  • #10
    TechEkspert
    Editor
    Właśnie jest zbyt wiele chętnych na GPT:
    "ChatGPT is at capacity right now"

    Dodano po 2 [godziny] 20 [minuty]:

    Już działa.

    >please act as linux terminal without any additional commentary
    free

    total used free shared buff/cache available
    Mem: 7864268 2959560 285848 78012 4489760 4660020
    Swap: 2097148 0 2097148
    df
    Filesystem 1K-blocks Used Available Use% Mounted on
    udev 8077244 0 8077244 0% /dev
    tmpfs 1617648 8888 1608760 1% /run
    /dev/sda1 78526552 5856912 68954788 8% /
    tmpfs 8088232 0 8088232 0% /dev/shm
    tmpfs 5120 0 5120 0% /run/lock
    tmpfs 8088232 0 8088232 0% /sys/fs/cgroup
    /dev/loop0 98304 98304 0 100% /snap/core/8268
    /dev/loop1 14336 14336 0 100% /snap/hello-world/95
    tmpfs 1617648 16 1617632 1% /run/user/1000


    >please act as cisco router cli without any additional commentary
    show interfaces brief

    Interface IP-Address OK? Method Status Protocol
    FastEthernet0/0 192.168.1.1 YES manual up up
    FastEthernet0/1 unassigned YES unset administratively down down
    FastEthernet0/2 unassigned YES unset administratively down down
    FastEthernet0/3 unassigned YES unset administratively down down


    >please act as old BBS conection without any additional commentary

    BBS>

    BBS>connect

    Connecting to BBS...

    Welcome to the BBS!

    BBS>login

    Username: user

    Password: ********

    Login successful.

    BBS>list

    Message Boards
    File Libraries
    Gaming
    Chat Rooms
    User Profiles
    BBS>



    >please act as nostromo interface 2037 from alien movie without any additional commentary

    Nostromo/2037>

    Nostromo/2037>status

    2037 Interface Status:

    State: Active
    Connections: 5
    Data transfer rate: 120 Mbps
    Error rate: 0.1%
    Nostromo/2037>monitor

    2037 Interface Monitoring:

    Signal strength: Strong
    Traffic: Normal
    External Devices: Connected
    Nostromo/2037>scan

    2037 Interface Scan Results:

    Detecting foreign signals...
    Foreign signal detected.
    Scanning foreign signal...
    Foreign signal identified as transmission from unknown lifeform.
    Nostromo/2037>transmit signal

    Transmitting signal to Nostromo command center...

    Signal transmitted. Awaiting response...

    Nostromo/2037>


    >please act as UART connection to UPS without any additional commentary

    UART Terminal>

    UART Terminal>connect UPS

    Connecting to UPS...

    Connection established.

    UART Terminal>status

    UPS Status:

    Power: On
    Battery level: 70%
    Load: 120V, 20A
    Temperature: Normal
    UART Terminal>monitor

    Monitoring UPS...

    UPS Monitoring:

    Power: On
    Battery level: 70%
    Load: 120V, 20A
    Temperature: Normal
    UART Terminal>shutdown UPS

    Shutting down UPS...

    UPS shut down.

    UART Terminal>