python 43

FastAPI와 REST API 쉽게 이해하기 (Streamlit과의 관계까지)

목차1. 왜 FastAPI를 배우는가2. REST API란 무엇인가3. FastAPI란 무엇인가4. 서버 주소 구조 이해하기 (127.0.0.1:8000)5. FastAPI 기본 코드 구조 이해하기6. 경로(Path)와 파라미터 이해하기7. 실행과 확인 (Uvicorn, Swagger, ReDoc)8. Streamlit과 FastAPI의 관계9. 다른 웹 프레임워크와 비교 1. 왜 FastAPI를 배우는가AI 모델을 사용하는 것과, 그 모델을 실제 서비스로 만드는 것은 완전히 다른 문제이다.단순히 모델을 실행하는 것만으로는 사용자에게 기능을 제공할 수 없고, 이를 외부에서 호출할 수 있도록 만들어야 한다. 이때 필요한 것이 API이며, Python 기반 AI 서비스에서는 FastAPI가 가장 많이 사용..

Python 2026.03.24

Streamlit 기초 정리: 설치부터 챗봇 UI 구현까지

목차1. Streamlit이란? 2. Streamlit 설치와 실행 방법 3. 프론트엔드와 Streamlit의 역할4. Streamlit 기본 구조 5. 텍스트와 콘텐츠 출력 함수 6. 입력 위젯 정리7. 미디어 요소 정리 8. Streamlit으로 OpenAI 챗봇 구현하기9. Streamlit을 사용하는 이유 10. 마무리 정리 1. Streamlit이란?Streamlit은 파이썬만으로 웹 애플리케이션을 빠르게 만들 수 있도록 도와주는 오픈소스 프레임워크이다.특히 데이터 분석 결과를 시각화하거나, 머신러닝 모델의 예측 결과를 보여주거나, 챗봇처럼 사용자와 상호작용하는 앱을 구현할 때 많이 사용된다. 복잡한 프론트엔드 기술인 HTML, CSS, JavaScript를 직접 다루지 않아도, 파이썬 코드만으..

Python 2026.03.24

OpenAI File Search 완전 정리: 파일 업로드부터 검색까지

목차1. File Search 기능 개요2. 기본 준비: 파일 업로드 함수 만들기3. 파일 객체 생성과 file_id 이해하기4. Vector Store 생성하기5. Vector Store에 파일 연결하기6. File Search로 문서 기반 질문하기7. 응답 확인과 response.output_text8. 종합 코드 예제 1. File Search 기능 개요File Search 도구는 사용자가 업로드한 문서를 모델이 검색해서 답변에 활용할 수 있게 해주는 기능이다.그 과정은 다음과 같다.File 객체 생성(업로드) → 벡터 스토어 생성 → 파일을 벡터 스토어에 연결 File Search는 단순히 파일을 첨부하는 기능이 아니라, 먼저 파일을 OpenAI 서버에 업로드하여 file_id를 생성하고, 이후 ..

OpenAI Web Search 완전 정리 (코드 + 구조 + 실전 활용)

목차1. Web Search 기능 개요 2. 기본 사용 방법 (Responses API + tools) 3. Web Search 강제 실행 (tool_choice) 4. 응답 구조 분석 (web_search_call / message / annotations) 5. 사용자 위치 기반 검색 (user_location) 6. 검색 컨텍스트 크기 (search_context_size) 7. 컨텍스트 크기 옵션 비교 (low / medium / high) 8. 코드 종합 예제 및 활용 팁 1. Web Search 기능 개요Web Search 기능은 모델이 답변을 생성하기 전에 웹에서 최신 정보를 검색할 수 있도록 해주는 기능이다.최신 뉴스, 환율, 트렌드 등에 매우 유용모델이 자동으로 검색 여부를 판단필요 시 ..

OpenAI API 사용법 정리 (Responses API, Chat Completions 차이, 요청 구조)

1. OpenAI API란OpenAI API는 자연어 처리, 코드 생성, 이미지 생성 등 다양한 인공지능 기능을 HTTP 기반으로 호출할 수 있도록 제공하는 인터페이스이다.개발자는 별도의 모델 학습 없이도 API 호출만으로 GPT 계열 모델을 활용할 수 있다. 주요 특징은 다음과 같다.텍스트 생성: 질문 응답, 요약, 번역코드 생성 및 분석멀티턴 대화 처리함수 호출(Function Calling / Tool Calling)다양한 모델 선택 가능즉, OpenAI API는 “AI 모델을 서비스 형태로 사용하는 방식”이다. 2. OpenAI 모듈 vs HTTP 직접 호출OpenAI API는 두 가지 방식으로 사용할 수 있다.2-1 OpenAI Python/JS SDK 사용from openai import Op..

머신러닝 & 딥러닝 기초 33편 | 모델 저장과 로드 (joblib, pickle, Keras)

1. 모델 저장이 필요한 이유 2. 머신러닝 vs 딥러닝 저장 방식 차이 3. joblib을 이용한 모델 저장 및 로드 (머신러닝) 4. pickle을 이용한 모델 저장 및 로드 (머신러닝) 5. TensorFlow / Keras 모델 저장 및 로드 (딥러닝)6. 저장 방식 비교 7. 언제 어떤 방법을 사용해야 하는가 8. 정리 1. 모델 저장이 왜 필요한가모델 학습은 많은 시간과 연산 비용이 들어간다.따라서 한 번 학습한 모델을 다시 사용하기 위해서는 모델을 파일로 저장하고 필요할 때 불러오는 과정이 필수적이다.또한, 실제 서비스에서는 학습과 예측이 분리되기 때문에 학습된 모델을 저장하여 배포하는 과정이 반드시 필요하다. 2. 머신러닝 vs 딥러닝 저장 방식 차이모델 저장 방식은 사용하는 라이브러리에 ..

머신러닝 & 딥러닝 기초 31편 | 딥러닝 실습 완전 정리 (이진 분류, 다중 분류, MNIST)

목차0. TensorFlow / Keras 간단 정리1. 이진 분류(Binary Classification)2. 다중 분류(Multi-class Classification) 이전 글에서는 딥러닝의 구조와 학습 과정을 이론적으로 정리했다. 머신러닝 & 딥러닝 기초 30편 | 딥러닝 완전 정리 (개념부터 구조, 학습까지)목차1. 딥러닝(Deep Learning)이란2. 인공신경망(ANN)3. 퍼셉트론(Perceptron)4. 다층 퍼셉트론(MLP)5. 활성화 함수6. 딥러닝의 학습 과정7. 딥러닝 활용 분야8. 머신러닝 vs 딥러닝9. 인공지능(AI) 1. 딥러닝(Deepsecurity-logs.tistory.com 이번 글에서는 실제 코드와 함께 다음 3가지 문제를 해결해본다.이진 분류 (Binary C..

머신러닝 & 딥러닝 기초 28편 | PCA(Principal Component Analysis, 주성분 분석)

목차1. PCA(Principal Component Analysis, 주성분 분석)란?2. PCA의 장점과 한계3. PCA의 핵심 아이디어4. PCA 작동 원리5. 중요 개념 정리6. PCA 예제 1. PCA(Principal Component Analysis, 주성분 분석)란? PCA는 고차원 데이터를 더 적은 차원으로 줄이면서도, 데이터가 가지고 있는 중요한 정보는 최대한 유지하려는 차원 축소 기법이다.머신러닝에서 데이터의 특성(feature)이 많아질수록 계산량이 증가하고, 불필요한 정보나 중복 정보가 섞여 모델 성능이 오히려 나빠질 수 있다.또한, 사람이 데이터를 직접 이해하거나 시각화하기도 어려워진다.이런 경우 PCA를 사용하면 여려 특성을 더 적은 수의 새로운 축으로 바꾸어 데이터를 간단하게 ..

머신러닝 기초 26편 | DBSCAN과 Isolation Forest (밀도 기반 군집화와 이상치 탐지)

목차1. DBSCAN2. DBSCAN 주요 매개변수3. DBSCAN 동작 원리4. DBSCAN 예제5. Isolation Forest란6. Isolation Forest 작동 원리7. Isolation Forest 장단점8. Isolation Forest 예제9. DBSCAN + Isolation Forest 함께 사용하기 1. DBSCAN(Density-Based Spatial Clustring of Applications with Noise)DBSCAN은 밀도 기반 군집화 알고리즘이다.기존의 K-Means와 달리 클러스터 개수를 미리 지정할 필요가 없으며, 데이터가 밀집된 영역을 기준으로 자동으로 군집을 형성한다. 또한, DBSCAN은 노이즈 데이터(이상치)를 자동으로 탐지할 수 있다는 특징이 있..

머신러닝 & 딥러닝 기초 25편 | 계층적 군집화(Hierarchical Clustering)란? 덴드로그램부터 예제까지

목차1. Hierarchical Clustering(계층적 군집화)란2. 계층적 군집화의 핵심 특징3. 덴드로그램(Dendrogram)이란4. 계층적 군집화의 두 가지 방식 4-1 병합형 클러스터링(Agglomerative Clustering) 4-2 분할형 클러스터링(Divisive Clustering)5. 클러스터 간 거리 계산 방법(Linkage)6. 병합형 계층적 군집화 예제 1. Hierarchical Clustering(계층적 군집화)란Hierarchical Clustering(계층적 군집화)은 데이터들 사이의 유사성을 기준으로 비슷한 데이터끼리 묶어 계층적인 구조로 표현하는 비지도 학습 기법이다. 여기서 비지도 학습이란 정답 라벨이 없는 데이터에서 패턴이나 구조를 스스로 찾는 방법을 의미..