Tạo và giải thích mã

Kỹ thuật Prompt với OpenAI API

Fouad Trad

Machine Learning Engineer

Tạo mã

  • Tạo mã nguồn để giải quyết một bài toán
  • Thiết yếu trong mọi lĩnh vực dùng giải pháp phần mềm
  • Hiểu mã sinh ra là điều cần thiết để dùng hiệu quả

Biểu tượng hiển thị mã trên nhiều màn hình.

Kỹ thuật Prompt với OpenAI API

Lời nhắc tạo mã

  • Mô tả bài toán
  • Ngôn ngữ lập trình
  • Định dạng (script, function, class)
prompt = "Write a Python function that accepts a list of quarterly sales, and outputs the 
average sales per quarter."
print(get_response(prompt))
def calculate_average_sales(quarterly_sales):

total_sales = sum(quarterly_sales) average_sales = total_sales / len(quarterly_sales)
return average_sales
Kỹ thuật Prompt với OpenAI API

Ví dụ đầu vào–đầu ra

  • Cung cấp ví dụ vào-ra để sinh chương trình ánh xạ theo đó
examples = """
Input: [150000, 180000, 200000, 170000] -> Output: 175000.0
Input: [10000, 25000, 30000, 15000] -> Output: 20000.0
Input: [50000, 75000, 60000, 45000] -> Output: 57500.0
"""

prompt = f"""You are provided with input-output examples delimited by triple backticks for a python program that receives a list of quarterly sales data. Write code for this program. ```{examples}```""" print(get_response(prompt))
Kỹ thuật Prompt với OpenAI API

Ví dụ đầu vào–đầu ra

Based on the provided input-output examples, it seems like you want to calculate the average of 
quarterly sales data for each set of input values. 

Here's a Python program that does that: def calculate_average_quarterly_sales(sales_data): total_sales = sum(sales_data) num_quarters = len(sales_data) average_sales = total_sales / num_quarters return average_sales
print(calculate_average_quarterly_sales([150000, 180000, 200000, 170000])) # Output: 175000.0 print(calculate_average_quarterly_sales([10000, 25000, 30000, 15000])) # Output: 20000.0 print(calculate_average_quarterly_sales([50000, 75000, 60000, 45000])) # Output: 57500.0
Kỹ thuật Prompt với OpenAI API

Chỉnh sửa mã

  • Yêu cầu mô hình chỉnh sửa mã theo yêu cầu
script = """
quarterly_sales = [150, 180, 200, 170]
total_sales = sum(quarterly_sales)
print("Total sales: ", total_sales)
"""

prompt = f"""Modify the script delimited by triple backticks to a function that we can call to compute the total sales given quarterly sales ```{script}```""" print(get_response(prompt))
Kỹ thuật Prompt với OpenAI API

Chỉnh sửa mã

def compute_total_sales(quarterly_sales):
    total_sales = sum(quarterly_sales)
    return total_sales

quarterly_sales = [150, 180, 200, 170] total_sales = compute_total_sales(quarterly_sales) print("Total sales: ", total_sales)
Kỹ thuật Prompt với OpenAI API

Chỉnh sửa mã nhiều yêu cầu

script = """
quarterly_sales = [150, 180, 200, 170]
total_sales = sum(quarterly_sales)
print("Total sales: ", total_sales)
"""

prompt = f"""Modify the script delimited by triple backticks as follows: - Let user input parameters interactively ```{script}```""" print(get_response(prompt))
Kỹ thuật Prompt với OpenAI API

Chỉnh sửa mã nhiều yêu cầu

script = """
quarterly_sales = [150, 180, 200, 170]
total_sales = sum(quarterly_sales)
print("Total sales: ", total_sales)
"""

prompt = f"""Modify the script delimited by triple backticks as follows: - Let user input parameters interactively - Make sure to verify inputs are positive, otherwise, display a message for the user, and ask them to provide their input again. ```{script}```""" print(get_response(prompt))
Kỹ thuật Prompt với OpenAI API

Chỉnh sửa mã nhiều yêu cầu

quarterly_sales = []

for i in range(4):
    while True:
        sales = float(input("Enter quarterly sales for quarter {}: ".format(i+1)))
        if sales <= 0:
             print("Sales must be positive. Please try again.")
             continue
        quarterly_sales.append(sales)
        break

total_sales = sum(quarterly_sales)
print("Total sales: ", total_sales)
Kỹ thuật Prompt với OpenAI API

Giải thích mã

  • Mã có thể khó hiểu
  • Có thể dùng LLM để giải thích mã

Hình ảnh hiển thị mã phức tạp trên màn hình.

Kỹ thuật Prompt với OpenAI API

Yêu cầu giải thích mã

code = """
def compute_average_sales_per_quarter(quarterly_sales):
    average_sales = sum(quarterly_sales) / len(quarterly_sales)
    return average_sales
"""
  • Chỉ định độ dài phần giải thích
prompt = f"""Explain in one sentence what the code delimited by triple backticks does
             ```{code}```"""
print(get_response(prompt))
The code calculates the average sales per quarter by summing up the values in the 
"quarterly_sales" list and dividing the sum by the number of elements in the list.
Kỹ thuật Prompt với OpenAI API

Giải thích mã chi tiết

code = """
def compute_average_sales_per_quarter(quarterly_sales):
    average_sales = sum(quarterly_sales) / len(quarterly_sales)
    return average_sales
"""
  • Giải thích chi tiết với lời nhắc chain-of-thought
prompt = f"""Explain what the code delimited by triple backticks does. 
Let's think step by step.
```{code}```"""
print(get_response(prompt))
Kỹ thuật Prompt với OpenAI API

Giải thích mã chi tiết

The code defines a function called `compute_average_sales_per_quarter` that takes in a list of `quarterly_sales` as a 
parameter.

Inside the function, it calculates the average sales by summing up all the values in the `quarterly_sales` list using the `sum()` function, and then dividing it by the length of the list using the `len()` function. The result is stored in the variable `average_sales`.
Finally, the function returns the calculated average sales value.
This code snippet can be used to calculate the average sales per quarter given a list of quarterly sales data.
Kỹ thuật Prompt với OpenAI API

Ayo berlatih!

Kỹ thuật Prompt với OpenAI API

Preparing Video For Download...