Bot Matrix/Synapse z integracją chatGPT

Integracja Matrix.org z chatGPT na Dockerach z konfiguracją docker-compose.

Bot Matrix/Synapse z integracją chatGPT
About ChatGPT [source: openai.com] 

Słowem wstępu

Co to chatGPT?

Ostatnio chatGPT zdominował Internet. Wynaleziony przez firme OpenAI komputerowy bot z zastosowaniem sztucznej inteligencji (AI) robi furrorę w sieci. Jedni są pełni podziwu, inni się go boją, a jeszcze inni go wyśmiewają z uwagi na wiele niedoróbek i niedorzecznych jego odpowiedzi. To pierwszy tego typu produkt na świecie i może dlatego działa jeszcze jak poniższy humanoid:

0:00
/
mem of the clumsy humanoid [source: FB; author: unknown]

Jednak za kilka lat takie rozwiązania jak chatGPT - oczywiście dopracowane, mogą zastąpić wiele zawodów, w tym programistów, którzy go wynaleźli i go dopracowują. Podobno chatGPT "przeczytał cały Internet", a jego z kompresowana baza wiedzy liczy ponad 800 GB (to informacja nie potwierdzona). Zatrzask jego wiedzy to okolice połowy 2021 roku, dlatego chatGPT nie potrafi odpowiedzieć na bieżące informację - np. jak dzisiejsza pogoda.

Na oficjalnym kanale OpenAI można zapoznać się z możliwościami tego rozwiązania:

Bevor Sie zu YouTube weitergehen
https://www.youtube.com/@OpenAI

Integracja chatGPT 

Jak udało mi się połączyć chatGPT z komunikatorem Matrix.org.

Kilka dni temu udało mi się uruchomić, prawdopodobnie pierwszemu na świecie, integracje Maubot'a (pythonowego bot'a do federacyjnego komunikatora Matrix.org) z chatGPT (bot'a AI firmy OpenAI). Do tego wszystko na Dockerach z konfiguracją docker-compose.

Integracja bazuje na dobudowania obsługi oficjalnej pythonowej biblioteki openai do już istniejącego pluginu maubota "echo" wraz z dodaniem do nowego pluginu konfiguracji zewnętrznej parametrów chatGPT w pliku .yaml.

Wszystko to bazuje na zmodyfikowanym oficjalnym obrazie dockerowym Maubota, który w czasie budowania instaluje dodatkowo bibliotekę openai wraz z wszystkimi zależnościami.

Po zbudowaniu zmodyfikowanego obrazu Maubota należy z kompilować sobie plugin i ustawić odpowiednie zmienne w pliku base-config.yaml, a szczególnie OpenAI APIKEY oraz Matrix ROOMID pokoju do którego chatGPT ma byś dostępny. Następnie uploadować plugin do instancji Maubota.

Aby porozmawiać z chatGPT teraz wystarczy dodać bota Maubot do docelowego pokoju Matrixa i wysyłać mu zapytania poprzez komendę z prefiksem:


```
!gpt <pytanie_do_chatGPT>
```

Poniżej efekt pracy tej integracji:

ChatGPT response on Matrix/Synapse with Maubot plugin.

Kod tego plugin Maubota wraz ze sposobem budowania zmodyfikowanego obrazu dockera, można znaleźć na moim osobistym repozytorium Git, pod poniższym linkiem:

miles/docker-matrixbot-chatgpt
Maubot (Matrix/Synapse Python Bot) plus chatGPT /OpenAI integration with docker-compose.

Uwaga: Powyższy zasób git'a zawiera tylko wycinek całej konfiguracji. Czyli NIE ZAWIERA uruchomienia Matrix.org/Synapse + Maubot + Traefik + Docker-compose. Taki setup może opiszę w kolejnych wpisach, kto wie? :-)

Podsumowanie

Oczywiście OpenAI chce zarobić na swoim wynalazku :-)

Aby korzystać z API chatGPT, należy się zarejestrować na stronie OpenAI podając działający adres e-mail i numer telefonu komórkowego. Na końcu na poniższej stronie generujemy sobie indywidualny klucz API.

OpenAI API
OpenAI is an AI research and deployment company. Our mission is to ensure that artificial general intelligence benefits all of humanity.

W tej chwili OpenAI daje 3 miesięczny trial z 18 dolarami na koncie dla pytań poprzez ich API. Z moich obserwacji każde zapytanie średnio (mocno uzależnione od długości pytań do bota i odpowiedzi bota) kosztuje około 0,05 dolara. Równocześnie firma OpenAI nie pobiera opłat za używanie chatGPT gdy pytamy przez ich klienta webowego. Jednak należy przyjąć że jak firma OpenAI przyzwyczai użytkowników do ich rozwiązania to zacznie monetyzować to rozwiązanie i pobierać opłaty za ten kanał komunikacji również.

Na koniec film, gdy jakaś technologia wychodzi z fazy raczkowania:

Boston Dynamics - Army Humanoids

Enjoy!
//Marcin Milecki