일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Spring
- docker
- AWS CI/CD 구축하기
- redis
- java bigdecimal
- aws
- Jenkins
- PostgreSQL
- aws cicd
- Spring Error
- Kafka
- 도커
- bootstrap
- codedeploy error
- codedeploy
- codepipeline
- Airflow
- COALESCE
- kubeflow
- chart.js
- Python
- codebuild
- IntelliJ
- Flux
- or some instances in your deployment group are experiencing problems.
- SQL
- VPN
- chartjs
- JavaScript
- node
- Today
- Total
목록전체 글 (632)
Small Asteroid Blog
OpenAI API를 사용할 때 가장 자주 마주치는 문제 중 하나는 결과의 형식이 일정하지 않다는 점입니다. 일반적으로 자연어 응답은 유연하고 사람처럼 말하는 게 장점이지만, API로 사용할 경우엔 결과가 고정된 포맷으로 오는 것이 훨씬 다루기 편합니다.이 글에서는 OpenAI API에서 Structured Output, 즉 고정된 JSON 형식으로 결과를 받아내는 방법을 소개합니다. 특히 pydantic과 OpenAI의 pydantic_function_tool 기능을 활용하여 예측 가능하고 안정적인 결과를 만드는 방법에 대해 설명합니다. 왜 Structured Output이 필요한가?Structured Output은 명확하고, 키-값 형태의 JSON으로 결과를 반환해 사용하기 편합니다.JSON Obj..
Python에서 Pool (multiprocessing)과 ThreadPoolExecutor (concurrent.futures)는 각각 멀티프로세싱과 멀티스레딩을 활용하는 방식이다. 이 글에서는 두 방법의 차이점을 설명하고, 어떤 상황에서 어떤 방법을 선택해야 하는지 정리해 보았다. multiprocessing.Poolmultiprocessing 모듈은 Python의 GIL(Global Interpreter Lock) 제한을 우회하여 병렬 처리를 가능하게 한다. Pool 클래스는 여러 개의 프로세스를 생성하여 태스크를 병렬 실행할 수 있도록 한다.from multiprocessing import Poolnum_workers = 128with Pool(processes=num_workers) as p..
다른 언어에서 WebFlux 와 비슷한 기술Python의 FastAPI 는 WebFlux 와 유사한 비동기 논블로킹 기능을 제공합니다.Python & Go 기반 AI 모델 서빙을 할 때, WebFlux 대신 FastAPI 나 Triton Inference Server 를 사용할 수 있습니다. 언어WebFlux 와 유사한 프레임워크특징JavaWebFluxReactor 기반 비동기 논블로킹KotllinKtor코루틴 기반 비동기 처리PythonFastAPIasyncio 기반 비동기 웹 프레임워크JavaScript(Node.js)NestJS비동기 REST APIGoFiber, Gin경량 비동기 HTTP 프레임워크RustActix-web비동기/고성능 지원 Spring WebFlux 와 FastAPI 비교Spri..
Spring MVC와 WebFlux Spring MVC와 WebFlux는 모두 Spring 프레임워크의 웹 애플리케이션 개발을 위한 기술이지만,동작 방식이 다르며 각각의 장점과 활용 분야가 다릅니다. 이 블로그에서는 Spring MVC와 WebFlux의 특징을 정리하고,기존의 Spring MVC 기반 프로젝트에서 왜 WebFlux로 전환하게 되었는지에 대한 배경을 설명하고자 합니다. 1. Spring MVC📌 개념Spring MVC는 동기(Blocking) 기반의 요청-응답 처리 방식입니다. Servlet API와 멀티스레드(Thread-per-request) 모델을 사용하여 요청당 하나의 스레드를 할당하는 구조입니다.📌 특징Blocking 방식: 하나의 요청을 처리할 때 해당 스레드는 응답을 반환..
동기 vs 비동기 이 두 개념은 "작업의 완료 시점을 어떻게 처리할 것인가?" 에 대한 방식의 차이입니다.기다릴 것인가? 기다리지 않을 것인가? 결과를 기다리는 주체는 누구인가? ✔️ 동기 (Synchronous)요청 보내면 결과 올때까지 기다림.호출한 함수가 끝날 때까지 다른 일을 못 함.요청과 응답의 순서가 보장됨 (순차적 처리)예제 : 음식 주문 후 가만히 앉아 기다린다.✔️ 비동기 (Asynchronous) 요청을 보낸 후 응답을 기다리지 않고 다음 작업 실행 가능.호출한 함수가 끝나지 않아도 다른 일을 할 수 있음.요청과 응답의 순서가 보장되지 않음 (병렬적 처리)예제 : 음식 주문 후 다른 일을 하다가 나오면 찾아간다. 블로킹 vs 논블로킹 이 개념은 "작업의 수행 방식과 상태 변화" 에 대한..
OpenAI Function Calls 란OpenAI 의 새로운 API 기능으로 모델이 특정 기능을 직접 호출할 수 있도록 지원하는 기능이다. 기존의 단순 텍스트 기반 응답 방식과는 달리 OpenAI 모델이 함수를 자동으로 호출하고 실행할 수 있도록 설계되어 있다. 기존 방식과 차이점 기존 API 방식OpenAI Function Calls모델이 텍스트 응답만 생성모델이 직접 함수 호출 가능API 응답을 받아 추가 처리 필요모델이 필요한 함수 실행 후 결과 반환단순한 Q&A 형태동적 기능 추가 가능 (API 호출, 데이터 변환 등) Function Calls 처리 프로세스프롬프트로 질문 입력 후 OpenAI API 호출 OpenAI 모델이 사용자의 요청 분석 Function Calls 를 사용해 적잘한 ..