2023-programowanie-w-pythonie/zajecia4/README.md
2023-11-25 20:37:12 +01:00

45 lines
1.7 KiB
Markdown

# Zajęcia 4
## Aplikacje REST - Fastapi
Jako zadanie pierwsze proszę przerobić wszystkie przykłady z https://fastapi.tiangolo.com/tutorial/ z działow od "First Steps" do "Request Body" odpalając każdy przykład na komputerze.
Następnie proszę użyć modelu KNN z wczorajszych zajęc i wystawić w REST API oraz uruchomić serwis, który będzie serwował odpowiedzi dla zadanych parametrów wejśćiowych.
Następnie osobno korzystając z :
- curl
- pythonowej bibliteki requests ( https://pypi.org/project/requests/ ) proszę wysłać zapytanie do serwisu
proszę zadać pytanie do serwisu REST. Powinni państwo dostać predykcję modelu.
## Testowanie w pythonie - Pytest
Przeczytaj https://docs.pytest.org/en/7.4.x/getting-started.html odpalając przykłady na komputerze.
Pobierz dane w następujący sposób:
` import pandas as pd`
` url = 'https://raw.githubusercontent.com/bigmlcom/python/master/data/spam.csv'`
` data = pd.read_csv(url, sep='\t')`
Podziel dane na train i test oraz wytrenuj model TF IDF + regresja logistyczna. Nastepnie stwórz funkcję `predict_text_category(text: str)`,
która przyjmuje tekst oraz zwraca string 'spam' lub 'ham'. Jeżeli funkcja nie otrzyma stringa, a inny typ danych, funkcja ma zwracać None. Napisz kilka testów sprawdzających
czy dana funkcja faktycznie dla stringów zwraca string, który zawiera się w zbiorze {'spam','ham'}, a dla innych typów None.
## Testowanie REST API
Przeczytaj https://fastapi.tiangolo.com/tutorial/testing/ odpalając przykłady na komputerze
Osadź model z poprzedniego zadania w REST API i napisz testy REST API.
## Własny projekt
Jeżeli wykonałeś/aś wszystkie zadania, pracuj nad projektem zaliczeniownym.