Utwórz dla swojej firmy interfejs czatu oparty na sztucznej inteligencji (AI) z interfejsami programowania systemu i umożliwić współpracownikom zadawanie pytań firmowych baz danych. Analiza i raportowanie danych organizacji jest jest kluczowe dla usprawnienia działalności firmy. Znajdowanie problemów, odkrywanie trendów i badania wyników jest możliwe dzięki odpowiednim danym, programisty, ułatwienie współpracownikom odkrycia właściwych danych jest wymagające.
SQL Talk Project to aplikacja open source, która wykorzystuje technologię generatywnej AI do Odpowiedz na pytania o firmowe bazy danych. Projekt wykorzystuje interfejs Gemini API oraz wywoływanie funkcji do przekształcania pytań dotyczących firmowych baz danych na zapytania SQL i wywołania interfejsu API, przekształcenia wyników z powrotem na zrozumiały język. Możesz użyć tego projektu jako jest to punkt wyjścia do utworzenia agenta danych dla Twojej firmy. uzyskują odpowiedzi bez konieczności pisania całego kodu.
Filmowe omówienie projektu i sposobów jego rozszerzenia, w tym statystyki od osób, które go stworzyły, Agent danych AI | Tworzenie z użyciem AI od Google. Możesz też rozpocząć przedłużanie projektu przy użyciu: za instrukcje.
Rysunek 1. Interfejs użytkownika aplikacji projektu SQL Talk.
Konfigurowanie projektu
Te instrukcje przeprowadzą Cię przez proces konfigurowania projektu SQL Talk programowania i testowania. Ogólne kroki to tworzenie SQL Talk projektu, konfigurując edytor Google Cloud Shell w projekcie, uzyskać identyfikator projektu Google Cloud i za pomocą aby skonfigurować ustawienia projektu. W tych instrukcjach opisano, jak uruchomić projekt za pomocą edytora Cloud Shell, który umożliwia a także na szybkie i wygodne aktualizowanie projektu.
Tworzenie instancji Cloud Shell dla projektu
Aby skonfigurować projekt SQL Talk, sklonuj repozytorium projektu do instancji Cloud Shell. Ten proces konfiguruje wirtualne środowisko programistyczne w infrastrukturze Google Cloud projektu i sklonuje plik w tym środowisku wirtualnym.
Aby utworzyć instancję Cloud Shell dla SQL Talk:
- Kliknij poniższy link, aby utworzyć instancja Cloud Shell SQL Talk,
Ten link umożliwia skonfigurowanie instancji edytora Google Cloud Shell i skopiowanie lub repozytorium SQL Talk.
Rysunek 2. Projekt SQL Talk został skopiowany do edytora Google Cloud Shell w środowisku programistycznym.
Uzyskiwanie identyfikatora projektu Cloud
Projekt SQL Talk korzysta z identyfikatora projektu Google Cloud do łączenia się z Google Cloud usług, w tym modeli Gemini. Konfigurujesz identyfikator projektu w sekcji Edytujący Cloud Shell, aby umożliwić aplikacji łączenie się z tymi usługami.
Aby połączyć edytor Cloud Shell z identyfikatorem projektu:
- Otwórz Google Cloud konsolę i zaloguj się w razie potrzeby.
- Wybierz istniejący projekt Cloud lub utwórz nową.
- Zanotuj identyfikator tego projektu w Google Cloud.
Połącz instancję Edytora z projektem i skonfiguruj projekt. W oknie edytora Cloud Shell w panelu terminala wpisz to polecenie:
gcloud config set project YOUR_PROJECT_ID
Konfigurowanie projektu SQL Talk
Do uruchomienia projektu SQL Talk używane są usługi Google Cloud, w tym
usługę bazy danych BigQuery oraz
Vertex AI API do łączenia się z modelami Gemini.
Projekt SQL Talk zawiera skrypt setup.sh
, który konfiguruje projekt
z wymaganymi usługami Google Cloud i uruchomi domyślną wersję
w projektach AI.
Aby skonfigurować i uruchomić instancję edytora Cloud Shell projektu:
W panelu terminala okna edytora Cloud Shell przejdź do Cloud Katalog projektu powłoki SQL Talk (
/sql-talk-app
):cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
W panelu terminala wpisz to polecenie:
bash setup.sh
Po pomyślnym ukończeniu skryptu konfiguracji powinien wyświetlić się komunikat podobny do poniższego okna w oknie terminala edytora Cloud Shell. Ta wiadomość wskazuje, że proces konfiguracji zakończył się powodzeniem, a aplikacja SQL Talk jest bieg:
You can now view your Streamlit app in your browser.
Network URL: http://##.##.##.##:8080
External URL: http://##.##.##.##:8080
Testowanie projektu
Po zakończeniu konfiguracji projektu SQL Talk możesz przetestować w aplikacji, aby sprawdzić, czy działa zgodnie z oczekiwaniami. Skrypt konfiguracji automatycznie uruchamia aplikację zaraz po jej uruchomieniu. Można ją później uruchomić ponownie. w następujący sposób.
Aby uruchomić aplikację SQL Talk:
Jeśli edytor Cloud Shell był bezczynny i odłączony, może być konieczne aby ponownie połączyć się z identyfikatorem projektu Cloud.
gcloud config set project YOUR_PROJECT_ID
W panelu terminala okna edytora Cloud Shell przejdź do Cloud Katalog projektu powłoki SQL Talk.
cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
W panelu terminala wpisz następujące polecenie:
~/miniforge/bin/streamlit run app.py --server.enableCORS=false \ --server.enableXsrfProtection=false --server.port 8080
Wyświetl aplikację SQL Talk. W prawym górnym rogu edytora Cloud Shell kliknij przycisk Podgląd w przeglądarce, a potem Podejrzyj na porcie 8080.
Aby wyświetlić aktualizacje aplikacji SQL Talk:
- W podglądzie przeglądarki internetowej SQL Talk odśwież przeglądarkę lub kartę przeglądarki.
Aby zatrzymać aplikację SQL Talk:
- W panelu terminala okna edytora Cloud Shell naciśnij Ctrl+C.
Modyfikowanie aplikacji
Możesz zmienić działanie i dodać możliwości do aplikacji SQL Talk modyfikując kod Pythona dla aplikacji. Ta sekcja zawiera informacje na temat dodanie nowego wywołania funkcji do aplikacji SQL Talk.
wywoływanie funkcji interfejsu Gemini API. funkcja używa określonej składni, aby zdefiniować funkcje, które mają być używane przez generatywną do odpowiadania na pytania lub rozwiązywania problemów. Ta składnia nie musi dokładnie pasują do składni rzeczywistego wywołania interfejsu API. Zamiast tego możesz użyć funkcji Wywoływanie funkcji wymuszającej przez model generatywny dostarczanie określonych danych wejściowych lub zgodne ze składnią wywołań interfejsu API, a potem używać ich do wykonywać rzeczywiste wywołania interfejsu API w kodzie aplikacji.
Ta przykładowa implementacja pokazuje, jak utworzyć definicję wywołania funkcji w celu wyświetlenia listy ostatnich zapytań lub zadań do bazy danych, a następnie zmapuj tę definicję rzeczywiste wywołanie API w kodzie aplikacji SQL Talk.
Dodaj definicję wywołania funkcji
Dodaj nowe wywołanie funkcji do wyświetlania listy ostatnich zapytań lub zadań do bazy danych. Ten definicja jest wykorzystywana przez model generatywny do zrozumienia, do czego służy wywołanie interfejsu API i jakich parametrów wejściowych wymaga. Ta przykładowa definicja funkcji to zdefiniowane bez parametrów.
Aby dodać nowe wywołanie funkcji do aplikacji:
- W oknie edytora Cloud Shell otwórz plik z kodem w języku
sql-talk-app/app.py
. Po deklaracji funkcji
list_datasets_func
dodaj nowąFunctionDeclaration
list_jobs_func = FunctionDeclaration( name="list_jobs", description="Get a list of the 10 most recent database requests to help answer the user's question", parameters={ "type": "object", "properties": { }, }, )
Dodaj nową funkcję do obiektu
sql_query_tool
.sql_query_tool = Tool( function_declarations=[ sql_query_func, list_datasets_func, List_jobs_func, # add this new function list_tables_func, get_table_func, ], )
Aby dodać kod uruchamiający wywołanie nowej funkcji interfejsu API:
W pliku kodu
sql-talk-app/app.py
dodaj nową klauzulęif
do sekcjiwhile function_calling_in_process:
pętlaif response.function_call.name == "list_datasets": ... # add this if clause for list_jobs function if response.function_call.name == "list_jobs": api_response = client.list_jobs(max_results=10) # API request(s) api_response = str([job.job_id for job in api_response]) api_requests_and_responses.append( [response.function_call.name,params, api_response])
Dodatkowe materiały
Więcej informacji o projekcie zapytania SQL znajdziesz w repozytorium kodu i przejrzyj Post na blogu społeczności Cloud o projekcie SQL Talk. Jeśli potrzebujesz pomocy przy tworzeniu aplikacji które chcą nawiązać współpracę z innymi programistami, zapoznaj się z artykułem Google Developers Discord oraz Forum Google Cloud AI/ML. Aby dowiedzieć się więcej o projektach Build with Google AI, zapoznaj się z playlisty wideo.