Prompts zum Generieren von Code erstellen

Die Modelle gemini-1.0-pro und code-bison unterstützen das Generieren von Code mithilfe einer Beschreibung in natürlicher Sprache. In diesem Thema werden Strategien zum Erstellen von Eingabeaufforderungen beschrieben, die mit den unterstützten Modellen arbeiten, um Code zu generieren.

Anwendungsfälle

Typische Anwendungsfälle für die Codegenerierung:

  • Unittests: Verwenden Sie die Eingabeaufforderung, um einen Unittest für eine Funktion anzufordern.

  • Funktion schreiben: Übergeben Sie ein Problem an das Modell, um eine Funktion zu erhalten, die dieses Problem löst.

  • Klasse erstellen: Verwenden Sie einen Prompt, um den Zweck einer Klasse zu beschreiben und Code zur Definition der Klasse zu erhalten.

Unterstützte Modelle

Die folgenden Modelle unterstützen Code-Generierungs-Aufgaben:

  • gemini-1.0-pro
  • code-bison

Beispiele: Prompts zur Codegenerierung

In den folgenden Beispielen wird gezeigt, wie Sie Prompts zur Codegenerierung erstellen.

Docker-Skript generieren

Sie können das Modell zur Codegenerierung verwenden, um ein Docker-Skript zu generieren. Mit folgendem Prompt wird ein Docker-Skript generiert, um einen Linux-Rechner mit bestimmten installierten Bibliotheken zu erstellen:


Generate a Docker script to create a simple linux machine that has python 3.10 installed with following libraries: pandas, tensorflow, numpy
  

```
# Create a new Dockerfile
FROM ubuntu:20.04

# Update the package list
RUN apt-get update

# Install Python 3.10
RUN apt-get install -y python3.10

# Install Python libraries
RUN pip install pandas tensorflow numpy

# Create a new user
RUN useradd -m user

# Set the default user
USER user

# Start the Python shell
CMD ["python"]
```

To build the Docker image, run the following command:

```
docker build -t my-python-image .
```

To run the Docker image, run the following command:

```
docker run -it --rm my-python-image
```

This starts a new container based on the `my-python-image` image. You can then use the Python shell to interact with the container. For example, you can install additional Python libraries or run Python scripts.
  

Funktion generieren

Mit dem Modell zur Codegenerierung können Sie eine Funktion generieren. Der folgende Prompt generiert eine Funktion, die ein Jahr eingibt und bestimmt, ob es ein Schaltjahr ist oder nicht:


Write a function that checks if a year is a leap year.
  

```python
def is_leap_year(year):
"""
def is_leap_year(year):
  """
  Check if a year is a leap year.

  Args:
    year: The year to check.

  Returns:
    True if the year is a leap year, False otherwise.
  """

  if year % 4 != 0:
    return False
  elif year % 100 == 0 and year % 400 != 0:
    return False
  else:
    return True
```
  

Unittest generieren

Sie können das Modell zur Codegenerierung verwenden, um einen Unittest zu erstellen.

Der folgende Prompt generiert einen Unitest für eine Funktion, die bestimmt, ob ein Jahr ein Schaltjahr ist.


Write a unit test for this function:
def is_leap_year(year):
  """
  Check if a year is a leap year.

  Args:
    year: The year to check.

  Returns:
    True if the year is a leap year, False otherwise.
  """

  if year % 4 != 0:
    return False
  elif year % 100 == 0 and year % 400 != 0:
    return False
  else:
    return True
  

```python
import unittest

class IsLeapYearTest(unittest.TestCase):

    def test_is_leap_year_true(self):
        self.assertTrue(is_leap_year(2000))
        self.assertTrue(is_leap_year(2004))
        self.assertTrue(is_leap_year(2012))

    def test_is_leap_year_false(self):
        self.assertFalse(is_leap_year(1900))
        self.assertFalse(is_leap_year(1999))
        self.assertFalse(is_leap_year(2100))

    def test_is_leap_year_invalid_input(self):
        with self.assertRaises(TypeError):
            is_leap_year("2000")

if __name__ == '__main__':
    unittest.main()
```
  

Nächste Schritte