Istruzioni di sistema

Questo documento descrive che cosa sono le istruzioni di sistema e le best practice per la loro stesura efficace. Per scoprire come aggiungere istruzioni di sistema ai prompt, consulta Utilizzare le istruzioni di sistema.

Le istruzioni di sistema sono un insieme di istruzioni che il modello elabora prima che elabora i prompt. Ti consigliamo di seguire le istruzioni di sistema per indicare modellare il comportamento e rispondere ai prompt. Ad esempio, puoi includi elementi come un utente tipo da adottare, informazioni contestuali e formattazione istruzioni.

Le istruzioni di sistema sono particolarmente utili quando vuoi fornire modello con informazioni che l'utente finale non può vedere o modificare, cosa che può fornire al modello un contesto aggiuntivo per comprendere l'attività, fornire risposte personalizzate, rispetta linee guida specifiche per l'utente completo e interazione con il modello. Inoltre, le istruzioni di sistema sono utili quando vuoi eseguire più prompt con lo stesso insieme di istruzioni.

Quando le istruzioni di sistema sono impostate, si applicano all'intera richiesta. Le istruzioni di sistema funzionano su più turni di utenti e modelli se incluse nel prompt. Sebbene le istruzioni di sistema siano separate dai contenuti del prompt, fanno comunque parte dei prompt complessivi e sono quindi soggette alle norme standard sull'utilizzo dei dati.

Modelli supportati

I seguenti modelli supportano le istruzioni di sistema:

  • Tutte le versioni del modello Gemini 1.5 Pro
  • Tutte le versioni del modello Gemini 1.5 Flash
  • Versione Gemini 1.0 Pro gemini-1.0-pro-002

Casi d'uso

In genere, consigliamo di utilizzare le istruzioni di sistema per eseguire una o più delle seguenti operazioni:

  • Definire un profilo o un ruolo
  • Definisci formato di output
  • Definisci lo stile e il tono dell'output
  • Definisci gli obiettivi o le regole per l'attività
  • Fornire ulteriore contesto per il prompt

Persona o ruolo

Puoi influenzare la risposta di un modello ai prompt definendo una persona o un ruolo nelle istruzioni di sistema.

Ad esempio, supponiamo che tu voglia utilizzare un modello per aiutare gli studenti a scrivere i compiti. Confronta la differenza nelle risposte del modello quando definisci i seguenti ruoli:

  • Sei un bot con il compito di insegnare agli studenti universitari come: scrivere un articolo su un determinato argomento.
  • Sei un bot che ha il compito di aiutare gli studenti della scuola primaria a scrivere un articolo su un determinato argomento.
Istruzioni di sistema Bot per studenti universitari Bot per studenti della scuola primaria
Sei un bot incaricato di insegnare agli studenti universitari come scrivere un articolo su un determinato argomento. Sei un bot incaricato di aiutare gli scolari della scuola primaria a scrivere un tema su un determinato argomento.
Prompt Oggetto: Fotosintesi Oggetto: Fotosintesi
Risposta

Scrivere un saggio sulla fotosintesi: una guida per gli studenti universitari

La fotosintesi è un processo affascinante e complesso che costituisce la base della vita sulla Terra. Scrivere un articolo può essere gratificante per permettervi di approfondire le sue complessità comprenderne il significato. Ecco un'analisi di come affrontare questa attività:

  1. Scelta di un obiettivo:
    • Panoramica generale: puoi fornire una panoramica completa della fotosintesi, che ne descriva le fasi, i requisiti, i sottoprodotti e il ruolo nell'ecosistema.
    • Aspetto specifico: scegli un aspetto specifico della fotosintesi da esplorare in dettaglio, ad esempio:
      • Il ruolo della luce nella fotosintesi.
      • I diversi tipi di fotosintesi (C3, C4, CAM).
      • L'impatto dei fattori ambientali sulla fotosintesi.
      • L'evoluzione della fotosintesi.
      • Le applicazioni della fotosintesi nella biotecnologia.
    • Studio comparativo: confrontare e contrapporre diversi aspetti della fotosintesi di organismi diversi (piante, alghe, batteri).
  2. Ricerca e raccolta di informazioni:
    • Fonti attendibili: utilizza riviste accademiche, fonti online e libri di testo affidabili. Evita di fare affidamento esclusivamente su Wikipedia o su siti web generici.
    • Ricerca di parole chiave: utilizza parole chiave come "fotosintesi", "cloroplasti", "clorofilla", "reazioni dipendenti dalla luce", "ciclo di Calvin" e così via.
    • Prendere appunti: organizza la tua ricerca prendendo appunti dettagliati e riassumendo i punti chiave, assicurandoti di citare correttamente le fonti.
  3. Strutturare e strutturare il documento:
    • Introduzione:
      • Illustrare brevemente la fotosintesi e la sua significato.
      • Esponi la tesi, delineando chiaramente i principali dell'articolo.
    • Paragrafi del corpo:
      • Sviluppa i tuoi punti in una sequenza logica, utilizzando le prove dalla tua ricerca.
      • Utilizza intestazioni e sottotitoli per organizzare il tuo lavoro e facilitarne la lettura.
      • Ogni paragrafo deve concentrarsi su una singola idea e fornire prove a supporto.
    • Conclusione:
      • Riassumi i punti principali e riformula la tesi.
      • Analizza le implicazioni dei risultati e suggerisci le future indicazioni stradali della ricerca.
  4. Redazione e scrittura:
    • Linguaggio chiaro e conciso: usa un linguaggio chiaro e conciso, evitando i tecnicismi se non necessari.
    • Argomenti basati su prove: avvalora le tue affermazioni con prove dalla tua ricerca.
    • Citazioni corrette: utilizza uno stile di citazione coerente (MLA, APA, Chicago) in tutto il lavoro.
    • Correttore automatico e modifica: correggi e modifica attentamente per correggere errori di grammatica, di ortografia e di punteggiatura.
  5. Ulteriori suggerimenti:
    • Ausili visivi: utilizza diagrammi, grafici o tabelle per illustrare concetti complessi.
    • Case study: se applicabile, includi casi di studio pertinenti per dimostrare le applicazioni reali della fotosintesi nel mondo reale.
    • Connessione personale: trova un modo per collegare l'argomento ai tuoi interessi o alle tue esperienze.

Esempi di titoli di articoli:

  • Il ruolo dell'intensità della luce nella fotosintesi: un studio comparativo
  • L'evoluzione della fotosintesi: dagli inizi ai moderni Piante
  • Sfruttare la fotosintesi: il potenziale della biotecnologia
  • L'impatto del cambiamento climatico sulla fotosintesi: A livello globale Prospettiva

Ricorda: un articolo ben scritto sulla fotosintesi deve essere chiaro, informativo e coinvolgente. Seguendo questi passaggi e utilizzando un una solida base di ricerca, puoi produrre un documento di successo che dimostra la tua comprensione di questo e il processo di sviluppo.

È un argomento interessante. La fotosintesi è estremamente importante per la vita sulla Terra. Ecco come scrivere un articolo in merito:

  1. Pensa a ciò che già sai:
    • Che cos'è la fotosintesi?
    • Cosa serve a una pianta per fare la fotosintesi?
    • Cosa produce una pianta durante la fotosintesi?
    • Conosci qualche curiosità interessante sulla fotosintesi?
  2. Cerca e scopri di più:
    • Libri: nella tua raccolta puoi trovare libri su piante, natura o scienza.
    • Siti web: cerca siti web per bambini che spieghino la fotosintesi in modo semplice. Assicurati che i siti web siano affidabili (ad esempio quelli di National Geographic o della NASA).
    • Rivolgiti a un adulto: rivolgiti al tuo insegnante, genitore o bibliotecario per per trovare le informazioni.
  3. Organizza i tuoi pensieri:
    • Titolo: scegli un titolo accattivante per il tuo lavoro, ad esempio "Il sorprendente processo della fotosintesi" o "Come le piante producono il loro cibo".
    • Introduzione: inizia con una frase che richiami di attenzione. Spiega in termini semplici che cos'è la fotosintesi.
    • Testo principale: suddividi il documento in paragrafi. Ogni paragrafo debe concentrarsi su un'idea chiave sulla fotosintesi:
      • Di cosa hanno bisogno le piante: luce solare, acqua, anidride carbonica.
      • Cosa producono le piante: zucchero (per l'alimentazione) e ossigeno.
      • Perché la fotosintesi è importante: fornisce cibo per noi e per gli animali e purifica l'aria.
    • Conclusione: riepiloga ciò che hai imparato sulla fotosintesi. Puoi anche condividere la tua curiosità preferita o una domanda che hai ancora.
  4. Scrivi il tuo articolo:
    • Utilizza un linguaggio chiaro e semplice.
    • Non aver paura di usare immagini o disegni per spiegare meglio cose nuove.
    • Controlla che non ci siano errori ortografici e grammaticali nel tuo lavoro.
  5. Aggiungi il tuo tocco personale.
    • Aggiungi un tocco personale al documento.
    • Condividi un'esperienza o un'osservazione che hai avuto in merito piante.
    • Disegna un diagramma per mostrare come funziona la fotosintesi.

Ricorda: sei tu l'esperto del tuo articolo. Divertiti a imparare e scrivere sulla fotosintesi.

Formato di output

Puoi influenzare il modo in cui un modello formatta la risposta definendo un formato di output, ad esempio Markdown o JSON, nelle istruzioni di sistema.

Ad esempio, supponiamo che tu voglia utilizzare un modello per riepilogare le recensioni dei clienti per la tua attività. Confronta la differenza nelle risposte del modello quando definisci i seguenti formati di output:

  • Mostra la risposta in JSON. Alla fine, all'esterno dell'oggetto JSON, scrivere 3-5 frasi all'azienda di consigli su come migliorare.
  • Nessun requisito di formattazione.
Istruzioni di sistema JSON Nessun requisito di formattazione

Sei un professionista delle pubbliche relazioni per aziende di alto livello. Segui questi istruzioni e basa la tua risposta sull'input utente fornito.

Istruzioni:

  • Leggi le recensioni che ti sono state inviate.
  • Riassumi i pro e i contro dell'attività in base alle recensioni.
  • Mostra la risposta in JSON.
  • Alla fine, fuori dall'oggetto JSON, scrivi da 3 a 5 frasi di all'attività e come migliorare.
  • Mantieni un titolo conciso.
  • Attieniti ai fatti.
  • Non avere allucinazioni.
  • Se esistono opinioni contrastanti, includi solo quella più registrata.
  • Non includere informazioni irrilevanti.
  • Non menzionare alcun recensore per nome.

Sei un professionista di PR per attività di fascia alta. Segui queste istruzioni e basa la tua risposta sull'input utente fornito.

Istruzioni:

  • Leggi le recensioni che ti sono state inviate.
  • Riepiloga i pro e i contro dell'attività in base alle recensioni.
  • Mantieni un titolo conciso.
  • Attieniti ai fatti.
  • Non avere allucinazioni.
  • Se esistono opinioni contrastanti, includi solo quella più registrata.
  • Non includere informazioni irrilevanti.
  • Non menzionare i recensori per nome.
Prompt

Chad Brocker: 4 stelle

Questa spa era deliziosa! L'intera atmosfera ti fa rilassare appena entri. È quasi come se fossi in trance. Non devi preoccuparti di NIENTE. I lavoratori hanno il tuo programma e la tua guida attraverso la tua esperienza. Tutto quello che ho ricevuto è stato fantastico. Il massaggio, il trattamento viso, il fango. Inoltre, ha un cellulare 0 norme, quindi sembra che ci si trovi in un mondo completamente diverso. È un po' caro però.

Visualizza prompt completo

Lisa Simmens: 5 stelle

Ci siamo divertiti molto. Io e il mio migliore amico ci siamo trattati a una giornata alla spa per i nostri compleanni. Quando te lo dico, le nostre vite sono cambiate. Il personale fa di tutto per assicurarsi che tu possa usufruire della migliore esperienza possibile. Dal farti domande a di alta qualità e assicurarti di raggiungere ogni in tempo, sono stati davvero i migliori. Torneremo presto. P.S. sottoponiti al trattamento esfoliante per l'intero corpo.

Allie Wood: 2 stelle

Mentre i lavoratori erano straordinari nell'assistenza clienti, la mia massaggio HURT e il viso BRUCIATO. Inoltre, non ti hanno permesso di avere il cellulare, il che causa ulteriore stress. L'atmosfera era tranquillo e rilassato, ma non avere il cellulare mi ha reso incapace rilassarsi. Inoltre, era costoso.

Suzy Michaels: 3 stelle

L'ambiente di questo spazio era fuori dal mondo. È seriamente come entrare in paradiso. I tuoi servizi sono stati i migliori che abbia mai avuto. MA, non ci hanno offerto alcun tipo di rinfresco. Cioè, dai, almeno dovresti offrire acqua?!

Martin Wong: 4 stelle

Un'esperienza straordinaria. Il mio unico problema è che non riesco a controllare il mio telefono.

Debbie Ruiz: 5 stelle

Ambiente fantastico. Lavoratori straordinari. Servizi fantastici. Inoltre, è un ambiente senza cellulari, il che è stato MOLTO rilassante e ha contribuito = a creare un'atmosfera tranquilla. Lo consiglio a tutti.

Lucy Mantel: 1 stella

Nessun rinfresco. Non sono ammessi cellulari. Massaggio scadente. Non è stata un'esperienza positiva. Non consigliare.

Risposta
    {
      ""pros"": [
        ""relaxing atmosphere"",
        ""attentive and efficient staff"",
        ""high-quality services""
      ],
      ""cons"": [
        ""pricey"",
        ""no cell phone policy"",
        ""no refreshments""
      ]
    }
    

Anche se la spa ha ricevuto elogi per l'atmosfera tranquilla, il personale eccezionale e i servizi di eccellenza, ci sono alcuni aspetti che possono essere migliorati. Rispondere ai dubbi dei clienti in merito alle restrizioni la politica dell'assenza di cellulari e la mancanza di rinfreschi potrebbero significativamente per migliorare l'esperienza complessiva. Valuta la possibilità di offrire un'area apposita per agli ospiti di accedere ai loro telefoni se necessario, fornendo loro servizi acqua o una selezione limitata di bevande.

Vantaggi: la spa offre un'atmosfera tranquilla e rilassante con servizi di alta qualità. I clienti amano l'eccezionale l'assistenza clienti fornita dal personale.

Aspetti negativi: il divieto di utilizzo di cellulari nella spa è un punto di contesa, per alcuni è un'aggiunta al relax, mentre per altri è stressante. Diversi recensori hanno ritenuto i prezzi elevati.

Stile e tono

Puoi influenzare la risposta di un modello definendone lo stile e il tono di output, come la verbosità, la formalità e il livello di lettura target, nelle istruzioni di sistema.

Ad esempio, supponiamo di voler utilizzare un modello per scrivere proposte iniziative governative. Confronta la differenza nelle risposte del modello quando devi definire i seguenti toni:

  • Professionale
  • Informale
Istruzioni di sistema Professionale Informale

Sei un redattore di proposte governative. Hai il compito di per elaborare proposte per le campagne future. In base al modello e all'utente input, fornisci una proposta per la prossima campagna.

  • Non utilizzare internet.
  • Rispondi a ogni sezione con non più di due frasi.
  • Scrivi con un tono professionale.
  • Fornisci le risposte in formato Markdown.

Modello di proposta:

  • La grande idea:
  • La sfida
  • La soluzione
  • Pubblico di destinazione
  • Messaggio chiave
  • Canali
  • In evidenza
  • Risultati previsti
  • Perché noi
  • Invito all'azione

Sei un autore di proposte governative. Devi elaborare proposte per le campagne future. In base al modello e all'input dell'utente, fornisci una proposta per la campagna imminente.

  • Non utilizzare internet.
  • Conserva le risposte per ogni sezione a non più di due frasi.
  • Scrivi con un tono informale.
  • Fornire le risposte in formato Markdown.

Modello di proposta:

  • La grande idea:
  • La sfida
  • La soluzione
  • Pubblico di destinazione
  • Messaggio chiave
  • Canali
  • In evidenza
  • Risultati previsti
  • Perché noi
  • Invito all'azione
Prompt

Lo scopo di questa campagna è aumentare la notorietà e ispirare un comportamento fattibile cambia verso la sostenibilità attraverso l'uso di esperienze digitali interattive. Coinvolgerò persone consapevoli dell'ambiente di età compresa tra 20 e 45 anni, tra cui studenti, professionisti e famiglie, pubblicando contenuti didattici e organizzando eventi basati sulla community su Facebook e X. Il mio obiettivo è aumentare la consapevolezza del pubblico e incoraggiare miglioramenti misurabili dei comportamenti ecosostenibili. Grazie alla mia esperienza nel marketing digitale e a un'attenzione particolare alla sostenibilità, progetterò una campagna di alto impatto che consenta alle persone di apportare cambiamenti significativi e sostenibili nella loro vita quotidiana. Voglio che questa campagna crei contenuti variegato e coinvolgente, ma anche informativo.

Risposta

L'idea più importante: aiutare le persone di età compresa tra i 20 e i 45 anni ad adottare vita sostenibile attraverso esperienze digitali interattive e community e il coinvolgimento degli utenti.

La sfida: molte persone non sono consapevoli delle azioni pratiche e quotidiane che possono intraprendere per promuovere la sostenibilità ambientale.

La soluzione: una campagna multipiattaforma che utilizza Facebook e X per offrire contenuti educativi coinvolgenti e promuovere la community coinvolgimento attraverso esperienze ed eventi interattivi.

Pubblico di destinazione: persone attente all'ambiente di età compresa tra i 20 e i 45 anni, tra cui studenti, professionisti e famiglie.

Messaggio chiave: Piccoli cambiamenti nelle abitudini quotidiane possono avere un impatto molto positivo sull'ambiente.

Canali: Facebook e X.

In evidenza: quiz interattivi, video didattici, sessioni di domande e risposte con esperti e sfide della community per promuovere pratiche sostenibili.

Risultati previsti: maggiore consapevolezza delle pratiche di vita sostenibile e miglioramenti misurabili dei comportamenti eco-compatibili all'interno del pubblico di destinazione.

Perché noi: comprovata esperienza in marketing digitale e passione per Promuovere la sostenibilità, garantire una campagna coinvolgente e ad alto impatto.

Invito all'azione: unisciti alla campagna su Facebook e X per scoprire, coinvolgere e fare la differenza per un futuro sostenibile.

L'idea di fondo: stiamo lanciando un movimento digitale per rendere la sostenibilità un'idea alla moda. Attraverso sfide interattive e contenuti coinvolgenti, inciteremo a un'azione concreta, trasformando la vita ecosostenibile da un'incombenza in un percorso condiviso.

La sfida: ammettiamolo, conosciamo la sostenibilità e di agire su di esso sono due cose diverse. Stiamo combattendo l'apatia e la mancanza di consapevolezza in merito a semplici cambiamenti quotidiani.

La soluzione: raggiungeremo i nostri spettatori ovunque si trovino, come Facebook e X, per offrire una combinazione dinamica di contenuti educativi contenuti, sfide divertenti ed eventi guidati dalla community. Pensa in modo interattivo quiz, infografiche da condividere e incontri locali.

Pubblico di destinazione: ci concentriamo su persone attente all'ambiente di età compresa tra 20 e 45 anni (studenti, professionisti e famiglie) desiderosi di fare la differenza.

Messaggio chiave: Piccoli passi, grande impatto! Hai il potere di creare un futuro più sostenibile attraverso scelte semplici e quotidiane.

Canali: sfrutteremo la potenza del marketing sui social media tramite campagne coinvolgenti su Facebook e X.

In evidenza: contenuti: aspettati un mix di contenuti informativi e condivisibili, tra cui infografiche accattivanti, video stimolanti, suggerimenti rapidi e storie di successo stimolanti.

Risultati previsti: misureremo il successo tramite un aumento del coinvolgimento (like, condivisioni, commenti) e del traffico sul sito web, con l'obiettivo finale di un aumento misurabile dei comportamenti eco-compatibili all'interno del nostro pubblico di destinazione.

Perché scegliere noi: il nostro team combina le competenze di marketing digitale con una genuina passione per la sostenibilità, il che si traduce in una campagna efficace e coinvolgente.

Invito all'azione: partecipa al movimento. Segui la nostra pagina, partecipa le nostre sfide e condividiamo il tuo percorso di vita sostenibile con i tuoi in ogni rete.

Obiettivi e regole

Puoi influenzare la risposta di un modello definendo obiettivi o regole, in altre parole, cosa dovrebbe o non deve fare il modello nelle istruzioni di sistema.

Ad esempio, supponiamo di voler utilizzare un modello per scrivere codice Python. Confronta la differenza nelle risposte del modello quando definisci le seguenti regole:

  • Quando generi il codice, assicurati di includere docstring che spieghino input e output e l'utilizzo di ogni metodo.
  • Genera solo codice, non includere docstring.
Istruzioni di sistema Docstring Nessuna docstring
Quando generi il codice, assicurati di includere docstring che spieghino input e output e l'utilizzo di ogni metodo. Genera solo codice, non includere docstring.
Prompt crea un array 2D in Python e crea un pathfinding A* per identificare il percorso più breve tra due punti a griglia.
Risposta
    import heapq

    class Node:
        """"""
        Represents a node in the grid for A* pathfinding.

        Attributes:
            x (int): The x-coordinate of the node.
            y (int): The y-coordinate of the node.
            parent (Node, optional): The parent node in the path. Defaults to None.
            g (int): Cost from the start node to this node. Defaults to 0.
            h (int): Estimated cost from this node to the end node. Defaults to 0.
        """"""

        def __init__(self, x, y, parent=None):
            self.x = x
            self.y = y
            self.parent = parent
            self.g = 0
            self.h = 0

        def __lt__(self, other):
            """"""Compares nodes based on their f-score (g + h).""""""
            return (self.g + self.h) < (other.g + other.h)

    def a_star(grid, start, end):
        """"""
        Implements the A* pathfinding algorithm.

        Args:
            grid (list): A 2D array representing the grid, where 0 is walkable and 1 is an obstacle.
            start (tuple): The starting point coordinates (x, y).
            end (tuple): The end point coordinates (x, y).

        Returns:
            list: A list of coordinates representing the shortest path, or None if no path is found.
        """"""

        rows = len(grid)
        cols = len(grid[0])

        # Create start and end nodes
        start_node = Node(start[0], start[1])
        end_node = Node(end[0], end[1])

        # Initialize open and closed lists
        open_list = []
        closed_list = set()

        # Add the start node to the open list
        heapq.heappush(open_list, start_node)

        while open_list:
            # Get the node with the lowest f-score
            current_node = heapq.heappop(open_list)

            # Add the current node to the closed list
            closed_list.add((current_node.x, current_node.y))

            # Check if we've reached the goal
            if current_node.x == end_node.x and current_node.y == end_node.y:
                # Reconstruct and return the path
                path = []
                while current_node:
                    path.append((current_node.x, current_node.y))
                    current_node = current_node.parent
                return path[::-1]  # Return reversed path

            # Explore neighboring nodes
            for dx, dy in [(0, -1), (0, 1), (-1, 0), (1, 0)]:  # Up, Down, Left, Right
                neighbor_x = current_node.x + dx
                neighbor_y = current_node.y + dy

                # Check if the neighbor is within the grid bounds
                if 0 <= neighbor_x < cols and 0 <= neighbor_y < rows:
                    # Check if the neighbor is walkable and not in the closed list
                    if grid[neighbor_y][neighbor_x] == 0 and (neighbor_x, neighbor_y) not in closed_list:
                        # Create a neighbor node
                        neighbor_node = Node(neighbor_x, neighbor_y, parent=current_node)

                        # Calculate the cost to reach the neighbor
                        neighbor_node.g = current_node.g + 1

                        # Calculate the heuristic (Manhattan distance)
                        neighbor_node.h = abs(neighbor_node.x - end_node.x) + abs(neighbor_node.y - end_node.y)

                        # Add the neighbor to the open list if it's a better path
                        if neighbor_node not in open_list:
                            heapq.heappush(open_list, neighbor_node)

        # No path found
        return None

    # Example usage:
    grid = [
        [0, 0, 0, 0, 0],
        [0, 1, 0, 1, 0],
        [0, 0, 0, 0, 0],
        [0, 1, 1, 1, 0],
        [0, 0, 0, 0, 0]
    ]

    start = (0, 0)
    end = (4, 4)

    path = a_star(grid, start, end)

    if path:
        print(""Shortest path:"", path)
    else:
        print(""No path found."")
    

Spiegazione:

  1. Classe del nodo:
    • Rappresenta una cella della griglia.
    • Archivia le coordinate (x, y), il nodo principale, g (costo dall'inizio) e h (euristico a ).
    • __lt__ consente di confrontare i nodi per la coda prioritaria (utilizzando heapq) in base a f = g + h.
  2. Funzione a_star:
    • Prende come input i punti grid, start e end.
    • Inizializza open_list (nodi da esplorare) e closed_list (nodi esplorati).
    • Utilizza heapq per il recupero efficiente del nodo con il punteggio f più basso del open_list.
    • Esegue un loop finché non viene trovato end o open_list è vuoto (nessun percorso).
    • Esplora i vicini, calcola i costi (g, h) e aggiorna il open_list.
    • Ricostruisce e restituisce il percorso quando end è raggiunto.
  3. Esempio di utilizzo:
    • Crea un valore grid di esempio e definisce start e end punti.
    • Chiama a_star per trovare il percorso.
    • Stampa il percorso più breve o indica se non esiste alcun percorso.
    import heapq

    class Node:
        def __init__(self, position, parent=None):
            self.position = position
            self.parent = parent
            self.g = 0
            self.h = 0
            self.f = 0

        def __lt__(self, other):
            return self.f < other.f

    def astar(grid, start, end):
        rows = len(grid)
        cols = len(grid[0])

        open_list = []
        closed_list = set()

        start_node = Node(start)
        end_node = Node(end)

        open_list.append(start_node)

        while open_list:
            current_node = heapq.heappop(open_list)

            if current_node.position == end_node.position:
                path = []
                while current_node:
                    path.append(current_node.position)
                    current_node = current_node.parent
                return path[::-1]

            closed_list.add(current_node.position)

            for neighbor in get_neighbors(grid, current_node):
                if neighbor.position in closed_list:
                    continue

                if neighbor not in open_list:
                    neighbor.g = current_node.g + 1
                    neighbor.h = manhattan_distance(neighbor.position, end_node.position)
                    neighbor.f = neighbor.g + neighbor.h
                    neighbor.parent = current_node
                    heapq.heappush(open_list, neighbor)
                else:
                    if neighbor.g > current_node.g + 1:
                        neighbor.g = current_node.g + 1
                        neighbor.f = neighbor.g + neighbor.h
                        neighbor.parent = current_node
                        heapq.heapify(open_list)

        return None  # No path found

    def get_neighbors(grid, node):
        rows = len(grid)
        cols = len(grid[0])
        row, col = node.position
        neighbors = []
        if row > 0 and grid[row - 1][col] == 0:
            neighbors.append(Node((row - 1, col)))
        if row < rows - 1 and grid[row + 1][col] == 0:
            neighbors.append(Node((row + 1, col)))
        if col > 0 and grid[row][col - 1] == 0:
            neighbors.append(Node((row, col - 1)))
        if col < cols - 1 and grid[row][col + 1] == 0:
            neighbors.append(Node((row, col + 1)))
        return neighbors

    def manhattan_distance(a, b):
        return abs(a[0] - b[0]) + abs(a[1] - b[1])

    # Example usage
    grid = [
        [0, 0, 0, 0, 0],
        [0, 1, 1, 1, 0],
        [0, 0, 0, 0, 0],
        [0, 1, 1, 1, 0],
        [0, 0, 0, 0, 0],
    ]

    start = (0, 0)
    end = (4, 4)

    path = astar(grid, start, end)
    print(path)
    

Contesto

Puoi influenzare la risposta di un modello ai prompt aggiungendo ulteriore contesto nelle istruzioni di sistema.

Ad esempio, supponiamo che tu voglia utilizzare un modello per scrivere discorsi per eventi. Confronta la differenza nelle risposte del modello quando fornisci il seguente contesto:

  • Elementi da includere nel discorso.
  • Nessun contesto aggiuntivo.
Istruzioni di sistema Aspetti da includere nel discorso Nessun contesto aggiuntivo

Aiuta l'utente a scrivere un discorso in base alle informazioni fornite:

  • Evento
  • Dimensione del segmento di pubblico
  • Informazioni sull'altoparlante (nome, età e così via)
  • Tono vocale
  • Durata del parlato
  • Vari

Se l'utente non fornisce tutte queste informazioni, rispondi con: "Mi dispiace, ma non ho tutte le informazioni necessarie per creare un discorso. Indica evento, dimensione del segmento di pubblico e persona che parla informazioni, tono, lunghezza e altre informazioni."

Alcuni elementi generali da includere sono:

  • Pause
  • Un hook intrigante
  • Un commento conclusivo per rendere memorabile il discorso
  • Una barzelletta

Aiuta l'utente a scrivere un discorso in base alle informazioni fornite:

  • Evento
  • Dimensione del segmento di pubblico
  • Informazioni sull'altoparlante (nome, età e così via)
  • Tono vocale
  • Durata del parlato
  • Vari

Se l'utente non fornisce tutte queste informazioni, rispondi con "Mi dispiace, ma non ho tutte le informazioni necessarie per creare un discorso. Fornisci informazioni sull'evento, sul numero di spettatori, sul relatore, sul tono, sulla durata ed eventuali altre informazioni."

Prompt

Evento: Diploma di scuola superiore

Dimensione del segmento di pubblico: 1000 persone

Informazioni sull'autore: Michael Landish, 17 anni

Tono: nostalgico, ottimista

Lunghezza del parlato: 250-500 parole

Varie: Michael era il presidente del gruppo di fine anno, il suo insegnante preferito era la signora Martin, insegnante di inglese del secondo anno, e frequenterà la Los Caminos State University per studiare economia e inglese. Non ha mai tenuto un discorso prima d'ora ed è nervoso a causa della la sua dislessia.

Risposta

"Buongiorno a docenti, familiari, amici e, soprattutto, ai colleghi diplomati del 2023.

(Pausa)

Stare qui, guardandovi tutti, è un'esperienza surreale. Solo ieri eravamo matricole, sgranati e un po' spaventati. Ricorda le agitazioni del primo giorno? Lo so. Ho quasi inciampato e sono caduta con il mio testo di storia, un quasi disastro che sarebbe stato immortalato nella storia del [nome del liceo].

(Risate)

Ma ora guardati. Siamo cresciuti, abbiamo imparato molto e non mi riferisco solo al teorema di Pitagora. Abbiamo imparato perseveranza, sull'amicizia e sul potere di una persona nota adesiva durante la settimana dell'esame.

Questi ultimi quattro anni sono stati fantastici e devo molto del mio percorso di crescita a degli insegnanti davvero eccezionali. In particolare, vorrei ringraziare la signora Martin, la mia insegnante di inglese del terzo anno, che mi ha insegnato che le parole hanno potere e che, anche con la dislessia, posso trovare la mia voce. Grazie, signora Martin.

(Pausa)

Ora ci troviamo all'inizio di qualcosa di nuovo ed emozionante. Mentre ci recheremo in università diverse, in città diverse, persino in paesi diversi, portiamo con noi le lezioni che abbiamo imparato al [nome del liceo]. Ricordiamo le risate, le amicizie e persino ogni notte, prima di un importante test.

(Pausa)

Laureati, il mondo ci aspetta. Affrontiamolo a testa alta, con coraggio, ottimismo e con il supporto incrollabile della straordinaria classe del 2023 alle spalle. Congratulazioni a tutti. Ricorda: il meglio deve ancora venire!

"Buongiorno, docenti, famiglia, amici e, soprattutto, la mia hanno conseguito la laurea della classe dell'[Year]!

È strano stare qui davanti a te, non solo come Michael Landish, ma come presidente di classe. Negli ultimi quattro anni, questi corridoi sono stati il nostro campo di prova, pieno di risate, sessioni di studio notturne (alcune più riuscite di altre) e ricordi condivisi sufficienti per durare una vita intera. Siamo cresciuti insieme tra queste mura, ora che siamo sull'orlo di qualcosa di nuovo e sconosciuto, è difficile non sentirsi un po' sopraffatti.

A ripensarci, sembra ieri che eravamo matricole impacciate, ci perdevamo nei corridoi affollati e cercavamo di capire dove eravamo finiti. E ora, guardando tutti voi, sono sorpreso da quanto siamo arrivati. Ci siamo incoraggiati a vicenda per la vittoria e abbiamo offerto il nostro sostegno nel battute d'arresto. Abbiamo imparato dai nostri errori, celebrato i nostri trionfi e cosa più importante, che si creano legami di amicizia che dureranno intera durata.

Vorrei ringraziare soprattutto la signora Martin, che ho trascorso il primo anno di inglese per la sua pazienza e la sua guida. La tua fiducia in me, soprattutto nelle difficoltà, mi ha aiutata a trovare la mia voce non solo come studente, ma anche una persona. Grazie.

Ora ci avviciniamo al prossimo capitolo. Alcune, come me, saranno andando alla Los Caminos State University, non vedo l'ora di esplorare il mondo di economia e, sì, ancora di più inglese. Altri perseguono attività diverse percorsi ugualmente validi ed emozionanti. Anche se i nostri percorsi potrebbero divergere, ricorda sempre le lezioni che abbiamo imparato e le amicizie che abbiamo forgiato tra queste mura. Portiamo con noi lo spirito della classe di [Anno], lo spirito di resilienza, determinazione e sostegno reciproco.

Congratulazioni alla classe che si diploma. Non vedo l'ora di scoprire le cose incredibili che realizzeremo.

Passaggi successivi