本文档介绍了一些策略,用于创建可与支持的模型搭配使用来使用自然语言说明生成代码的提示。
使用场景
以下是代码生成的一些常见应用场景:
单元测试 - 设计提示以请求对函数进行单元测试。
编写函数 - 将问题传递给模型,以获取可以解决问题的函数。
创建类 - 使用提示来说明类的用途,并具有用于定义返回的类的代码。
支持的模型
以下模型支持代码生成任务:
- Gemini 1.5 Flash
- Gemini 1.5 Pro
- Gemini 1.0 Pro
示例代码生成提示
以下示例展示了如何设计代码生成提示。
生成 Docker 脚本
您可以使用代码生成模型来生成 Docker 脚本。以下提示会生成一个 Docker 脚本,以创建安装了特定内容库的 Linux 机器:
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. |
生成函数
您可以使用代码生成模型来生成函数。以下提示会生成一个函数,该函数输入年份并确定是否为闰年:
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 ``` |
生成单元测试
您可以使用代码生成模型来生成单元测试。
以下提示会为函数生成单元测试,以确定某一年是否为闰年。
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() ``` |
后续步骤
- 了解如何发送 Gemini 聊天提示请求。
- 了解如何创建代码聊天提示。
- 了解如何创建代码补全提示。
- 了解负责任的 AI 最佳实践和 Vertex AI 的安全过滤条件。