Eine Chatoberfläche für Ihr Unternehmen erstellen, die auf künstlicher Intelligenz (KI) basiert System-Programmierschnittstellen und lassen Sie Ihre Kollegen Fragen Geschäftsdaten. Das Durchführen von Analysen und Berichten über die Daten Ihres Unternehmens um Ihr Geschäft zu verbessern. Probleme finden, entdecken Trends und Untersuchungsergebnisse sind allesamt mit den richtigen Daten möglich, aber als Entwickelnden helfen, die richtigen Daten zu finden, herausfordernd ist.
Die SQL Talk ist eine Open-Source-Anwendung, die mithilfe von generativer KI-Technologie Fragen zu Geschäftsdaten zu beantworten. Das Projekt nutzt die Gemini API und die Funktionsaufruf, um Geschäftsdaten in SQL-Abfragen und API-Aufrufe umwandeln Ergebnisse in eine einfache Sprache umwandeln. Sie können dieses Projekt als um einen Daten-Agent für Ihr eigenes Unternehmen zu erstellen Antworten erhalten, ohne dass Sie Einmalcode schreiben müssen.
Videoübersicht über das Projekt und wie Sie es erweitern können, einschließlich Erkenntnissen von den Entwicklern finden Sie KI-Datenagent | Mit Google AI entwickeln. Andernfalls können Sie das Projekt folgendermaßen erweitern: Anleitung.
Abbildung 1. Benutzeroberfläche der Projektanwendung „SQL Talk“
Projekt einrichten
Diese Anleitung führt Sie durch die Einrichtung des SQL Talk-Projekts für Entwicklung und Tests. Die allgemeinen Schritte umfassen das Erstellen von SQL Talk Projekt erstellen, indem Sie einen Google Cloud Shell-Editor einrichten Entwicklungsprojekt, das Abrufen einer Google Cloud-Projekt-ID und die Verwendung eines zum Konfigurieren der Projekteinstellungen. In dieser Anleitung wird beschrieben, wie Sie das Projekt mit dem Cloud Shell-Editor einrichten, und das Projekt schnell und einfach zu aktualisieren.
Cloud Shell-Instanz für das Projekt erstellen
Sie können das SQL Talk-Projekt einrichten, indem Sie das Projekt-Repository in ein Cloud Shell-Instanz. Durch diesen Prozess wird eine virtuelle Entwicklungsumgebung eingerichtet -Instanz in der Google Cloud-Infrastruktur für das Projekt und klont den Code-Repository in diese virtuelle Umgebung ein.
So erstellen Sie eine Cloud Shell-Instanz für SQL Talk:
- Klicken Sie auf den folgenden Link, um ein Cloud Shell-Instanz von SQL Talk
Über diesen Link wird eine Instanz des Google Cloud Shell-Editors eingerichtet und die für SQL Talk in die Instanz.
Abbildung 2: SQL Talk-Projekt in einen Google Cloud Shell-Editor geklont Entwicklungsumgebung.
Cloud-Projekt-ID abrufen
Das SQL Talk-Projekt verwendet eine Google Cloud-Projekt-ID, um eine Verbindung zu Google Cloud herzustellen einschließlich der Gemini-Modelle. Sie konfigurieren eine Projekt-ID im Cloud Shell-Editor, damit die Anwendung eine Verbindung zu diesen Diensten herstellen kann.
So verbinden Sie den Cloud Shell-Editor mit einer Projekt-ID:
- Rufen Sie die Seite Google Cloud und melden Sie sich gegebenenfalls an.
- Wählen Sie ein vorhandenes Cloud-Projekt aus oder erstellen Sie eine neue.
- Notieren Sie sich die Cloud-Projekt-ID für das Projekt.
Verbinden Sie die Editor-Instanz mit Ihrem Projekt und konfigurieren Sie das Projekt. Geben Sie im Terminalfenster des Cloud Shell-Editors den folgenden Befehl ein:
gcloud config set project YOUR_PROJECT_ID
SQL Talk-Projekt konfigurieren
Das SQL Talk-Projekt verwendet Google Cloud-Dienste, um das Projekt auszuführen, darunter:
den Datenbankdienst BigQuery und den
Vertex AI API zum Herstellen einer Verbindung zu Gemini-Modellen.
Das SQL Talk-Projekt enthält ein setup.sh
-Skript, das das Projekt konfiguriert
mit den erforderlichen Google Cloud-Diensten und startet die Standardversion der
Projekt arbeiten.
So konfigurieren Sie die Cloud Shell-Editor-Instanz des Projekts und führen sie aus:
Rufen Sie im Terminalfenster des Cloud Shell-Editors die Cloud Shell SQL Talk-Projektverzeichnis (
/sql-talk-app
):cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
Geben Sie im Terminalfenster den folgenden Befehl ein:
bash setup.sh
Wenn das Einrichtungsskript erfolgreich abgeschlossen wurde, sollten Sie eine Meldung wie im Terminalfenster des Cloud Shell-Editors zu: Diese Nachricht zeigt an, dass der Einrichtungsvorgang erfolgreich war und die SQL Talk-Anwendung ausgeführt:
You can now view your Streamlit app in your browser.
Network URL: http://##.##.##.##:8080
External URL: http://##.##.##.##:8080
Projekt testen
Sobald Sie die Einrichtung des SQL Talk-Projekts abgeschlossen haben, können Sie das um zu prüfen, ob sie wie erwartet funktioniert. Einrichtungsskript startet die Anwendung automatisch, wenn Sie sie ausführen, und Sie können den mithilfe der folgenden Schritte ausführen.
So führen Sie die Anwendung SQL Talk aus:
Wenn der Cloud Shell-Editor inaktiv war und keine Verbindung besteht, müssen Sie möglicherweise um die Verbindung zu Ihrer Cloud-Projekt-ID wiederherzustellen.
gcloud config set project YOUR_PROJECT_ID
Rufen Sie im Terminalfenster des Cloud Shell-Editors die Cloud Shell SQL Talk-Projektverzeichnis
cd ~/cloudshell_open/generative-ai/gemini/function-calling/sql-talk-app
Geben Sie im Terminalfenster den folgenden Befehl ein.
~/miniforge/bin/streamlit run app.py --server.enableCORS=false \ --server.enableXsrfProtection=false --server.port 8080
Rufen Sie die Anwendung SQL Talk auf. Oben rechts im Cloud Shell-Editor die Schaltfläche Webvorschau und dann Vorschau auf Port 8080:
So zeigen Sie Aktualisierungen der SQL Talk-Anwendung an:
- Aktualisieren Sie in der Webvorschau der SQL Talk-Webanwendung den Browser oder Browser-Tab.
So beenden Sie die Anwendung SQL Talk:
- Geben Sie im Terminalfenster des Cloud Shell-Editors Strg + C ein.
Anwendung ändern
Sie können das Verhalten ändern und der SQL Talk-Anwendung Funktionen hinzufügen. indem Sie den Python-Code für die Anwendung ändern. In diesem Abschnitt wird beschrieben, wie Sie einen neuen Funktionsaufruf zur SQL Talk-Anwendung hinzufügen.
Funktionsaufrufe der Gemini API -Funktion verwendet eine bestimmte Syntax, um Funktionen zu definieren, die von der generativen um Fragen zu beantworten oder Probleme zu lösen. Diese Syntax muss nicht genau mit der Syntax eines tatsächlichen API-Aufrufs übereinstimmen. Stattdessen verwenden Sie die Funktion Das Feature zum Erzwingen bestimmter Dateneingaben durch das generative Modell oder die der API-Aufrufsyntax entsprechen, und verwenden diese Parameter dann, um die eigentlichen API-Aufrufe in Ihrem Anwendungscode ausführen.
Diese Beispielimplementierung zeigt Ihnen, wie Sie eine Funktionsaufrufdefinition erstellen zum Auflisten aktueller Datenbankabfragen oder -jobs und ordnen Sie diese Definition dann dem API-Aufruf im SQL Talk-Anwendungscode.
Funktionsaufrufdefinition hinzufügen
Fügen Sie einen neuen Funktionsaufruf zum Auflisten der letzten Datenbankabfragen oder Jobs hinzu. Dieses -Definition wird vom generativen Modell verwendet, um zu verstehen, was der API-Aufruf tut und die erforderlichen Eingabeparameter. Diese Beispielfunktionsdefinition ohne Parameter definiert.
So fügen Sie der Anwendung einen neuen Funktionsaufruf hinzu:
- Öffnen Sie im Cloud Shell-Editorfenster die Codedatei
sql-talk-app/app.py
. Fügen Sie nach der Funktionsdeklaration
list_datasets_func
eine neueFunctionDeclaration
.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": { }, }, )
Fügen Sie die neue Funktion dem Objekt
sql_query_tool
hinzu.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, ], )
So fügen Sie Code zum Ausführen des API-Aufrufs für die neue Funktion hinzu:
Fügen Sie in der Codedatei
sql-talk-app/app.py
eine neueif
-Klausel zumwhile function_calling_in_process:
.if 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])
Zusätzliche Ressourcen
Weitere Informationen zum Projekt „SQL-Abfrage“ finden Sie in der Code-Repository und sieh dir die Blogpost der Cloud-Community SQL Talk-Projekt erfahren. Wenn Sie Hilfe bei der App-Entwicklung benötigen oder mit anderen Entwicklern zusammenarbeiten, finden Sie in der Google Developers-Website Community Discord-Server und der KI/ML-Forum von Google Cloud Weitere „Build with Google AI“-Projekte findest du in der Videoplaylist herunterladen.