Repozytorium z kodem źródłowym z webinaru Hiperpersonalizacja AI, czyli GPT-4 dopasowane do Ciebie Nagranie ze spotkania dostępne jest tutaj: https://www.youtube.com/watch?v=fgGrGF18ah8
Szkolenie AI Devs #2 zaczynamy 23 października. Dołącz do nas na https://aidevs.pl
- Kod źródłowy jest przeznaczony wyłącznie do celów edukacyjnych. Nie należy go używać w środowisku produkcyjnym.
- Kod nie jest zoptymalizowany do pracy z dużymi zestawami danych.
- 🚨🚨 WAŻNE 🚨🚨 Przed uruchomieniem kodu, ustaw twardy limit $ na swoim koncie https://platform.openai.com
- Podczas webinaru kod był uruchamiany z modelem GPT-4 i jest to rekomendowany model do realizowania takich zadań. Jeśli nie posiadasz do niego dostępu, możesz zmienić model z gpt-4-0613 na gpt-3.5-turbo-0613, jednak precyzja aplikacji znacznie spadnie
- Pobierz repozytorium na swój komputer
- Zmień nazwę pliku .env.example na .env
- Dodaj swój klucz OpenAI API do pliku .env
- Dodaj swój klucz Todoist API do pliku .env
- Dodaj dowolny klucz API chroniący aplikację (może to być dowolny ciąg znaków) do pliku .env
- Zainstaluj zależności poleceniem
bun install
- Uruchom kod poleceniem
bun start
- Serwer uruchomi się na porcie 3000
- Wykonaj zapytanie CURL według poniższego przykładu, aby przetestować działanie aplikacji
- Usunąłem z aplikacji obsługę notatek Notion, zostawiłem jednak schematy funkcji oraz przykładowe zapytanie do scenariusza make.com
W pliku memory.md zapisane jest kilka wspomnień na mój temat. Jeśli chcesz je zmodyfikować lub dodać własne, możesz to zrobić, ale pamię†aj o usunięciu pliku memory.index z katalogu "store". Wówczas przy pierwszym uruchomieniu aplikacji, indeks utworzy się ponownie.
UWAGA: Na potrzeby testów unikaj dodawania dużych ilości danych do tego pliku, a ich poszczególne fragmenty oddzielaj pustą linią.
Po uruchomieniu serwera według powyższych instrukcji wykonaj poniższe polecenie, aby przetestować działanie aplikacji. Pamiętaj, aby w nagłówku Authorization podać swój klucz API (czyli dowolny ciąg znaków, z pliku .env).
Jeśli ustawisz jako zapytanie "polecenie dodania zadania do Todoist", to aplikacja zrobi to, pod warunkiem że Twój klucz API Todoist jest prawidłowy.
curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer API_KEY" -d '{"query":"Who is Adam?"}' localhost:3000
Ten krok jest opcjonalny i nie jest wymagany do uruchomienia aplikacji. Pozwala jednak na podłączenie jej do Slacka, w tym także obsługę wiadomości głosowych. Logika integracji Slack oraz wiadomości głosowych została stworzona w make.com (potrzebujesz podstaw jego obsługi, aby przejść przez poniższe kroki). Aby ją odwzorować, potrzebujesz:
- Konto w make.com i Slack
- Utworzyć nowy scenariusz automatyzacji w make.com
- Zaimportować ten schemat (blueprint) — Pobierz
- Zalogować się na konto Slack
- 🚨 WAŻNE: Pomiędzy pierwszym modułem "New Message" a "Router" znajduje się filtr, na który należy kliknąć i ustawić w nim warunki sprawdzające, czy wiadomość pochodzi od naszego bota (można to zrobić na podstawie identyfikatora). Jest to konieczne, aby uniknąć ciągłego wysyłania wiadomości.
- W module "Message JSON" należy utworzyć nową strukturę danych. Można ją utworzyć z pomocą generatora, w którym można wpisać obiekt JSON: {"query":"..."}
- W module HTTP Request należy ustawić adres naszego serwera VPS oraz klucz API podany w pliku .env
Wskazówka: nie musisz konfigurować serwera, aby skorzystać w make.com ze swojej aplikacji. Na potrzeby testów, możesz skorzystać z bezpłatnego planu https://ngrok.com z pomocą którego udostępnisz serwer działający na localhost:3000 publicznie. Wystarczy polecenie:
ngrok http localhost:3000
Wygenerowany adres URL możesz wpisać w module "Ask AI" w make.com.
Więcej na temat pracy z dużymi modelami językowymi i łączenia ich z kodem, znajdziesz w drugiej edycji AI_Devs. Dołącz do nas na https://aidevs.pl