반응형

분류 전체보기 500

파이썬 챗봇 개발 라이브러리 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

[AWS] Lambda와 EventBridge 조합으로 일정 시간마다 함수 호출 예제

안녕하세요.이번 글에서는 AWS에서 Lambda와 EventBridge 조합으로주기적으로 원하는 함수를 실행할 수 있는 방법을 정리해보도록 하겠습니다.  Lambda 함수 설정1. AWS의 Lambda 함수 생성 페이지에 들어갑니다. 2. 아래와 같이 함수 이름 / 런타임 등을 골라주시고, 함수 생성을 진행합니다. 3. 이제 실행을 원하는 코드를 적어주시면 됩니다.결과 양식은 딕셔너리 형태로 key로 statusCode와 body를 가집니다.statusCode는 성공 시 200, 실패 시는 500 등으로 설정해주시고,body에는 출력을 원하는 메시지를 적어주시면 됩니다. 예를 들어, 특정 url의 상태를 검사하는 코드 스니펫은 다음과 같습니다.import jsonimport requestsdef lamb..

Infra/AWS 2024.12.12

구글 코랩(Colab)에서 selenium 크롤링 세팅 방법

안녕하세요.google colab 환경에서 셀레니움 모듈로 크롤링을 할 수 있는 환경을세팅하는 방법에 대하여 간략하고 명료하게 정리해보도록 하겠습니다. 이 방법은 코랩과 유사한 리눅스 환경에도 적용이 가능하니 참고하세요.  1. Chrome 설치selenium을 활용하기 위해서는먼저, 코랩 환경 내에 크롬 브라우저를 설치해야 합니다. 다음 명령어를 코드에 입력하여 설치를 진행해주시면 됩니다.!wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add - && \ sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/..

Python/Crawling 2024.12.06

FastAPI 서버를 HTTPS로 실행하는 방법

안녕하세요.FastAPI로 서버를 실행할 때, http가 아닌 보안이 추가된 https 프로토콜로서버를 실행할 수 있는 방법을 간략하게 정리해보도록 하겠습니다.  1. SSL 인증서 발급먼저, https로 서버를 실행하기 위해서는 ssl 인증서가 필요합니다.ssl 인증서는 openssl, mkcert, certbot, AWS Certificate Manager 등다양한 방법으로 발급받을 수 있는데요.이 중 어떤 방법으로 발급받던 HTTPS 프로토콜 적용은 가능합니다. 다만, 보안 및 원활한 실행을 위하여 self-signed 인증서보다는도메인 주소와 연결된 ssl 인증서를 발급받기를 권장드립니다. 여기서는 mkcert를 통해서 인증서를 발급받는 명령어의 예시를 다뤄보도록 하겠습니다.이렇게 발급 받은 인증..

Python/Backend 2024.12.01

TypeScript 타입 단언(as 구문) 사용 사례 정리

타입스크립트에서 as 타입 형태로 타입을 지정하는 타입 단언 문법이 있습니다.이번 글에서는 이러한 타입 단언을 사용할 수 있는 대표적인 경우 몇 가지를예시 코드를 통하여 정리해보도록 하겠습니다.  1. DOM 요소를 다루는 경우웹 개발을 진행하는 과정에서 DOM 요소를 많이 다루게 되는데요.이 과정에서 가져온 DOM 요소의 타입이 null인 경우도 고려하여HTMLElement | null로 타입을 인식하는 것이 기본적입니다. 이러한 경우, null의 가능성을 배제하여 코드를 작성하고 싶다면타입 단언을 사용하여 이 과정을 구현해볼 수 있습니다.// getElementById의 결과가 null인 경우를 배제하여 컴파일러가 인식const inputElement = document.getElementById("..

파이썬 Locust 모듈 사용법 예제(부하 테스트)

안녕하세요.이번 시간에는 Python으로 서버 부하 테스트를 아주 간단하게 진행해볼 수 있는 모듈인Locust의 활용 방법에 대하여 아주 간단한 코드 예제를 통해서 이해해보도록 하겠습니다.  FastAPI 서버 가정예를 들어, 다음과 같은 아주 간단한 메소드를 제공하는 fastapi 서버가 있는 상황을가정해보도록 하겠습니다.(참고로, node.js 등 파이썬으로 구현되지 않은 서버여도 Locust 사용에는 큰 상관이 없습니다.)from fastapi import FastAPIapp = FastAPI()@app.get("/items/{item_id}")async def read_item(item_id: int): return {"item_id": item_id, "value": "This is a t..

Python/Utils 2024.11.17

ChatGPT 모델 fine-tuning 진행하는 방법 파이썬 코드 예제

안녕하세요.OpenAI에서 제공하는 GPT 모델에 원하는 데이터를 직접 학습시키는 과정이 가능한데요.Python으로 간단하게 파인튜닝을 진행하는 예제 코드를 살펴보도록 하겠습니다. 참고로, 해당 과정에 대한 상세한 내용은 아래의 OpenAI 공식 document를 참고하세요.https://platform.openai.com/docs/guides/fine-tuning 이 글에서는 전반적인 감만 잡을 수 있는 매우 간단한 코드 스니펫 예시를 다룰 예정입니다.  데이터 준비우선, 데이터는 각 줄마다 하나의 대화로 구성된 jsonl 파일로 준비되어야 합니다.예시 파일의 포맷은 다음과 같습니다.{"messages": [{"role": "system", "content": "당신은 나라 이름을 대면 수도를 알려주는..

Python/NLP Code 2024.11.10

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
반응형