Processing math: 100%
반응형

Python 385

FastAPI에서 Form 데이터에 대한 무결성 검증 방법

안녕하세요.이번 시간에서는 fastapi에서 Form으로 input을 받는 경우,pydantic을 통한 데이터 무결성을 검증하는 방법을 살펴보도록 하겠습니다. request body로 json input을 받는 경우에는 다음과 같이 쉽게 무결성 구현이 가능합니다.from fastapi import FastAPIfrom pydantic import BaseModel, Field, EmailStrapp = FastAPI()class User(BaseModel): username: str = Field(..., min_length=3, max_length=50) password: str = Field(..., min_length=8) email: EmailStr is_active: boo..

Python/Backend 2025.03.07

파이썬 이미지 합치기 코드 예시(PIL 이용)

안녕하세요.이번 글에서는 Python에서 이미지끼리 붙이는 코드 예시를 다루어보도록 하겠습니다. 다음과 같은 이미지 두 장이 있다고 가정하겠습니다.(pixabay에서 다운 받은 이미지들입니다.) 이 사진 두 장을 가로 / 세로 방향으로 병합하는 코드를 각각 살펴보겠습니다.(이 글에서는 두 이미지의 크기가 같다고 가정합니다.)  1. 가로 방향 이미지 병합다음은 가로 방향으로 이미지를 합치는 코드 예시입니다. 만일, PIL 모듈 설치가 필요하다면 !pip install Pillow 명령어로 설치를 진행해주세요.from PIL import Image# 가로 방향으로 이미지를 붙이는 코드def concat_images_horizontally(img_path1, img_path2, output_path): ..

Python/Vision Code 2025.02.24

FastAPI 동기/비동기 설정 시 주의 사항

안녕하세요.이번 글에서는 FastAPI로 코드 작성 시sync/async 설정과 관련하여 유의해야할 사항을 정리해보겠습니다. 결론부터 말씀드리면"비동기 함수들로 올바르게 구성된 엔드포인트 함수는 async def로 작성하는 것이 좋지만,동기 함수로 실행해야 하는 경우라면 단순 def로 작성해야 한다." 입니다.  예시 코드다음과 같은 엔드포인트를 구성하는 함수가 있다고 가정하겠습니다.# 올바른 선언 예시: async def 내에 비동기 함수@app.get('/wait')async def example(): await asyncio.sleep(5) # 비동기 함수 return 0 이 경우는 비동기 함수로 구성된 올바른 async def 엔드포인트 함수 예시로5초 대기 후 응답을 반환하는 로직이 ..

Python/Backend 2025.02.17

파이썬으로 슬랙 DM을 보내는 방법

안녕하세요.이번 글에서는 Python에서 slack 개인 메시지를 전송하는 방법을 정리해보도록 하겠습니다.  슬랙앱 세팅이 방법을 위해서는 Slack bot 토큰(xoxb-로 시작)과권한 설정이 필요한데요. 이 과정이 필요하신 분들은 아래의 포스팅을 참고하여 세팅해주시면 됩니다. 슬랙앱(Slack App) 생성 설정 방법 완벽 가이드Slack에서는 슬랙앱을 만들어 워크스페이스 내에서 원하는대로 여러 기능을 수행하는 봇을 운영할 수 있는 기능을 제공합니다. 이를 위하여 슬랙앱을 처음에 만들 때, 권한 등 여러 가지 항목에jimmy-ai.tistory.com slack DM을 보내기 위하여 필요한 권한의 목록은 다음과 같습니다.# 필수im:writechat:write# 커스텀할 기능에 따라 필요im:read..

Python/Slack API 2025.02.11

파이썬 고성능 언어 감지 모듈 Lingua 소개 및 예제

안녕하세요.이번 글에서는 Python에서 제공되는 언어 감지 모듈인Lingua에 대해서 간략하게 소개를 해보고 코드 예제를 다루어보도록 하겠습니다. 해당 모듈에 대한 공식 github 페이지는 다음과 같으며,이 포스팅도 해당 글의 내용을 토대로 작성하였습니다. GitHub - pemistahl/lingua-py: The most accurate natural language detection library for Python, suitable for short text and mixedThe most accurate natural language detection library for Python, suitable for short text and mixed-language text - pemistahl..

Python/NLP Code 2025.02.06

FastAPI에서 docs 및 redoc에 상세 response model 부여 방법 - 오류 명세 작성 예시

안녕하세요.이번 시간에는 FastAPI의 문서(docs 및 redoc)에오류 명세 등을 상세히 적기 위하여 response model을 부여하는 방법을간략하게 정리해보도록 하겠습니다. 다음과 같은 간단한 FastAPI 서버가 있다고 가정해보도록 하겠습니다.from fastapi import FastAPIapp = FastAPI()@app.get("/")def my_func(): pass  오류 명세 json 양식여기서 response model의 정의는 json으로 진행되는데요.다음과 같은 포맷으로 오류에 대한 명세를 작성해주시면 됩니다.에러번호(integer) : { "description": "에러의 제목", "content": { "applicati..

Python/Backend 2025.01.20

LangChain 활용 ReAct 알고리즘 구현 예제

안녕하세요.오늘은 LangChain으로 LLM에서 원하는 종류의 output을 얻기 위하여추론 및 적절한 도구를 호출하는 과정을 반복하는 ReAct 알고리즘을 구현하는간략한 예제를 다루어보도록 하겠습니다.  Step 1. LangChain 세팅LangChain 모듈 활용을 위한 설치가 필요합니다.설치가 되어있지 않은 경우 다음 명령어를 통해 설치를 진행해주시면 됩니다.pipinstalllangchainpip install langchain-openai 이 예제에서는 openai 모델을 활용할 예정이므로, API 키 값이 필요합니다.OPENAI_API_KEY 환경 변수에 해당 값을 매칭시키기 위하여.env 파일 정의를 권장합니다.OPENAI_API_KEY="openai에서 발급받은 API Key" ..

Python/NLP Code 2025.01.14

LangChain으로 RAG를 구현하는 방법 기본 예제

안녕하세요.이번 글에서는 LangChain에서 챗봇의 기본이 되는 RAG 시스템을 구현하는기초적인 예제를 다루어보면서 방법을 이해해보도록 하겠습니다.  Step 1. LangChain 및 Pinecone 벡터 DB 세팅먼저, LangChain 모듈 활용을 위한 준비가 되어있어야 합니다.모듈 설치가 되어있지 않다면 다음과 같은 명령어로 설치를 진행해줍니다.pipinstalllangchainpip install langchain-openaipipinstalllangchaincommunitypip install langchain-pinecone 참고로, 이 글의 예제에서는 LLM은 openai의 GPT 모델을,벡터 DB로는 Pinecone을 사용할 예정인데다른 조합 사용을 원하신다면 이에 맞는..

Python/NLP Code 2025.01.09

LangChain이란? / 설치 방법 및 기본 코드 예제

안녕하세요.이번 글에서는 LLM 활용을 간편하게 도와주는 LangChain 모듈에 대한 소개를 해보고설치 과정과 함께 시작해볼 수 있는 간단한 예시 코드 스니펫을 정리해보도록 하겠습니다.  LangChain이란? / 장점LangChain은 LLM과의 상호작용을 보다 쉽게 만들어주는 파이썬 라이브러리인데요.예를 들어, GPT-4o, LLAMA, Claude, Gemini와 같은 다양한 종류의 LLM을 활용해자연어 처리 혹은 대화형 애플리케이션을 개발할 때, 모델에 대한 프롬프트를효율적으로 구성하고 그 결과값을 다루는 과정을 간편화해 줍니다. LLM들을 수동으로 연결하고, 프롬프트도 수동으로 관리하고 기록 로깅도 수동으로모두 구현을 하려면 할 수는 있겠지만 이 과정들을 애플리케이션마다 일일이설정하고 관리하는..

Python/NLP Code 2025.01.05

파이썬 챗봇 개발 라이브러리 Llama Index 예제 및 장점 정리

안녕하세요.Python에서 chatbot을 만들 때 매우 유용하게 활용 가능한라마 인덱스 라이브러리에 대하여 기본적인 사용 예제와대략적인 장점에 대하여 정리해보도록 하겠습니다.  라이브러리 설치 및 API Key 세팅우선, Llama Index를 설치해주어야 하는데요. 다음 명령어로 쉽게 설치가 가능합니다.!pip install llama-index 라마 인덱스 사용을 위해서는 OpenAI에서 발급받은 API 키가 필요합니다.다음과 같이 OPENAI_API_KEY 환경 변수로 지정해줍니다.import osos.environ["OPENAI_API_KEY"] = "sk-xxx"  문서 가져오기다음은 문서를 가져오는 단계인데요.라마 인덱스에서는 txt, pdf, csv, docx, hwp 등 매우 다양한 종류..

Python/NLP Code 2024.12.17
반응형