Python (23) 썸네일형 리스트형 [AI CHAT BOT] 사용자 경험을 위한 RAG 답변 생성 최적화 개발 (병렬 처리, k값 수정 등) [AI CHAT BOT] 응답 속도 개선을 위한 스트리밍 설계, Next -> Nest -> Python 실시간 렌더링 Nest -> Python 실시간 렌더링" data-og-description="[Python] 멀티프로세싱으로 처리 속도 올리기 (multiprocessing)이전 글 읽으러 가기! 👋 소개안녕하세요! 대학생 개발자 주이어입니다! 저는 현재 진행 중인 프로젝트에서 단순히 GPT API를 호출해 답변" data-og-host="blog.juyear.dev" data-og-source-url="https://blog.juyear.dev/106" data-og-url="https://blog.juyear.dev/106" data-og-image="https://scrap.kakaocdn... [AI CHAT BOT] 응답 속도 개선을 위한 스트리밍 설계, Next -> Nest -> Python 실시간 렌더링 [Python] 멀티프로세싱으로 처리 속도 올리기 (multiprocessing)이전 글 읽으러 가기! 👋 소개안녕하세요! 대학생 개발자 주이어입니다! 저는 현재 진행 중인 프로젝트에서 단순히 GPT API를 호출해 답변을 받는 구조로 챗봇을 제작하고 있었습니다.하지만 서버 배포 후 테스트 과정에서 무료 vm의 낮은 성능과 콜드스타트 등의 문제 때문에 답변을 기다리는 시간이 너무 길어졌고,이는 사용자 경험을 현저히 떨어뜨리는 문제가 될 것이라고 생각했습니다. 저번 TRAIVEL 프로젝트에서도 비슷한 문제가 있었지만 Next -> Express로 한 단계 통신이었기에 큰 문제가 되지 않았습니다.하지만 이번의 경우 RAG 방식을 사용한 Next -> Nest -> Python으로 두 단계 이상의 통신이었고.. [Python] 멀티프로세싱으로 처리 속도 올리기 (multiprocessing) 왜 내 챗봇은 헛소리를 할까? RAG와 Reranker로 파헤친 정확도의 비밀 (문서 순서의 중요성) 왜 내 챗봇은 헛소리를 할까? RAG와 Reranker로 파헤친 정확도의 비밀 (문서 순서의 중요성)👋 소개안녕하세요! 대학생 개발자 주이어입니다!저는 최근에 저희 학교를 대상으로한 전용 AI 챗봇을 제작하고 있었는데요.그러다보니 자연스럽게 RAG와 파인튜닝과 같은 AI 관련 기술들을 많blog.juyear.dev이전 글 읽으러 가기! 👋 소개안녕하세요! 대학생 개발자 주이어입니다!오늘은 제가 예전에 외주를 받으면서 배웠던 멀티프로세싱 개념을 최근에 또 사용하게 돼서이 참에 한 번 정리해보려고 이렇게 글을 쓰게 되었습니다. 먼저 멀티쓰레딩과 멀티프로세싱의 차이점에 대해서 간단하게 정리한 후,pytho.. [알고리즘 공부] #7 너비 우선 탐색(BFS) 알고리즘 with Python [알고리즘 공부] #6 연결 리스트(Linked List) 알고리즘 with Python [알고리즘 공부] #6 연결 리스트(Linked List) 알고리즘 with Python연결 리스트(Linked List) 어떤 알고리즘일까? 연결리스트(Linked List)는 데이터를 순서대로 저장하는 선형 자료구조의 한 종류로, 각 요소가 노드라는 개별 단위로 존재하며, 각 노드는 데이터(valuejuyear-coding.tistory.com이전 알고리즘 글 읽기큐 알고리즘(Queue)어떤 알고리즘일까?너비 우선 탐색(BFS)란 트리나 그래프에서 시작 노드에 인접한 노드부터 탐색하는 알고리즘이다. 모든 인접한 노드를 큐(Queue)에 넣고 탐색하는 방식이다. 탐색은 레벨별(너비 우선)로 진행된다.위에 사진을 보.. [알고리즘 공부] #6 연결 리스트(Linked List) 알고리즘 with Python 연결 리스트(Linked List) 어떤 알고리즘일까? 연결리스트(Linked List)는 데이터를 순서대로 저장하는 선형 자료구조의 한 종류로, 각 요소가 노드라는 개별 단위로 존재하며, 각 노드는 데이터(value)와 다음 노드에 대한 포인터를 가지고 있다.연결리스트의 종류연결리스트의 종류는 노드가 가지는 포인터의 개수에 따라 달라진다.단일 연결 리스트각 노드가 다음 노드에 대한 포인터를 가지며, 마지막 노드는 None을 가리켜 끝을 나타낸다.다음 노드에 대한 포인터만 가지기 때문에 한 방향으로만 값을 읽을 수 있다.이중 연결 리스트각 노드가 다음 노드와 이전 노드에 대한 포인터를 가지며, 첫 번째 노드의 이전 노드와 마지막 노드의 다음 노드는 None 값을 가진다.다음 노드와 이전 노드에 대한 포인.. [백트래킹 알고리즘] #1 백준 N과 M (1) (파이썬,15649번) 문제 링크15649번: N과 M (1) (acmicpc.net) 알고리즘 설명2024.06.02 - [[알고리즘]/[알고리즘 공부]] - [알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python [알고리즘 공부] #2 백트래킹(BackTracking) 알고리즘 with Python백트래킹 알고리즘(BackTracking)어떤 알고리즘일까?백트래킹 알고리즘은 비선형으로 구성된 자료 구조를 깊이 우선으로 탐색할 때, 더 이상 탐색할 수 없는 상황에서 이전 단계로 돌아가는 알고juyear-coding.tistory.com 문제 설명먼저 백트래킹 알고리즘은 기본적으로 탐색할 수 없을 때 까지 탐색한 후, 더 이상 탐색하지 못 할 경우 이전 단계로 돌아가는 알고리즘을 말한다.따라서 .. [완전탐색 알고리즘] #2 백준 사탕 게임 (파이썬,3085번) 문제 링크3085번: 사탕 게임 (acmicpc.net) 알고리즘 설명[알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python [알고리즘 공부] #1 완전 탐색, 브루트포스(Brute Force) 알고리즘 with Python완전 탐색 알고리즘(Brute Force)어떤 알고리즘일까?완전 탐색 알고리즘은 조건문이나 반복문을 통해 가능한 모든 경우의 수를 탐색하여 원하는 값을 구하는 알고리즘을 말한다. 알고리즘 설계의juyear-coding.tistory.com 문제 설명이 문제는 완전 탐색 알고리즘을 활용하여 풀 수 있다. 먼저 N x N 크기의 사탕이 주어지고, 사탕의 색이 다른 인접한 두 사탕의 위치를 바꾼다.그 후 같은 색으로 이루어져 있는 가장 긴 연속 .. [알고리즘 공부] #5 큐 알고리즘(Queue) 알고리즘 with Python 큐 알고리즘(Queue)어떤 알고리즘일까?큐 알고리즘은 자료구조 알고리즘으로 먼저 들어간 값이 먼저 나온다고 해서 First In First Out 즉 FIFO또는 나중에 들어간 값이 나중에 나온다고 해서 Last In Last Out 즉 LILO 구조를 가지고 있다고 말한다. 큐 알고리즘은 위에 사진으로 이해하는 것이 쉽다. 사진을 보면 알 수 있듯이 젤 먼저 1이 들어오고 그 다음으로 3과 21이 들어온다. 그리고 나서 값이 나오는 걸 볼 수 있는데 가장 먼저 들어온 1이 나오고 그 다음으로 3이 나오고 마지막으로 21이 나오는 것을 알 수 있다. 이런식으로 큐는 아까 말한 FIFO(LILO) 구조를 가지고 있다. 장점과 단점장점큐는 데이터가 입력된 순서대로 처리되므로, 순서가 중요한 작업에서 유용한.. 이전 1 2 3 다음