AI

Prompt Engineering) 프롬프트 엔지니어링 Applications Part 1

Todah 2024. 2. 15. 18:47
반응형

▶ 프롬프트 엔지니어링 Applications Part 1

 

  프롬프트 엔지니어링도 결국에는 여러가지 시스템들과 결합해서 사용하는 것이 고점이라고 볼 수 있다.

 


☞ 데이터 생성

 

  일관된 텍스트 같은 데이터들을 생성하는 것은 LLM이 두각을 나타내는 한 분야이다. 따라서 적절한 프롬프팅 방법을 사용한다면 일관적이고 사실에 입각한 결과물들을 얻을 수 있다.

 

▶ 질문

 

▶ 모델의 답변

 


 

☞ 코드 생성

 

□ 데이터 생성과 마찬가지로 코드 생성에서도 어마어마한 효율을 보여줍니다.

 

  Custom Instruction 에서 LLM 모델에게 위와 같이 역할을 부여한 후, 원하는 결과물들을 유도하는 프롬프팅 방법을 사용하면 된다.

 


 

▷ 주석을 코드로 변환

 

□ Custom Instruction 입력을 마쳤다면, 주석만 가지고도 코드를 생성할 수 있다.

 

▶ 질문

 

▶ 모델의 답변

movies = ["쇼생크 탈출", "대부", "다크 나이트", "쉰들러 리스트", "펄프 픽션", "반지의 제왕: 왕의 귀환", "포레스트 검프", "스타워즈: 에피소드 V - 제국의 역습", "인셉션", "양들의 침묵"]
 
ratings = [9.3, 9.2, 9.0, 8.9, 8.9, 8.9, 8.8, 8.7, 8.7, 8.6]
 
movie_ratings = {}
 
for i in range(len(movies)):
    movie_ratings[movies[i]] = ratings[i]
 
json_object = json.dumps(movie_ratings, indent=4)
 
print(json_object)

 

 


 

 함수 또는 이후 내용을 완성시키기

 

□ GitHub Copliot과 유사한 기능으로 #지시문으로 어떤 함수를 만들어야하는지 제시한다면 일부를 입력하는 것만으로도 꽤 유용한 결과물들을 얻을 수 있다.

 

▶ 질문

 

▶ 모델의 답변

def multiply_and_add_75(num1, num2):
    """
    Function to multiply two numbers and add 75 to the result.
    
    Parameters:
        num1 (int or float): The first number.
        num2 (int or float): The second number.
    
    Returns:
        int or float: The result of multiplying num1 and num2, then adding 75.
    """
    result = num1 * num2
    result += 75
    return result
    
    
result = multiply_and_add_75(5, 10)
print(result)  # Output will be 125 (5 * 10 + 75 = 125)

 

 


 

 MySQL 쿼리 생성

 

□ 쿼리도 마찬가지로 생성이 가능하다. 쿼리는 카마가 있을때 더 실용적인 결과를 출력해주기 때문에, 프롬프트에 스키마도 함께 생성하는 형식으로 작성하면 된다.

 

1. 스키마 생성

 

▶ 질문

 

▶ 모델의 답변

CREATE TABLE departments (
    DepartmentId INT PRIMARY KEY,
    DepartmentName VARCHAR(255) NOT NULL
);

CREATE TABLE students (
    StudentId INT PRIMARY KEY,
    StudentName VARCHAR(255) NOT NULL,
    DepartmentId INT,
    FOREIGN KEY (DepartmentId) REFERENCES departments(DepartmentId)
);

 

 

2. 더미 데이터 입력

 

▶ 질문

 

▶ 모델의 답변

-- Inserting rows into the departments table
INSERT INTO departments (DepartmentId, DepartmentName) VALUES
(1, 'Computer Science'),
(2, 'Electrical Engineering'),
(3, 'Mechanical Engineering'),
(4, 'Civil Engineering');

-- Inserting rows into the students table
INSERT INTO students (DepartmentId, StudentId, StudentName) VALUES
(1, 101, 'John Smith'),
(2, 102, 'Emily Johnson'),
(3, 103, 'Michael Williams'),
(4, 104, 'Sophia Brown');

 

 

3. 쿼리 테스트

 

▶ 질문

 

▶ 모델의 답변

SELECT students.StudentId, students.StudentName
FROM students
JOIN departments ON students.DepartmentId = departments.DepartmentId
WHERE departments.DepartmentName = 'Computer Science';

 

 


 

 코드 설명

 

□ 마찬가지로 이미 작성된 코드의 해석도 가능하다.

 SQL 쿼리문에 대해서 설명을 요청했지만, 현재 모델의 Custom Instruction이 Python 도우미로 설정되어 있기때문에 아래와 같은 답변이 출력된다.

 

▶ 질문

 

▶ 모델의 답변

 

 


 

반응형