Petunjuk sistem

Dokumen ini menjelaskan apa yang dimaksud dengan petunjuk sistem dan praktik terbaik untuk menulis petunjuk sistem yang efektif. Untuk mempelajari cara menambahkan petunjuk sistem ke perintah Anda, lihat Menggunakan petunjuk sistem.

Petunjuk sistem adalah serangkaian petunjuk yang diproses oleh model sebelum memproses perintah. Sebaiknya gunakan petunjuk sistem untuk memberi tahu model cara berperilaku dan merespons perintah sesuai keinginan Anda. Misalnya, Anda dapat menyertakan hal-hal seperti persona yang akan digunakan, informasi kontekstual, dan petunjuk pemformatan.

Petunjuk sistem sangat berguna dalam kasus ketika Anda ingin memberikan informasi kepada model yang tidak dapat dilihat atau diubah oleh pengguna akhir, yang dapat membantu Anda memberikan konteks tambahan kepada model untuk memahami tugas, memberikan respons yang lebih disesuaikan, mematuhi pedoman tertentu selama interaksi pengguna penuh dengan model. Selain itu, petunjuk sistem bermanfaat jika Anda ingin menjalankan beberapa perintah dengan kumpulan petunjuk yang sama.

Saat petunjuk sistem ditetapkan, petunjuk tersebut akan berlaku untuk seluruh permintaan. Petunjuk sistem berfungsi di tiap percakapan yang terjadi antara pengguna dan model saat disertakan dalam perintah. Meskipun petunjuk sistem terpisah dari isi perintah, petunjuk tersebut tetap merupakan bagian dari perintah keseluruhan Anda dan oleh karena itu tunduk pada kebijakan penggunaan data standar.

Kasus penggunaan

Secara umum, sebaiknya gunakan petunjuk sistem untuk melakukan satu atau beberapa hal berikut:

  • Menentukan persona atau peran
  • Menentukan format output
  • Menentukan gaya dan nada bahasa output
  • Menentukan sasaran atau aturan untuk tugas
  • Memberikan konteks tambahan untuk perintah

Persona atau peran

Anda dapat memengaruhi cara model merespons perintah dengan menentukan persona atau peran dalam petunjuk sistem.

Misalnya, Anda ingin menggunakan model untuk membantu mengajari siswa cara menulis makalah. Bandingkan perbedaan respons model saat Anda menentukan peran berikut:

  • Anda adalah bot yang bertugas mengajari mahasiswa cara menulis makalah tentang subjek tertentu.
  • Anda adalah bot, yang bertugas membantu siswa sekolah dasar tentang cara menulis makalah tentang subjek tertentu.
Petunjuk sistem Bot untuk mahasiswa Bot untuk siswa sekolah dasar
Anda adalah bot yang bertugas mengajari mahasiswacara menulis makalah tentang subjek tertentu. Anda adalah bot, yang bertugas membantu siswa sekolah dasartentang cara menulis makalah tentang subjek tertentu.
Perintah Subjek: Fotosintesis Subjek: Fotosintesis
Respons

Menulis Paper tentang Fotosintesis: Panduan untuk Siswa Perguruan Tinggi

Fotosintesis adalah proses yang menarik dan kompleks yang membentuk dasar kehidupan di Bumi. Menulis makalah tentangnya dapat menjadi pengalaman yang bermanfaat, memungkinkan Anda mempelajari seluk-beluknya lebih dalam dan memahami signifikansinya. Berikut perincian cara menyelesaikan tugas ini:

  1. Memilih Fokus:
    • Ringkasan Luas: Anda dapat memberikan ringkasan komprehensif tentang fotosintesis, yang mencakup tahap-tahap, persyaratan, produk sampingan, dan perannya dalam ekosistem.
    • Aspek Khusus: Pilih aspek fotosintesis tertentu untuk dijelajahi secara mendetail, seperti:
      • Peran cahaya dalam fotosintesis.
      • Berbagai jenis fotosintesis (C3, C4, CAM).
      • Dampak faktor lingkungan terhadap fotosintesis.
      • Evolusi fotosintesis.
      • Penerapan fotosintesis dalam bioteknologi.
    • Studi Komparatif: Membandingkan dan membedakan berbagai aspek fotosintesis pada organisme yang berbeda (tumbuhan, alga, bakteri).
  2. Riset dan Pengumpulan Informasi:
    • Sumber Tepercaya: Gunakan jurnal akademis, sumber online tepercaya, dan buku teks. Hindari mengandalkan Wikipedia atau situs umum saja.
    • Penelusuran Kata Kunci: Gunakan kata kunci seperti "fotosintesis", "kloroplas", "klorofil", "reaksi bergantung cahaya", "siklus Calvin", dll.
    • Mencatat: Atur riset Anda dengan membuat catatan yang lengkap dan merangkum poin-poin penting, serta pastikan untuk mengutip sumber dengan benar.
  3. Membuat Garis Besar dan Struktur Makalah Anda:
    • Introduction:
      • Perkenalkan fotosintesis dan signifikansinya secara singkat.
      • Nyatakan pernyataan tesis Anda, yang menguraikan dengan jelas argumen utama makalah Anda.
    • Paragraf Isi:
      • Kembangkan poin-poin Anda dalam urutan yang logis, menggunakan bukti dari penelitian Anda.
      • Gunakan judul dan subjudul untuk mengatur makalah Anda dan membuatnya lebih mudah dibaca.
      • Setiap paragraf harus berfokus pada satu ide dan memberikan bukti pendukung.
    • Kesimpulan:
      • Rangkum poin-poin utama dan nyatakan kembali tesis Anda.
      • Diskusikan implikasi temuan Anda dan sarankan arah riset selanjutnya.
  4. Penulisan dan Pengeditan:
    • Bahasa yang Jelas dan Ringkas: Gunakan bahasa yang jelas dan ringkas, hindari jargon kecuali jika diperlukan.
    • Argumen Berbasis Bukti: Dukung klaim Anda dengan bukti dari riset Anda.
    • Kutipan yang Tepat: Gunakan gaya kutipan yang konsisten (MLA, APA, Chicago) di seluruh makalah Anda.
    • Pemeriksaan Tata Bahasa dan Pengeditan: Periksa tata bahasa dan edit makalah Anda dengan cermat untuk menemukan kesalahan tata bahasa, ejaan, dan tanda baca.
  5. Tips Tambahan:
    • Alat Bantu Visual: Gunakan diagram, grafik, atau bagan untuk mengilustrasikan konsep yang kompleks.
    • Studi Kasus: Jika ada, sertakan studi kasus yang relevan untuk mendemonstrasikan penerapan fotosintesis di dunia nyata.
    • Koneksi Pribadi: Temukan cara untuk menghubungkan topik Anda dengan minat atau pengalaman Anda sendiri.

Contoh Judul Makalah:

  • Peran Intensitas Cahaya dalam Fotosintesis: Studi Komparatif
  • Evolusi Fotosintesis: Dari Kehidupan Awal hingga Tumbuhan Modern
  • Memanfaatkan Fotosintesis: Potensi Bioteknologi
  • Dampak Perubahan Iklim terhadap Fotosintesis: Perspektif Global

Ingat: Makalah tentang fotosintesis yang ditulis dengan baik harus jelas, informatif, dan menarik. Dengan mengikuti langkah-langkah ini dan memanfaatkan fondasi riset yang kuat, Anda dapat menghasilkan makalah yang sukses dan menunjukkan pemahaman Anda tentang proses biologis penting ini.

Itu topik yang bagus. Fotosintesis sangat penting bagi kehidupan di Bumi. Berikut cara menulis makalah tentangnya:

  1. Pikirkan apa yang sudah Anda ketahui:
    • Apa itu fotosintesis?
    • Apa yang dibutuhkan tanaman untuk melakukan fotosintesis?
    • Apa yang dihasilkan tanaman selama fotosintesis?
    • Apakah Anda tahu fakta menarik tentang fotosintesis?
  2. Riset dan pelajari lebih lanjut:
    • Buku: Periksa perpustakaan Anda untuk menemukan buku tentang tanaman, alam, atau sains.
    • Situs: Cari situs untuk anak-anak yang menjelaskan fotosintesis dengan cara yang sederhana. Pastikan situs tersebut andal (seperti situs dari National Geographic atau NASA).
    • Tanyakan kepada orang dewasa: Minta bantuan guru, orang tua, atau pustakawan untuk menemukan informasi.
  3. Susun pemikiran Anda:
    • Judul: Pikirkan judul yang menarik untuk makalah Anda, seperti "Proses Fotosintesis yang Menakjubkan" atau "Cara Tumbuhan Membuat Makanannya Sendiri".
    • Pengantar: Mulai dengan kalimat yang menarik perhatian pembaca. Jelaskan apa itu fotosintesis dengan istilah sederhana.
    • Isi: Bagi makalah Anda menjadi beberapa paragraf. Setiap paragraf harus berfokus pada satu ide utama tentang fotosintesis:
      • Yang dibutuhkan tanaman: Sinar matahari, air, karbon dioksida.
      • Yang dihasilkan tanaman: Gula (untuk makanan) dan oksigen.
      • Mengapa fotosintesis penting: Fotosintesis menyediakan makanan bagi kita dan hewan, serta membersihkan udara.
    • Kesimpulan: Rangkum apa yang telah Anda pelajari tentang fotosintesis. Anda juga dapat membagikan fakta favorit atau pertanyaan yang masih Anda miliki.
  4. Menulis makalah Anda:
    • Gunakan bahasa yang jelas dan sederhana.
    • Jangan takut menggunakan gambar atau lukisan untuk membantu menjelaskan sesuatu.
    • Periksa pekerjaan Anda untuk menemukan kesalahan ejaan dan tata bahasa.
  5. Buat kreasi Anda sendiri.
    • Tambahkan sentuhan pribadi pada makalah Anda.
    • Bagikan pengalaman atau pengamatan Anda tentang tumbuhan.
    • Buat diagram untuk menunjukkan cara kerja fotosintesis.

Ingat: Anda adalah ahli dalam makalah Anda. Selamat belajar dan menulis tentang fotosintesis.

Format output

Anda dapat memengaruhi cara model memformat responsnya dengan menentukan format output, seperti Markdown atau JSON, dalam petunjuk sistem.

Misalnya, Anda ingin menggunakan model untuk meringkas ulasan pelanggan untuk bisnis Anda. Bandingkan perbedaan respons model saat Anda menentukan format output berikut:

  • Tampilkan respons Anda dalam JSON. Di bagian paling akhir, di luar objek JSON, tulis 3-5 kalimat saran kepada bisnis tentang cara meningkatkannya.
  • Tidak ada persyaratan pemformatan.
Petunjuk sistem JSON Tidak ada persyaratan pemformatan

Anda adalah profesional PR untuk bisnis kelas atas. Ikuti petunjuk ini, dan dasarkan respons Anda pada Input Pengguna yang diberikan.

Petunjuk:

  • Baca ulasan yang dikirimkan kepada Anda.
  • Merangkum kelebihan dan kekurangan bisnis berdasarkan ulasan.
  • Tampilkan respons Anda dalam JSON.
  • Di bagian paling akhir, di luar objek JSON, tulis 3 hingga 5 kalimat saran kepada bisnis tentang cara meningkatkannya.
  • Buat ringkas.
  • Berpeganglah pada fakta.
  • Jangan berhalusinasi.
  • Jika ada pendapat yang bertentangan, hanya sertakan pendapat yang paling banyak dicatat.
  • Jangan sertakan informasi yang tidak relevan.
  • Jangan menyebutkan nama pengulas.

Anda adalah profesional PR untuk bisnis kelas atas. Ikuti petunjuk ini, dan dasarkan respons Anda pada Input Pengguna yang diberikan.

Petunjuk:

  • Baca ulasan yang dikirimkan kepada Anda.
  • Merangkum kelebihan dan kekurangan bisnis berdasarkan ulasan.
  • Buat ringkas.
  • Berpeganglah pada fakta.
  • Jangan berhalusinasi.
  • Jika ada pendapat yang bertentangan, hanya sertakan pendapat yang paling banyak dicatat.
  • Jangan sertakan informasi yang tidak relevan.
  • Jangan menyebutkan nama pengulas.
Perintah

Chad Brocker: 4 bintang

Spa ini sangat menyenangkan! Seluruh suasana saat Anda masuk akan membuat Anda rileks. Rasanya seperti Anda sedang dalam keadaan trans. Anda tidak perlu mengkhawatirkan APA PUN. Pekerja memiliki jadwal Anda dan memandu Anda melalui pengalaman Anda. Semua yang saya dapatkan sangat bagus. Pijat, perawatan wajah, mandi lumpur. Selain itu, mereka memiliki kebijakan 0 ponsel, jadi Anda benar-benar merasa berada di dunia yang berbeda. Namun, harganya agak mahal.

Lihat perintah lengkap

Lisa Simmens: 5 bintang

Kami sangat senang! Saya dan sahabat saya memanjakan diri dengan pergi ke spa untuk merayakan ulang tahun kami. Saat saya memberi tahu Anda, hidup kita akan berubah. Karyawan berupaya lebih keras untuk memastikan Anda mendapatkan pengalaman terbaik. Mulai dari mengajukan pertanyaan kepada Anda hingga layanan berkualitas tinggi dan memastikan Anda tiba di setiap janji temu tepat waktu, mereka benar-benar yang terbaik. Kami akan segera kembali. PS: Dapatkan perawatan eksfoliasi seluruh tubuh.

Allie Wood: 2 bintang

Meskipun para pekerja sangat baik dalam layanan pelanggan, pijatan saya SAKIT dan perawatan wajah saya TERASA PANAS. Selain itu, mereka tidak mengizinkan Anda membawa ponsel, yang menyebabkan stres tambahan. Suasananya tenang dan menenangkan, tetapi tidak adanya ponsel membuat saya tidak bisa bersantai. Selain itu, harganya mahal.

Suzy Michaels: 3 bintang

Lingkungan ruang ini sangat unik. Rasanya seperti melangkah ke surga. Layanan yang saya dapatkan adalah yang terbaik yang pernah saya terima. TAPI, mereka tidak menawarkan minuman atau makanan ringan apa pun. Maksud saya, ayolah, setidaknya Anda harus menawarkan air?!

Martin Wong: 4 bintang

Pengalaman yang luar biasa. Satu-satunya keluhan saya adalah tidak dapat memeriksa ponsel saya.

Debbie Ruiz: 5 bintang

Lingkungan yang luar biasa. Pekerja yang luar biasa. Layanan yang luar biasa. Selain itu, tempat ini bebas dari ponsel, yang sangat membebaskan dan menambah = suasana damai. Saya sangat merekomendasikannya kepada semua orang!!!

Lucy Mantel: 1 bintang

Tidak ada minuman. Tidak boleh menggunakan ponsel. Pijatan yang buruk. Bukan pengalaman yang menyenangkan. Tidak direkomendasikan.

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

Meskipun spa ini telah menerima pujian atas suasana yang tenang, staf yang luar biasa, dan layanan terbaik, ada beberapa area yang perlu ditingkatkan. Menjawab keluhan pelanggan terkait kebijakan ketat larangan penggunaan ponsel dan tidak adanya minuman ringan dapat meningkatkan pengalaman secara keseluruhan secara signifikan. Pertimbangkan untuk menawarkan area khusus bagi tamu untuk mengakses ponsel mereka jika diperlukan, dan menyediakan air gratis atau pilihan minuman terbatas.

Kelebihan: Spa ini menyediakan suasana yang tenang dan santai dengan layanan berkualitas tinggi. Pelanggan memuji layanan pelanggan yang luar biasa yang diberikan oleh staf.

Kontra: Kebijakan spa yang melarang penggunaan ponsel menjadi titik perselisihan, dengan sebagian orang merasa kebijakan tersebut menambah relaksasi mereka dan sebagian orang lainnya merasa kebijakan tersebut membuat stres. Beberapa pengulas menganggap harganya terlalu tinggi.

Gaya dan nada bahasa

Anda dapat memengaruhi respons model dengan menentukan gaya dan nada outputnya, seperti kejelasan, formalitas, dan tingkat bacaan target, dalam petunjuk sistem.

Misalnya, Anda ingin menggunakan model untuk menulis proposal inisiatif pemerintah. Bandingkan perbedaan respons model saat Anda menentukan gaya bahasa berikut:

  • Profesional
  • Kasual
Petunjuk sistem Profesional Kasual

Anda adalah penulis proposal pemerintah. Anda ditugaskan untuk membuat proposal untuk kampanye mendatang. Berdasarkan template dan input pengguna, berikan proposal untuk kampanye mendatang.

  • Jangan menggunakan internet.
  • Buat jawaban untuk setiap bagian tidak lebih dari dua kalimat.
  • Tulis dengan gaya bahasa yang profesional.
  • Berikan jawaban dalam format Markdown.

Template proposal:

  • Ide Besar:
  • Tantangan
  • Solusi
  • Audiens Target
  • Pesan Utama
  • Saluran
  • Sorotan Konten
  • Hasil yang Diharapkan
  • Mengapa Kami
  • Pesan Ajakan (CTA)

Anda adalah penulis proposal pemerintah. Anda ditugaskan untuk membuat proposal untuk kampanye mendatang. Berdasarkan template dan input pengguna, berikan proposal untuk kampanye mendatang.

  • Jangan menggunakan internet.
  • Buat jawaban untuk setiap bagian tidak lebih dari dua kalimat.
  • Tulis dengan nada santai.
  • Berikan jawaban dalam format Markdown.

Template proposal:

  • Ide Besar:
  • Tantangan
  • Solusi
  • Audiens Target
  • Pesan Utama
  • Saluran
  • Sorotan Konten
  • Hasil yang Diharapkan
  • Mengapa Kami
  • Pesan Ajakan (CTA)
Perintah

Tujuan kampanye ini adalah untuk meningkatkan kesadaran dan menginspirasi perubahan perilaku yang dapat ditindaklanjuti menuju keberlanjutan melalui penggunaan pengalaman digital interaktif. Saya akan berinteraksi dengan individu yang peduli lingkungan berusia 20–45 tahun, termasuk siswa, profesional, dan keluarga, dengan menyampaikan konten edukasi dan menyelenggarakan acara yang didorong komunitas di Facebook dan X. Tujuan saya adalah meningkatkan awareness publik dan mendorong peningkatan yang terukur dalam perilaku ramah lingkungan. Dengan memanfaatkan keahlian saya dalam pemasaran digital dan fokus yang kuat pada keberlanjutan, saya akan merancang kampanye berdampak tinggi yang memberdayakan individu untuk membuat perubahan yang bermakna dan berkelanjutan dalam kehidupan sehari-hari mereka. Saya ingin kampanye ini membuat konten yang bervariasi, menarik, dan informatif.

Respons

Ide Besar: Memberdayakan individu berusia 20-45 tahun untuk menerapkan gaya hidup berkelanjutan melalui pengalaman digital interaktif dan keterlibatan komunitas.

Tantangan: Banyak orang tidak menyadari tindakan praktis sehari-hari yang dapat mereka lakukan untuk mempromosikan keberlanjutan lingkungan.

Solusi: Kampanye multiplatform yang memanfaatkan Facebook dan X untuk menyampaikan konten yang menarik dan edukatif serta mendorong keterlibatan komunitas melalui pengalaman dan acara interaktif.

Target Audiens: Individu berusia 20-45 tahun yang peduli terhadap lingkungan, termasuk siswa, profesional, dan keluarga.

Pesan Utama: Perubahan kecil dalam kebiasaan sehari-hari dapat memberikan dampak positif yang signifikan terhadap lingkungan.

Saluran: Facebook dan X.

Sorotan Konten: Kuis interaktif, video edukasi, sesi Tanya Jawab dengan pakar, dan tantangan komunitas yang mempromosikan praktik berkelanjutan.

Hasil yang Diharapkan: Peningkatan kesadaran tentang praktik hidup berkelanjutan dan peningkatan terukur dalam perilaku ramah lingkungan di kalangan target audiens.

Alasan Memilih Kami: Keahlian yang terbukti di bidang pemasaran digital dan semangat untuk mempromosikan keberlanjutan, sehingga memastikan kampanye yang berdampak tinggi dan menarik.

Pesan Ajakan (CTA): Bergabunglah dengan kampanye di Facebook dan X untuk mempelajari, berinteraksi, dan membuat perbedaan untuk masa depan yang berkelanjutan.

Ide Besar: Kami meluncurkan gerakan digital untuk menjadikan keberlanjutan sebagai tren yang menarik. Dengan menggunakan tantangan interaktif dan konten yang menarik, kami akan menginspirasi tindakan nyata, mengubah gaya hidup ramah lingkungan dari tugas yang membosankan menjadi perjalanan bersama.

Tantangan: Mari kita hadapi, mengetahui tentang keberlanjutan dan benar-benar bertindak untuk mewujudkannya adalah dua hal yang berbeda. Kami berjuang melawan ketidakpedulian dan kurangnya kesadaran akan perubahan sederhana sehari-hari.

Solusi: Kami akan menjangkau audiens di platform seperti Facebook dan X untuk memberikan perpaduan dinamis antara konten edukasi, tantangan seru, dan acara yang didorong oleh komunitas. Pikirkan kuis interaktif, infografis yang dapat dibagikan, dan pertemuan lokal.

Audiens Target: Kami berfokus pada individu yang peduli lingkungan berusia 20-45 tahun - siswa, profesional, dan keluarga - yang ingin membuat perubahan.

Pesan Utama: Langkah kecil, dampak besar! Anda memiliki kekuatan untuk menciptakan masa depan yang lebih berkelanjutan melalui pilihan sederhana sehari-hari.

Saluran: Kami akan memanfaatkan kekuatan pemasaran media sosial melalui kampanye yang menarik di Facebook dan X.

Sorotan Konten: Nantikan konten yang informatif dan mudah dibagikan, termasuk infografis yang menarik, video yang memicu pemikiran, tips cepat, dan kisah sukses yang menginspirasi.

Hasil yang Diharapkan: Kami akan mengukur kesuksesan melalui peningkatan interaksi (suka, berbagi, komentar) dan traffic situs, yang pada akhirnya bertujuan untuk meningkatkan perilaku ramah lingkungan yang terukur dalam target audiens kami.

Alasan Memilih Kami: Tim kami menggabungkan keahlian pemasaran digital dengan semangat yang tulus untuk keberlanjutan, sehingga menghasilkan kampanye yang berdampak dan menarik.

Pesan Ajakan (CTA): Bergabunglah dengan gerakan ini! Ikuti halaman kami, berpartisipasilah dalam tantangan kami, dan bagikan perjalanan hidup berkelanjutan Anda kepada jaringan Anda.

Sasaran dan aturan

Anda dapat memengaruhi respons model dengan menentukan sasaran atau aturan, dengan kata lain, apa yang harus atau tidak boleh dilakukan model, dalam petunjuk sistem.

Misalnya, Anda ingin menggunakan model untuk menulis kode Python. Bandingkan perbedaan respons model saat Anda menentukan aturan berikut:

  • Saat membuat kode, pastikan untuk menyertakan string dokumen yang menjelaskan input, output, dan penggunaan setiap metode.
  • Hanya buat kode, jangan sertakan docstring apa pun.
Petunjuk sistem Docstring Tidak ada docstring
Saat membuat kode, pastikan untuk menyertakan docstring yang menjelaskan input, output, dan penggunaan setiap metode. Hanya buat kode, jangan sertakan docstring.
Perintah Buat array 2D di Python, dan buat algoritma pencarian jalur A* untuk mengidentifikasi jalur terpendek antara dua titik pada petak.
Respons
    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."")
    

Penjelasan:

  1. Class Node:
    • Mewakili sel dalam petak.
    • Menyimpan koordinat toko (x, y), node induk, g (biaya dari awal), dan h (heuristik ke akhir).
    • __lt__ memungkinkan perbandingan node untuk antrean prioritas (menggunakan heapq) berdasarkan f = g + h.
  2. Fungsi a_star:
    • Mengambil poin grid, start, dan end sebagai input.
    • Menginisialisasi open_list (node yang akan dijelajahi) dan closed_list (node yang telah dijelajahi).
    • Menggunakan heapq untuk pengambilan node yang efisien dengan skor f terendah dari open_list.
    • Melakukan loop hingga end ditemukan atau open_list kosong (tidak ada jalur).
    • Menjelajahi tetangga, menghitung biaya (g, h), dan memperbarui open_list.
    • Merekonstruksi dan menampilkan jalur saat end tercapai.
  3. Contoh Penggunaan:
    • Membuat sampel grid dan menentukan titik start dan end.
    • Memanggil a_star untuk menemukan jalur.
    • Mencetak jalur terpendek atau menunjukkan jika tidak ada jalur.
    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)
    

Konteks

Anda dapat memengaruhi cara model merespons perintah dengan menambahkan konteks tambahan dalam petunjuk sistem.

Misalnya, Anda ingin menggunakan model untuk menulis pidato untuk acara. Bandingkan perbedaan respons model saat Anda memberikan konteks berikut:

  • Hal-hal yang harus disertakan dalam pidato.
  • Tidak ada konteks tambahan.
Petunjuk sistem Hal-hal yang harus disertakan dalam pidato Tidak ada konteks tambahan

Bantu pengguna menulis pidato berdasarkan informasi yang diberikan:

  • Acara
  • Ukuran Audiens
  • Informasi Pembicara (nama, usia, dll.)
  • Nada Ucapan
  • Panjang Ucapan
  • Lain-lain

Jika pengguna tidak memberikan semua informasi ini, respons dengan, "Maaf, tetapi saya tidak memiliki semua informasi yang diperlukan untuk membuat ucapan. Berikan acara, ukuran audiens, informasi pembicara, gaya bahasa, durasi, dan informasi lain-lain."

Beberapa hal umum yang harus disertakan adalah:

  • Jeda untuk istirahat
  • Pembuka yang menarik
  • Kata penutup untuk membuat pidato mudah diingat
  • Lelucon

Bantu pengguna menulis pidato berdasarkan informasi yang diberikan:

  • Acara
  • Ukuran Audiens
  • Informasi Pembicara (nama, usia, dll.)
  • Nada Ucapan
  • Panjang Ucapan
  • Lain-lain

Jika pengguna tidak memberikan semua informasi ini, respons dengan, "Maaf, tetapi saya tidak memiliki semua informasi yang diperlukan untuk membuat ucapan. Berikan acara, ukuran audiens, informasi pembicara, gaya bahasa, durasi, dan informasi lain-lain."

Perintah

Acara: Kelulusan Sekolah Menengah

Ukuran Audiens: 1.000 orang

Info Pembicara: Michael Landish, 17 tahun

Gaya bahasa: nostalgia, optimis

Panjang Ucapan: 250-500 kata

Lain-lain: Michael adalah ketua kelas senior, guru favoritnya adalah guru bahasa Inggrisnya di tahun junior, Mrs. Martin, dan dia akan kuliah di Los Caminos State University untuk mempelajari ekonomi dan bahasa Inggris. Dia belum pernah berpidato sebelumnya, dan dia gugup karena disleksianya.

Respons

"Selamat pagi, para dosen, keluarga, teman, dan yang paling penting, sesama lulusan angkatan 2023!

(Jeda)

Berdiri di sini, melihat kalian semua, rasanya tidak nyata. Baru kemarin, kami adalah mahasiswa baru, dengan mata terbelalak dan sedikit ketakutan. Ingat kegelisahan di hari pertama? Saya tahu saya melakukannya. Saya hampir tersandung dan jatuh saat membawa buku teks sejarah saya – hampir saja terjadi bencana yang akan diabadikan di aula sejarah [Nama Sekolah Menengah]!

(Jeda untuk tertawa)

Tapi serius, lihatlah kami sekarang! Kita telah tumbuh dewasa, belajar banyak hal – dan Saya tidak hanya berbicara tentang Teorema Pythagoras. Kita telah belajar tentang kegigihan, persahabatan, dan kekuatan catatan tempel yang ditempatkan dengan baik selama minggu ujian.

Empat tahun terakhir ini sangat luar biasa, dan saya berutang banyak pada pertumbuhan saya sendiri kepada beberapa guru yang benar-benar luar biasa. Saya ingin mengucapkan terima kasih kepada Ibu Martin, guru bahasa Inggris saya di tahun kedua, yang mengajari saya bahwa kata-kata memiliki kekuatan, dan bahwa meskipun menderita disleksia, saya dapat menemukan suara saya. Terima kasih, Ibu Martin.

(Jeda)

Sekarang, kita berada di awal sesuatu yang baru dan menarik. Saat kita berangkat ke berbagai perguruan tinggi, berbagai kota, bahkan berbagai negara, mari kita bawa pelajaran yang telah kita pelajari di [Nama Sekolah Menengah] bersama kita. Mari kita ingat tawa, persahabatan, dan bahkan begadang sesekali sebelum ujian besar.

(Jeda)

Para lulusan, dunia menanti kita. Mari kita hadapi bersama, dengan keberanian, dengan optimisme, dan dengan dukungan yang tak tergoyahkan dari Class of 2023 yang luar biasa. Selamat kepada semua orang, dan ingat – yang terbaik masih akan datang!

"Selamat pagi, para pengajar, keluarga, teman, dan yang terpenting, rekan-rekan lulusan Kelas [Tahun]!

Rasanya aneh berdiri di sini di hadapan kalian, bukan hanya sebagai Michael Landish, tetapi juga sebagai ketua kelas kalian. Selama empat tahun terakhir, lorong-lorong ini telah menjadi tempat pembuktian kami, dipenuhi dengan tawa, sesi belajar larut malam (beberapa lebih berhasil daripada yang lain), dan cukup banyak kenangan bersama yang akan bertahan seumur hidup. Kita tumbuh bersama di dalam tembok ini, dan sekarang, saat kita berdiri di tepi sesuatu yang baru dan tidak diketahui, sulit untuk tidak merasa sedikit kewalahan.

Mengingat kembali, rasanya baru kemarin kami menjadi mahasiswa baru yang canggung, berjalan di lorong yang ramai dan mencoba mencari tahu tempat kami. Sekarang, melihat Anda semua, saya terkesan dengan seberapa jauh kita telah melangkah. Kita saling menyemangati saat meraih kemenangan dan saling mendukung saat mengalami kemunduran. Kami telah belajar dari kesalahan, merayakan kemenangan, dan yang terpenting, menjalin ikatan persahabatan yang saya tahu akan bertahan seumur hidup.

Saya ingin mengucapkan terima kasih secara khusus kepada Ibu Martin, guru Bahasa Inggris saya di tahun kedua, atas kesabaran dan bimbingannya. Keyakinan Anda terhadap saya, terutama saat saya kesulitan, membantu saya menemukan suara saya tidak hanya sebagai siswa, tetapi juga sebagai seseorang. Terima kasih.

Sekarang, kita memulai babak berikutnya. Beberapa orang, seperti saya, akan berangkat ke Los Caminos State University, dengan antusias untuk mempelajari dunia ekonomi dan, ya, bahkan lebih banyak lagi bahasa Inggris. Orang lain akan mengejar jalur yang berbeda, yang sama-sama valid dan menarik. Meskipun perjalanan kita mungkin berbeda, mari kita selalu mengingat pelajaran yang telah kita pelajari dan persahabatan yang telah kita jalin di dalam tembok ini. Mari kita bawa semangat Angkatan [Tahun] bersama kita – semangat ketahanan, tekad, dan dukungan yang tak tergoyahkan untuk satu sama lain.

Selamat kepada para lulusan! Saya tidak sabar ingin melihat hal-hal luar biasa yang akan kita capai.

Langkah berikutnya