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?
- Effortless Documentation Comprehension: Code Copilot’s
/readcommand allows you to quickly extract the core content from documentation URLs, converting it into clean, easily understandable text. - 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.
- Skill Development: Elevate your coding skills by learning and adopting industry best practices, enhancing your development proficiency.
- Efficient Debugging: Leverage AI-driven insights for rapid identification and resolution of bugs, streamlining the debugging process.
- Performance Optimization: Implement effective strategies to boost your code’s performance, ensuring faster, more efficient applications.
- Collaboration Enhancement: Foster better teamwork through improved code readability and maintainability, making collaborative projects smoother and more productive.
Features
- User-Friendly: Simply pose any programming-related question.
- Divide and Conquer: Breaks down complex problems into smaller, more manageable tasks.
- Debugging: Efficiently identifies and resolves code bugs.
- Commands:
- Use
/quick_fixfor quick code fixes. For example/quick_fix git rebase accept the remote changes package-lock.json. - Use
/fix,/explain,/reviewfor in-depth code debugging and analysis. - Utilize
/searchto find documentation or resolve issues. - Use
/read(/rfor shortcuts) to let the AI read the core content from a URL for you, which is especially useful for dev docs, articles, and more. - Access additional features like
/start,/helpfor enhanced interaction.
- Use
Examples
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:
-
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.
-
Python-Skript vorbereiten:
- Schreiben Sie ein Python-Skript, das Firestore-Operationen ausführt.
- Installieren Sie die erforderlichen Bibliotheken, wie
google-cloud-firestore.
-
Compute Engine-Instanz einrichten:
- SSH-Zugriff auf die Instanz einrichten.
- Python und notwendige Bibliotheken auf der Instanz installieren.
-
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.
-
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
- Gehen Sie zur Google Cloud Console.
- Erstellen Sie ein neues Projekt oder wählen Sie ein bestehendes Projekt aus.
- Aktivieren Sie die Compute Engine und Firestore APIs unter
APIs & Services > Library.
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
- Erstellen Sie eine Compute Engine-Instanz in der Google Cloud Console.
- SSH-Zugriff einrichten:
gcloud compute ssh instance-name --zone zone-name.
4. Service Account einrichten
- Erstellen Sie einen Service Account mit den entsprechenden Berechtigungen für Firestore in der Google Cloud Console unter
IAM & Admin > Service Accounts. - Laden Sie die JSON-Schlüsseldatei des Service Accounts herunter.
- Übertragen Sie die JSON-Schlüsseldatei auf die Compute Engine-Instanz (z.B. mittels
scp).
5. Skript auf der Instanz ausführen
- Installieren Sie Python und notwendige Bibliotheken auf der Instanz:
sudo apt update
sudo apt install python3-pip
pip3 install google-cloud-firestore
- Übertragen Sie das Python-Skript auf die Instanz (z.B. mittels
scp). - Führen Sie das Skript auf der Instanz aus:
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)
- Diese Flask-Anwendung auf der Compute Engine-Instanz ausführen:
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
- Google Cloud-Projekt einrichten und Compute Engine-Instanz erstellen.
- Python-Skript für Firestore-Operationen vorbereiten.
- Compute Engine-Instanz einrichten und notwendige Software installieren.
- Service Account einrichten und Schlüsseldatei übertragen.
- Flask-API einrichten und auf der Instanz ausführen.
- 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…