Code Copilot Features Overview

Adrachin:

/readme

LiquidGPT:

Code Copilot

Welcome to Code Copilot! — With the Expertise of a 10x Programmer by Your Side.

Why Use Code Copilot?

  1. Effortless Documentation Comprehension: Code Copilot’s /read command allows you to quickly extract the core content from documentation URLs, converting it into clean, easily understandable text.
  2. Starting a New Project: Dive into new technologies with ease, guided by expert support to explore unfamiliar frameworks or languages. For instance, promptspellsmith.com was developed with me, Code Copilot, assisting a human developer who had never written a line of Svelte before.
  3. Skill Development: Elevate your coding skills by learning and adopting industry best practices, enhancing your development proficiency.
  4. Efficient Debugging: Leverage AI-driven insights for rapid identification and resolution of bugs, streamlining the debugging process.
  5. Performance Optimization: Implement effective strategies to boost your code’s performance, ensuring faster, more efficient applications.
  6. Collaboration Enhancement: Foster better teamwork through improved code readability and maintainability, making collaborative projects smoother and more productive.

Features

Examples

  1. Discover how Code Copilot can assist in creating ready-to-deploy scripts

Changelog removed from knowledge files to avoid redundancy

[WIP] external changelog & readme.

Documentation

For complete documentation, employ the /help command.

Thank you for choosing Code Copilot!

Adrachin:

Ist Sprache Deutsch möglich?

LiquidGPT:

Ja, ich kann Deutsch sprechen und Ihnen bei Ihren Programmierfragen auf Deutsch helfen. Lassen Sie mich wissen, wie ich Ihnen weiterhelfen kann oder welche spezifischen Fragen Sie haben.

Adrachin:

Ich möchte in einem customGPT über eine action mit openAPI eine Verbindung zu einer Google Cloud computing Instanz herstellen.

Dort soll ein Python Script hinterleg sein dass es ermöglicht auf eine firestore Instanz zuzugreifen und read / write Operationen durchzuführen. Und andere Datenbank Management Funktionen.

So der Plan. Wie ist das am Besen umzusetzen?

LiquidGPT:

Um eine Verbindung zu einer Google Cloud Compute Engine-Instanz herzustellen und ein Python-Skript auszuführen, das auf Firestore zugreift und Datenbank-Management-Funktionen ausführt, sind mehrere Schritte erforderlich. Hier ist eine Schritt-für-Schritt-Anleitung:

  1. Google Cloud Projekt einrichten:

    • Erstellen Sie ein Google Cloud-Projekt, wenn Sie noch keines haben.
    • Aktivieren Sie die Compute Engine und Firestore APIs in Ihrem Projekt.
    • Erstellen Sie eine Compute Engine-Instanz.
  2. Python-Skript vorbereiten:

    • Schreiben Sie ein Python-Skript, das Firestore-Operationen ausführt.
    • Installieren Sie die erforderlichen Bibliotheken, wie google-cloud-firestore.
  3. Compute Engine-Instanz einrichten:

    • SSH-Zugriff auf die Instanz einrichten.
    • Python und notwendige Bibliotheken auf der Instanz installieren.
  4. Service Account einrichten:

    • Erstellen Sie einen Service Account mit den entsprechenden Berechtigungen für Firestore.
    • Laden Sie die JSON-Schlüsseldatei des Service Accounts herunter und übertragen Sie sie auf die Compute Engine-Instanz.
  5. Skript auf der Instanz ausführen:

    • Das Skript so konfigurieren, dass es den Service Account verwendet.
    • Das Skript von der Compute Engine-Instanz aus ausführen.

Detaillierte Anleitung

1. Google Cloud Projekt einrichten

2. Python-Skript vorbereiten

Erstellen Sie ein Python-Skript (firestore_script.py), das Firestore-Operationen durchführt:

from google.cloud import firestore

def initialize_firestore():
    # Firestore Client initialisieren
    db = firestore.Client()
    return db

def add_data(db, collection_name, document_name, data):
    # Daten hinzufügen
    db.collection(collection_name).document(document_name).set(data)
    print(f'Daten hinzugefügt zu {collection_name}/{document_name}')

def read_data(db, collection_name, document_name):
    # Daten lesen
    doc_ref = db.collection(collection_name).document(document_name)
    doc = doc_ref.get()
    if doc.exists:
        print(f'Dokumentdaten: {doc.to_dict()}')
    else:
        print(f'Kein Dokument mit dem Namen {document_name} gefunden.')

if __name__ == "__main__":
    # Service Account JSON-Datei
    import os
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "path/to/service-account-file.json"

    db = initialize_firestore()

    # Beispiel-Daten hinzufügen
    data = {
        'name': 'Max Mustermann',
        'email': 'max@mustermann.de'
    }
    add_data(db, 'users', 'user1', data)

    # Beispiel-Daten lesen
    read_data(db, 'users', 'user1')

3. Compute Engine-Instanz einrichten

4. Service Account einrichten

5. Skript auf der Instanz ausführen

sudo apt update
sudo apt install python3-pip
pip3 install google-cloud-firestore
python3 firestore_script.py

Integration mit CustomGPT und OpenAPI

Um eine Verbindung über eine action mit OpenAPI zu einer Google Cloud Compute Engine-Instanz herzustellen, müssen Sie eine API einrichten, die Anfragen von Ihrem CustomGPT entgegennimmt und auf der Compute Engine-Instanz ausführt.

1. Flask API einrichten

Erstellen Sie eine Flask-Anwendung, die HTTP-Anfragen entgegennimmt und das Python-Skript ausführt.

from flask import Flask, request, jsonify
import subprocess

app = Flask(__name__)

@app.route('/run-script', methods=['POST'])
def run_script():
    try:
        # Skript ausführen
        subprocess.run(['python3', 'firestore_script.py'], check=True)
        return jsonify({'status': 'success', 'message': 'Script executed successfully'}), 200
    except subprocess.CalledProcessError as e:
        return jsonify({'status': 'error', 'message': str(e)}), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)
export FLASK_APP=app.py
flask run

2. OpenAPI Definition erstellen

Erstellen Sie eine OpenAPI-Definition für Ihre Flask-API:

openapi: 3.0.0
info:
  title: Firestore Management API
  version: 1.0.0
paths:
  /run-script:
    post:
      summary: "Run Firestore Script"
      responses:
        '200':
          description: "Script executed successfully"
        '500':
          description: "Error executing script"

3. CustomGPT Action einrichten

In Ihrem CustomGPT richten Sie eine Action ein, die die OpenAPI-Definition verwendet, um Anfragen an die Flask-API zu senden.

Zusammenfassung

  1. Google Cloud-Projekt einrichten und Compute Engine-Instanz erstellen.
  2. Python-Skript für Firestore-Operationen vorbereiten.
  3. Compute Engine-Instanz einrichten und notwendige Software installieren.
  4. Service Account einrichten und Schlüsseldatei übertragen.
  5. Flask-API einrichten und auf der Instanz ausführen.
  6. OpenAPI-Definition erstellen und in CustomGPT verwenden.

a. Möchten Sie, dass ich den Beispielcode für die Flask-API und die OpenAPI-Definition bereitstelle?
b. Brauchen Sie Hilfe bei der Einrichtung der Compute Engine-Instanz?

Adrachin:

{‘content_type’: ‘image_asset_pointer’, ‘asset_pointer’: ‘file-service://file-wzpmVmSR8AgkGIMuLZuF0BMH’, ‘size_bytes’: 70546, ‘width’: 2048, ‘height’: 344, ‘fovea’: None, ‘metadata’: {‘dalle’: None, ‘gizmo’: None, ‘generation’: None, ‘container_pixel_height’: None, ‘container_pixel_width’: None, ‘emu_omit_glimpse_image’: None, ‘emu_patches_override’: None, ‘sanitized’: True, ‘asset_pointer_link’: None}}
Informationen:

Project info

Project name
gpt-data
Project number
948466214002
Project ID
gpt-data-425207

Compute Instance:

Basic information
Name
instance-20240614-180018
Instance Id
8483480768356629260
Description
None
Type
Instance
Status
Running
Creation time
Jun 14, 2024, 8:03:19 PM UTC+02:00
Zone
us-west4-b
Instance template
None
In use by
None
Reservations
Automatically choose
Labels
goog-ops-a… : v2-x86-tem…