1. PromptTemplate란?

- 사용자에게 간단한 입력만 받아서 프롬프트를 통해 llm으로 결과를 도출할 때 사용한다.

- 프롬프트에 일부 인자만 받도록 해서 프롬프트를 특정 용도로 사용하고 관리할 수 있다.

- 예를 들어 일부 정해진 답변만 받을 수 있는 경우 사용할 수 있고, 제한된 입력을 받기 원할 때 사용할 수 있다.

 

2. 예제 코드

- 아래와 같은 예제 코드를 사용하면

 
from langchain_google_genai import GoogleGenerativeAI
from langchain_core.prompts import PromptTemplate
from langchain_core.messages import HumanMessage

# GEMINI_API_KEY는 발급 받은 gemini key
model = GoogleGenerativeAI(model="gemini-1.5-flash", google_api_key=GEMINI_API_KEY)

template = PromptTemplate(
template="""{programming_language}가 주로 어떤 개발에 쓰이는지 예시를 3개만 알려줘""",
input_variables="programming_language"
)

message = template.format(programming_language="파이썬")
result = model.invoke(message)
 

 

- 결과에서 아래의 결과를 받을 수 있다.

파이썬은 다양한 분야에 사용되지만, 주요 용도 3가지 예시는 다음과 같습니다.

1. **웹 개발:** 파이썬은 웹 애플리케이션을 구축하는 데 널리 사용됩니다.  Django와 Flask와 같은 강력한 웹 프레임워크를 통해 개발자는 효율적으로 웹사이트와 웹 서비스를 만들 수 있습니다.  예를 들어, Instagram이나 Pinterest와 같은 대규모 웹사이트도 파이썬을 기반으로 구축되었습니다.

2. **데이터 과학 및 머신러닝:** 파이썬은 과학적 계산과 데이터 분석에 필요한 풍부한 라이브러리를 제공합니다. NumPy, Pandas, Scikit-learn, TensorFlow, PyTorch 등의 라이브러리를 사용하여 데이터를 처리, 분석하고, 머신러닝 모델을 개발 및 배포할 수 있습니다.  예를 들어,  데이터 분석, 예측 모델링, 이미지 인식 등의 작업에 파이썬이 널리 활용됩니다.

3. **스크립팅 및 자동화:** 파이썬의 간결하고 읽기 쉬운 문법은 스크립트 작성 및 자동화 작업에 매우 적합합니다.  반복적인 작업을 자동화하거나, 시스템 관리 작업을 수행하거나, 파일을 처리하는 등 다양한 용도로 사용됩니다. 예를 들어, 파일 백업 스크립트 작성, 웹 스크래핑, 시스템 모니터링 등에 파이썬을 이용할 수 있습니다.

 

3. 템플릿을 json 파일로 저장해서 관리하기

- 위에서 설정한 템플릿을 save로 저장하면 파일이 생성된다

 
template.save("programming_language_template.json")
 

 

- 아래와 같은 예시 코드로 파일을 불러서 사용할 수 있다.

 
from langchain_core.prompts import load_prompt

loaded_prompt = load_prompt("programming_language_template.json")
message = loaded_prompt.format(programming_language="코틀린")

result = model.invoke(message)
print(result)
 
코틀린은 다양한 분야에서 사용되지만, 주요 활용 분야 3가지 예시는 다음과 같습니다.

1. **Android 앱 개발:**  구글이 공식적으로 지원하는 Android 앱 개발 언어이기 때문에 가장 널리 쓰입니다.  Java보다 간결하고 현대적인 문법을 제공하여 개발 생산성을 높이고 코드 유지보수를 용이하게 합니다.  많은 안드로이드 앱들이 코틀린으로 개발되거나, 기존 자바 코드를 코틀린으로 리팩토링하여 사용하고 있습니다.

2. **서버측 개발 (Backend):**  Spring Boot와 같은 프레임워크와의 호환성이 뛰어나 서버 애플리케이션 개발에 효과적입니다.  Java와 비교하여 더 간결하고 안전한 코드를 작성할 수 있으며,  Kotlin Coroutines를 이용한 비동기 프로그래밍을 통해 성능 향상을 기대할 수 있습니다.  웹 서비스, API, 마이크로서비스 등 다양한 서버 애플리케이션 구축에 사용됩니다.

3. **데이터 사이언스/머신러닝:**  JVM 기반이기 때문에  Apache Spark와 같은 데이터 처리 프레임워크와 잘 통합됩니다.  간결한 문법과 null safety 기능은 데이터 분석 및 머신러닝 모델 개발 과정에서 발생할 수 있는 오류를 줄이는 데 도움이 됩니다.  데이터 분석 스크립트 작성 및 머신러닝 모델 구축에 사용될 수 있습니다.


이 외에도, 데스크탑 애플리케이션, 웹 프론트엔드(Kotlin/JS), 게임 개발 등 다양한 분야에서 코틀린이 사용되고 있지만, 위 세 가지가 가장 대표적인 활용 분야라고 할 수 있습니다.

 

+ Recent posts