반응형

전체 글 123

IPython.display로 HTML 출력하고 ipywidgets로 실시간 슬라이더까지! #3

오늘은 지금까지 다뤄왔던 프롬프트 엔지니어링 기술 이외 파이썬 자체 라이브러리 중 Jupyter Notebook이나 콘솔 환경에서 아주 유용한 IPython 라이브러리에 대해 살펴보겠습니다. IPython.display와 ipywidgetsIPython이란?파이썬을 다루다 보면 콘솔에 출력해야 하는 경우가 흔히 있죠. 특히 Jupyter Notebook을 이용해서 간단한 테스트를 실행해 본다던가 하는 경우는 거의 콘솔과 같은 환경에서 출력을 확인해야 합니다. 이때, 다양한 출력 형태를 만들어 주는 라이브러리가 IPython입니다. IPython은 Jupyter Notebook의 핵심 커널로서 작동하며, 코드 실행뿐 아니라 시각적 피드백을 즉각 제공하는 것이 장점입니다. Jupyter Notebook코드,..

OpenAI GPT 출력 형식 설정으로 JSON 파싱과 프롬프트 엔지니어링 #2

이번 글에서는 지난번에 시작했던, 프롬프트 엔지니어링을 이용해서 GPT에게 원하는 답을 얻는 방법 중 GPT에게 명확하게 구체적으로 잘 묻는 방법에 이어서 GPT의 응답을 명확하게 하도록 요구하는 방법에 대해 이야기해 보겠습니다. OpenAI GPT 출력 형식 설정으로 JSON 파싱과 프롬프트 엔지니어링 GPT에게 잘 묻는 방법지난 글에서는 구분자를 이용해서 지시/요청/질문하는 형식을 말했어요. 오늘은 GPT에게 지시(instruction) 하기 위해 프롬프트를 작성할 때, 응답형식을 정의하는 방법에 대해 이야기해 볼게요. [일단 지난 글과 비슷하게 get_completion 함수를 다음과 같이 구성했고요.def get_completion(prompt): response = openai.chat...

프롬프트 엔지니어링으로 챗GPT와 OpenAI API 활용 - GPT에게 원하는 답을 얻는 법 #1

이번 글부터는 최근 이슈가 되고 있는 생성형 AI와 관련한 기술에 대해 시작해 보겠습니다. 그중 오늘부터 몇 회에 걸쳐 프롬프트 엔지니어링에 살펴보겠습니다. 물론, 가장 많이 사용되는 OpenAI의 GPT 기반으로 설명하게요. 프롬프트 엔지니어링을 이용해서 GPT에게 원하는 답을 얻는 방법챗지피티를 사용하는 사람들 중에서도 "AI가 원하는 답을 주지 않아!"라고 하는 사람들이 가끔 있더라고요, 이때는 그저 '자세하게 질문해'라고 대답을 해주곤 하는데요, 사실은 이 말이 매우 정확하게 충고해 주는 거예요. 챗GPT는 사용자의 입장을 고려해서 사용자는 알 수 없지만, 중간에서 사용자의 요구에 대해 GPT가 보다 적극적이고 자세하고 사용자가 알기 쉽게 대답하도록 가공하는 단계가 있어요. 때문에 챗GPT에게 어..

Flask 데이터베이스, SQLAlchemy와 SQLite로 모델, 마이그레이션, CRUD - Flask #5

데이터베이스(Database)는 데이터를 안전하게 저장하고, 나중에 다시 꺼낼 수 있도록 해주는 저장소입니다. 예를 들어, 사용자 정보를 저장한다고 해보죠. 우리가 파이썬 딕셔너리나 리스트로 정보를 저장하면 서버를 껐다 켤 때 다 사라져 버리기 때문에 데이터베이스로 정보를 저장한 후 언제든지 정보를 다시 꺼낼 사용 해야 합니다. Flask에서 데이터베이스를 연결하는 방법Flask 자체는 데이터베이스 기능이 없지만, Flask-SQLAlchemy라는 확장 도구를 사용하여 연결할 수 있습니다. 더하여, 가벼운 데이터베이스인 SQLite를 사용할 수 있죠. 설치 방법pip install Flask Flask-SQLAlchemy Flask-MigrateFlask: 웹 애플리케이션 프레임워크Flask-SQL..

Flask 폼 처리, 사용자 입력, GET/POST 차이, CSRF 보안 설정 방법 - Flask #4

웹 애플리케이션에서 사용자의 입력을 받아 처리하는 일은 거의 모든 기능의 출발점입니다. 회원가입, 로그인, 검색창, 문의 폼, 게시글 작성 등 대부분의 인터랙션은 사용자가 정보를 입력하고 서버가 그 값을 받아 처리하는 흐름으로 작동합니다. 이 단락에서는 Flask 기반 웹 애플리케이션에서 HTML 폼을 구성하고, 사용자 입력을 수신하여 처리하는 전 과정을 실무 흐름에 맞게 설명합니다. HTML 폼과 Flask 연동웹에서 폼(form)이란 사용자가 텍스트를 입력하거나 선택한 값을 서버로 전송할 수 있도록 구성된 구조입니다. HTML에서는 태그를 사용하며, 이 안에 다양한 입력 필드( , , 등)가 들어갑니다. 폼의 주요 속성 action : 사용자가 입력한 데이터를 어디(URL)로 보낼 ..

웹 UI 개발을 위한 Flask 템플릿 엔진 Jinja2 조건문과 템플릿 구조 가이드 - Flask #3

Flask 웹 개발 입문자 및 실무자를 대상으로 템플릿 엔진 Jinja2의 기본 개념과 문법을 익히고, 이를 웹 UI로 구성할 수 있도록 정리합니다. Jinja2는 Flask 개발에서 HTML과 Python 간의 연결을 자연스럽게 처리하는 핵심 도구이며, 조건문, 반복문, 템플릿 상속 및 레이아웃 구성 같은 기능을 통해 웹페이지의 구조화, 재사용성, 유지보수에 있어서 효율성이 높습니다.  Flask 템플릿 엔진 Jinja2의 이해와 활용  Jinja2 문법 기초웹 개발에서는 서버의 데이터를 사용자의 브라우저에 보여주기 위해 HTML에 동적으로 값을 삽입하는 경우가 많습니다.예를 들어 사용자의 이름이나 게시글 목록 등을 표시하려면 단순한 정적 HTML만으로는 부족하죠. 이때 사용하는 것이 템플릿 엔진입니다..

Flask 웹 개발 입문자를 위한 URL 매핑과 HTTP 메서드 처리 가이드 - Flask #2

Flask의 핵심 개념 중 하나인 URL 라우팅 시스템과 @app.route() 데코레이터의 역할, 동적 라우팅과 HTTP 메서드 처리 방식에 대해 정리합니다.  URL 매핑과 HTTP 메서드 처리  브라우저에 입력한 주소는 어디로 연결될까?웹 브라우저에 "http://localhost:5000/hello"라고 입력하면 Flask 애플리케이션은 어떻게 이 요청을 처리할까요?Flask는 라우터(Router)라는 내부 시스템을 통해, 들어온 URL을 미리 등록된 뷰 함수(view function)와 연결합니다. 이 연결 규칙을 "라우팅(Routing)"이라 부르며, 웹 서버의 주소창이 아닌 Flask 코드 내부에서 그 처리 과정을 구현합니다..즉, Flask는 단순히 'HTML을 보여주는 도구'가 아니라, ..

반응형