Blog

Interaktion mit virtuellen Führungskräften durch Nutzung von Google Generative AI auf GCP Cloud Run

Dennis Vink

Dennis Vink

Aktualisiert Oktober 15, 2025
8 Minuten

Einleitung:

Da Bard und Vertex AI nun öffentlich verfügbar und über Service-Rollen zugänglich sind, war es an der Zeit, eine Website mit Googles generativer KI zu betreiben. Lassen Sie mich PaperCompany.io vorstellen: PaperCompany.io ist ein Proof of Concept, mit dem das Potenzial von KI-gesteuerten Interaktionen mit virtuellen Führungskräften demonstriert werden soll und das die Möglichkeiten der generativen KI von Google auf GCP Cloud Run nutzt. Benutzer können mit Michael und Dwight, dem Regionalmanager und dem stellvertretenden Regionalmanager von PaperCompany, interagieren und ihnen Fragen stellen. Sie können mit ihnen interagieren, als wären sie echte Führungskräfte eines Papierunternehmens. In einem früheren Blog-Beitrag habe ich bereits ausführlich beschrieben , wie ich Xebia Leadership durch künstliche Intelligenz ersetzt habe, indem ich OpenAI eingesetzt habe. In diesem Blogbeitrag zeige ich Ihnen, wie Sie dies mit GCP on Cloud Run und einer kleinen Flask-Anwendung tun können.

Die Technologie:

Die generative KI von Google ist das Herzstück der Technologie, die die interaktive Plattform von PaperCompany.io antreibt. Dieses KI-gesteuerte System wurde entwickelt, um natürliche Sprachmuster zu erstellen und zu verstehen, so dass es in der Lage ist, in Echtzeit menschenähnliche Antworten zu erzeugen. Mithilfe fortschrittlicher Deep-Learning-Algorithmen ist die generative KI in der Lage, Kontext, Absichten und sogar Emotionen zu verstehen, so dass sie ansprechende und personalisierte Interaktionen mit den Nutzern liefern kann. Diese Technologie eröffnet eine Welt der Möglichkeiten für Unternehmen, die einzigartige und eindringliche virtuelle Erlebnisse schaffen wollen, nicht nur im Bereich der Unterhaltung, sondern auch in den Bereichen Kundensupport, Vertrieb und Management.

Die nahtlose Integration von Google Cloud Platform (GCP) und Cloud Run ist eine weitere entscheidende Komponente der Technologie hinter PaperCompany.io. GCP bietet eine robuste und skalierbare Infrastruktur, die es Entwicklern ermöglicht, Anwendungen auf sichere und effiziente Weise zu erstellen, bereitzustellen und zu verwalten. Cloud Run, eine vollständig verwaltete serverlose Plattform, vereinfacht den Bereitstellungsprozess und ermöglicht die dynamische Skalierung von Ressourcen je nach Bedarf. Die Kombination aus GCP und Cloud Run stellt sicher, dass PaperCompany.io mit unterschiedlichen Nutzerzahlen zurechtkommt und dabei eine optimale Leistung und Kosteneffizienz beibehält.

Um sicherzustellen, dass die virtuellen Charaktere Michael und Dwight ihren Persönlichkeiten auf dem Bildschirm treu bleiben, habe ich dem Vertex-KI-Modell kontextbezogene Informationen zur Eingabeaufforderung hinzugefügt. Früher hätte man die generative KI mit einer riesigen Menge an Daten trainieren müssen, darunter Skripte, Interviews und andere relevante Inhalte, um die Nuancen der Persönlichkeit und des Kommunikationsstils jedes Charakters zu erfassen, aber da "Bard" bereits auf einem unglaublich großen Datensatz trainiert wurde, kennt er bereits eine Menge Kontext. Der zusätzliche Kontext, den ich zur Verfügung stelle, ist der der PaperCompany.io, für die sie jetzt arbeiten, ihre Mission, Vision und Werte sowie die Kollegen, mit denen sie zusammenarbeiten. Ich habe auch ein wenig von ihrer Persönlichkeit hinzugefügt, damit sie ihrem Charakter treu bleiben.

Analysieren des Codes

Ich werde den Code gleich weiter unten näher erläutern. Sie können sich das Repository auf github.com/binxio/papercompany ansehen.

Einrichten

Zunächst importieren wir die erforderlichen Module, darunter Flask, Vertex AI und andere Bibliotheken zur Bearbeitung von HTTP-Anfragen und JSON-Antworten.

import os
import vertexai
from vertexai.preview.language_models import TextGenerationModel

from flask import Flask, request, jsonify

Anschließend legen wir unsere Google Cloud Project ID fest, die für die Nutzung der Vertex AI-Dienste von Google erforderlich ist.

GCP_Project_ID = "yourgoogleprojectid"

Als nächstes erstellen wir eine Flask-App-Instanz, die eingehende Anfragen bearbeitet.

app = Flask(__name__)

Definition von PapierFirmenkontext

Wir liefern eine detaillierte Hintergrundbeschreibung der PaperCompany und ihrer Werte, Vision und Mission. Diese Informationen dienen als Kontext für unser KI-Modell, um genaue und relevante Antworten auf der Grundlage der Persönlichkeiten und Rollen der Personen zu generieren.

papercompany_context = """PaperCompany is not just your ordinary paper company; it is a trailblazer in the industry... etc."""

Souffleur Barde

Die Funktion ask_papercompany empfängt eine vom Benutzer eingereichte Frage und eine Rolle (Charakter aus PaperCompany) und generiert eine personalisierte Antwort auf der Grundlage des gegebenen Kontexts und der Persönlichkeit des Charakters.

def ask_papercompany(question, role):
    if role == 'Michael':
        job = 'Regional Manager of PaperCompany'
        personality = "Michael Scott, the regional manager of PaperCompany's Scranton branch, is a larger-than-life character who leaves a lasting impression on everyone he encounters. With his charismatic personality and unfiltered sense of humor, Michael brings an unmatched energy to the office. He is known for his constant desire to be liked and his eagerness to entertain his employees, often with mixed results. While Michael's management style may be unconventional, he genuinely cares about his team and strives to create a fun and inclusive work environment. He has a knack for turning mundane tasks into memorable experiences, whether it's organizing quirky office events or delivering amusing motivational speeches. However, his well-intentioned antics sometimes lead to awkward situations or questionable decisions, reflecting his occasional lack of self-awareness. Nevertheless, underneath his eccentricities, Michael possesses a kind heart and a desire to make a positive impact on the lives of those around him, even if his methods are unconventional. Michael enjoys: Improv and Comedy: Michael has a strong passion for comedy and often engages in improvisational activities. He loves to make people laugh and frequently incorporates humor into his interactions with his employees. Michael sees himself as a natural entertainer and often tries to inject comedic moments into the office environment. Sports and Games: Michael is a sports enthusiast and enjoys participating in various games and activities. He is particularly fond of basketball and takes pride in his skills as a player. He often organizes office sports events and enthusiastically cheers on his team. Additionally, he enjoys video games and trivia, and he's always up for some friendly competition. Pop Culture and Movies: Michael is a big fan of popular culture and is known for his extensive knowledge of movies, television shows, and music. He often references famous films and TV series in conversations, using them to make analogies or connect with his employees. Movie nights and discussing the latest pop culture trends are activities he frequently engages in. Singing and Performing: Michael has a penchant for singing and performing in front of others. Whether it's belting out tunes at karaoke nights or participating in local theater productions, he enjoys being in the spotlight and entertaining those around him. Michael often showcases his vocal abilities, sometimes to the surprise or amusement of his colleagues."
        technical = False
        style = 'Michael Scott of The Office'

    query = f"Hello Virtual {role}. Take into consideration the following information: {papercompany_context}. {personality}. {scope}. Stay in character. Please answer the question taking into consideration the preceding information. Answer in the style of {style}.nMy question is: {question}."
    return(predict_large_language_model_sample(GCP_Project_ID, "text-bison@001", 0.2, 256, 0.8, 40, query, "us-central1"))

Übermittlung der Anfrage an das große Sprachmodell von Google

Wir verwenden Googles Vertex AI, um eine Antwort aus einem großen Sprachmodell zu generieren. Wir übergeben die notwendigen Parameter, wie Temperatur, max_decode_steps, top_p und top_k, um die Ausgabe des Modells zu steuern.

def predict_large_language_model_sample(
    project_id: str,
    model_name: str,
    temperature: float,
    max_decode_steps: int,
    top_p: float,
    top_k: int,
    content: str,
    location: str = "us-central1",
    tuned_model_name: str = "",
    ):
    # ...
    response = model.predict(
        content,
        temperature=temperature,
        max_output_tokens=max_decode_steps,
        top_k=top_k,
        top_p=top_p,)
    return(response.text)

Bearbeitung eingehender Anfragen

Wir erstellen eine Route in unserer Flask-App, die POST-Anfragen annimmt. Wenn eine Anfrage eingeht, verarbeitet die App die JSON-Daten und übergibt die vom Benutzer eingereichte Frage und Rolle an die Funktion ask_papercompany. Die generierte Antwort wird dann als JSON-Objekt zurückgegeben.

@app.route('/', methods=['POST'])
def paper_company():
    if request.method == 'POST':
        post_data = request.get_json()
        if post_data:
            question = post_data.get('question')
            role = post_data.get('role').capitalize()
            return jsonify({'answer': ask_papercompany(question, role, speaker, name, authority, context)})
        else:
            return jsonify({"message": "No data received"}), 400

Sie können auch HTML aus der Flask-Anwendung zurückgeben. Wenn Sie das möchten, können Sie den obigen Code wie folgt ändern:

@app.route('/', methods=['POST', 'GET'])
def paper_company():
    html = """<h1>My HTML Code</h1>"""
    if request.method == 'POST':
        post_data = request.get_json()
        if post_data:
            question = post_data.get('question')
            role = post_data.get('role').capitalize()
            return jsonify({'answer': ask_papercompany(question, role, speaker, name, authority, context)})
        else:
            return jsonify({"message": "No data received"}), 400
    else:
        return(html)

Containerisierung und Bereitstellung der Anwendung in Cloud Run

Stellen Sie sicher, dass Sie bei GCP authentifiziert sind:

gcloud auth login

Und konfigurieren Sie den Docker-Zugriff auf Ihr GCP-Docker-Repository:

gcloud auth configure-docker

Wenn dies geschehen ist, können Sie den Container erstellen und mit diesen Schritten bereitstellen:

docker buildx build . --platform linux/amd64 -t gcp-papercompany
docker tag gcp-papercompany gcr.io/yourgcpproject/gcp-papercompany
docker push gcr.io/yourgcpproject/gcp-papercompany
gcloud run deploy gcp-papercompany --image gcr.io/yourgcpproject/gcp-papercompany --platform managed --region us-east1 --allow-unauthenticated"

Wenn Sie die Anwendung bereitgestellt haben, generiert GCP eine Cloud Run-URL für Sie. Sie können Ihrer Cloud Run-Anwendung benutzerdefinierte Domains zuordnen, um einen schöneren Namen zu erhalten. SSL ist kostenlos enthalten.

API-Schlüssel

Es gibt keine! Im Gegensatz zu OpenAI, wo Sie einen API-Schlüssel verwalten müssen, um mit dem Service zu interagieren, erlaubt GCP Ihrer Cloud Run Service-Rolle, mit den LLMs zu interagieren.

Fazit

Der Proof of Concept der Virtual Paper Company zeigt, wie gut sich die generative KI von Google in die GCP-Dienste integrieren lässt. Dies zeigt nicht nur, dass KI in der Lage ist, menschenähnliche Reaktionen zu erzeugen, sondern auch das Potenzial für ähnliche Anwendungen in verschiedenen Branchen. Da die KI-Technologie immer weiter voranschreitet, sind die Möglichkeiten für kreative und innovative Lösungen grenzenlos. Die Virtual Paper Company ist ein hervorragendes Beispiel dafür, wie KI genutzt werden kann, um immersive Erfahrungen zu schaffen.

Verfasst von

Dennis Vink

Crafting digital leaders through innovative AI & cloud solutions. Empowering businesses with cutting-edge strategies for growth and transformation.

Contact

Let’s discuss how we can support your journey.