반응형

Python 411

OpenAI GPT API에서 structured output 구조로 대답을 받도록 설정하는 방법 정리(pydantic 기능 활용)

안녕하세요.때로는 ChatGPT API를 사용하는 과정에서 원하는 response를포맷이 고정된 json 구조(structured output)로 받고 싶은 경우가 있습니다. 이런 경우를 위하여 pydantic의 type 지정 기능을 활용하여응답의 포맷을 고정하도록 주문하는 방법들이 있는데요. 이를 활용하는 예시 코드들을 간략하게 살펴보면서기능 사용법에 대한 이해를 해보도록 하겠습니다.  코드 예시방법 1먼저, OpenAI Client를 선언합니다.from openai import OpenAIOPENAI_API_KEY = "sk-xxxx" # 사용할 OpenAI API Keyclient = OpenAI(api_key=OPENAI_API_KEY) 이후, 원하는 포맷의 json 양식을 pydantic 모델로..

Python/NLP Code 2024.11.05

파이썬 atlassian(jira, confluence 등) 크롤링 api 모듈 소개

안녕하세요.이번 글에서는 Python으로 지라나 위키 등 atlassian의 페이지들을손쉽게 크롤링할 수 있는 api 모듈에 대하여 간략하게 소개를 진행해보도록 하겠습니다.  모듈 설치이 기능은 atlassian-python-api 모듈을 통해서 진행되는데요.설치는 다음 명령어로 쉽게 진행이 가능합니다.pip install atlassian-python-api 참고로, 해당 모듈의 사용법은 아래 링크의 공식 document에 자세히 열거되어 있으므로,디테일한 사용 방법은 해당 문서를 참고해주시길 바랍니다.https://atlassian-python-api.readthedocs.io/  Confluence API 사용 예시대표적으로 위키 페이지를 구성하는 confluence API를 사용하는 예시를 살펴보..

Python/Crawling 2024.10.31

파이썬 sentry(오류 모니터링 툴) 연결 방법 정리

안녕하세요.이번 시간에는 Python에서 예외 모니터링 툴로 널리 사용되는 sentry를연결하는 방법을 간략하게 정리해보도록 하겠습니다.  센트리 프로젝트 생성1. sentry.io 사이트에 접속합니다. 2. 로그인(또는 회원 가입) 후, 프로젝트를 생성합니다. 여기서 프로젝트에서 사용하는 언어를 고를 때,python 뿐만 아니라 fastapi, flask 등 프레임워크 단위로도 존재하니 참고하세요. 3. 만든 프로젝트에 대해서 설정(톱니바퀴 모양 버튼 클릭)에 들어가줍니다. 4. 여기서 좌측의 Client Keys (DSN) 메뉴 탭을 보시면 상단에 DSN이 있으므로,이 값을 잘 복사하여 가져옵니다. 여기까지 진행되었다면 파이썬 프로그램을 sentry 프로젝트에 연결하기 위한웹 사이트에서의 기본적인 준..

Python/Utils 2024.10.26

파이썬 디렉토리 관리 모듈 shutil 함수 정리

안녕하세요. Python으로 파일 및 디렉토리에 대한 조작이 필요한 경우,os 모듈로도 작업이 가능하지만 이번 글에서는 해당 작업에 특화된또 다른 모듈인 shutil 모듈에 대하여 간략하게 주요 함수들을 정리해 보겠습니다.참고로, shutil 모듈은 파이썬 표준 라이브러리이므로, 별도의 설치가 필요하지 않습니다.  복사 관련 함수: copy, copy2, copytree1. copy먼저 copy 함수는 파일을 복사할 수 있는 기본적인 shutil의 함수입니다.이 함수는 파일의 수정 시간 등의 메타데이터는 복사하지 않고,오직 파일의 내용만 복사하는 특징을 가지고 있습니다. 사용 방법 코드 예시는 다음과 같습니다.import shutil# 'source.txt'를 현재 디렉토리에 'destination.tx..

Python/Utils 2024.10.14

[Slack Bolt] 파이썬 Slack App 슬래시(/) 커맨드 생성 방법

안녕하세요. 이번 글에서는 Python으로 슬랙 앱의 기능을 구현할 때,/로 시작하는 명령어인 Slash Commands 생성 방법에 대해서간략하게 정리해보도록 하겠습니다. 앱의 생성 및 기본 코드 골격이 갖춰진 상황을 가정하고 작성하도록 하겠습니다.이에 대한 상세 방법이 필요하시다면 아래 링크의 글을 참고해주세요. [Slack Bolt] 파이썬 Slack App 댓글 기능 구현 예제안녕하세요. 이번 글에서는 Python slack bolt 모듈을 활용하여 특정 텍스트가 인식되면 스레드에 댓글을 달게 만드는 아주 간단한 슬랙앱 예제를 다루어보도록 하겠습니다. 이번에 다룰 슬랙앱의jimmy-ai.tistory.com  1. 슬랙 앱 Config 설정먼저, 슬랙 앱의 환경 설정에서 Slash Commands..

Python/Slack API 2024.10.03

파이썬으로 쿠버네티스 리소스 생성 코드 예제

Python에서 k8s의 리소스를 원격으로 생성하는 것이 가능합니다.이 글에서는 kubernetes 모듈을 활용하여 yaml 파일로 부터리소스를 생성하는 방법을 간략하게 소개해보도록 하겠습니다.  사전 작업먼저, kubernetes 모듈과 yaml 파일을 다루기 위한 pyyaml 모듈을 설치해주어야 합니다.pip install kubernetes pyyaml 또한, 파이썬 코드로 리소스 원격 생성을 진행하기 위해서는kubectl 명령어를 터미널 내에서 사용 가능하도록 config 설정이 되어있어야 합니다.  코드 예제다음은 리소스에 해당하는 yaml 파일을 이용하여 pod를 생성하는 코드 스니펫 예시입니다.from kubernetes import client, config, utils# kubernete..

Python/Utils 2024.09.20

파이썬 pdb 디버거 사용 방법 정리

Python에서 디버깅을 쉽게 진행할 수 있는 디버거인 pdb 모듈의 사용 방법을간략하게 정리해보도록 하겠습니다.  pdb 디버거 선언 방법 및 예제먼저, pdb 모듈을 임포트해줍니다.(별도의 설치가 필요하지 않은 내장 모듈입니다.)import pdb 디버거 작동을 원하는 부분에 다음 코드를 입력해주시면 됩니다.pdb.set_trace() 실제 코드 내에서 사용한 예제는 다음과 같습니다.def my_function(): foo = 3 bar = 5 pdb.set_trace() # 해당 위치에서 디버거 작동 return foo + barmy_function() 위 예제에서 my_function() 호출 시 디버거 작동 부분에서 코드가 걸리면디버거가 시작되고, 해당 위치 내에서 선언된 ..

Python/Utils 2024.08.08

파이썬 alembic으로 데이터베이스 테이블 생성 예제

Python 코드 내에서 정의한 스키마의 SQL 테이블을 자동으로 마이그레이션하도록도와주는 alembic의 사용 방법 예제를 간략하게 정리해보도록 하겠습니다.  SQLAlchemy 모델 정의먼저, sqlalchemy를 활용하여 원하는 테이블의 스키마를 정의해야 합니다. 다음과 같은 간단한 스키마의 테이블을 가정해보도록 하겠습니다.파일 이름은 models.py를 가정으로 하며, DB url까지 해당 파일에 명시해줍니다.해당 스키마로 생성할 테이블 이름은 'users'로 가정하겠습니다.# models.pyfrom sqlalchemy import Column, Integer, String, create_enginefrom sqlalchemy.ext.declarative import declarative_bas..

Python/Utils 2024.08.04

FastAPI docs 작성 방법 정리

Python의 fastapi를 통하여 API 문서를 자동으로 쉽게 작성되도록 만들 수 있습니다.이 기능을 잘 활용하면 API를 구현할 때 이점이 굉장히 많은데요.이번 글에서는 fastapi의 docs 작성 방법들에 대하여 간략하게 요약해보도록 하겠습니다.  텍스트 설명 입력 방법API 사용 방법에 대하여 텍스트 설명을 추가하고 싶은 경우가 많습니다.여기서는 3가지 방법을 소개합니다.summary: 메소드 사용 방법 옆의 설명(빨간색 표시 부분)description: 메소드 상세 사용 방법(주황색 표시 부분)response_description: response 메시지에 관한 설명(노란색 표시 부분) 위 3가지 설명란이 제공된 docs의 예시는 다음과 같습니다. 코드에서는 위 3가지를 다음과 같이 적용할 ..

Python/Backend 2024.07.30

파이썬 os.environ vs os.getenv 함수 비교

Python에서 환경 변수를 다루기 위한 함수인 os.environ과 os.getenv에 대하여사용 방법과 용도를 비교해보도록 하겠습니다.  os.environos.environ은 환경 변수 목록들의 딕셔너리 객체처럼 취급하는 역할을 합니다.즉, [ ] 괄호로 환경 변수 정보를 가져오며, 읽기 / 쓰기 / 삭제 등의 역할을 모두 지원합니다.(선언되지 않은 환경 변수에 대해서는 읽기 시도 시 KeyError가 발생합니다.) 사용 방법의 코드 예시는 다음과 같습니다.import os# 읽기, 선언되지 않은 환경 변수라면 KeyError 발생value = os.environ['VARIABLE_NAME']# 쓰기, 환경 변수 선언os.environ['VARIABLE_NAME'] = 'value'# 삭제, 환경 ..

Python/Utils 2024.07.25
반응형