전체 글 184

[노마드코더] 내돈내산강의_풀스택 GPT 과정_Memory

오늘도 힘내봅시다..! memory에 대해 배우기 오픈AI에서 제공하는 기본API는 memory를 지원하지 않는다.즉, 모델에게 어떤 말을 건네도 모든 대화내용을 까먹어서 대화가 매끄럽지가 않다.. 반면에 실제 chat gpt에는 메모리가 탑재되어있어서 실제로 사람과 이야기 하고있다는 느낌을 들게 하지..이것은 챗봇이 이전 대화내용이나 질문을 기억하고 있다는 것! 이제 memory 종류와 차이점, langchain에 memory를 탑재시키는 방법을 배울 예정(langchain에는 5가지 정도 종류의 메모리가있고, 각각 저장방식도 다르고 장단점이 있다) #0. ConversationBufferMemory이 메모리는 엄청 단순하다. 그냥 단순히 이전 대화 내용 전체를 저장하는것단점 : 내용이 길어질 수록..

카테고리 없음 2025.07.03

[노마드코더] 내돈내산강의_풀스택 GPT 과정_MODEL IO

회사일때문에 정신없는 한달을 보내며... 한달만에 쓰는 AI 공부 기록..이전에 했던것도 까먹었었는데 써놓은 글을 보니 기억이 새록새록난당!!역시 기록이 답이라구우📝 https://python.langchain.com/v0.1/docs/modules/ How-to guides | 🦜️🔗 LangChainHere you’ll find answers to “How do I….?” types of questions.python.langchain.com langchain 에 대한 모듈1. MODEL I/O - prompts , language model, output parser 이전에 공부했던 부분이다. 더 심오있게 공부하기 !! 이번장에서 공부할 내용 #1. FewShotPromptTemplate fe..

[노마드코더] 내돈내산강의_풀스택 GPT 과정_WELCOME TO LANGCHAIN

회사일이 바빴어서 빨리 듣고싶은데 진도가 잘 나가지 않아서 속상했던..평일에 잘 못들으니 이번 주말은 랭체인으로 주말 반납 🎉!! 1. Langchain 과 친숙해지기LLM 의 OpenAI 와 chat_models의 ChatOpenAI 두개 호출해보기. 차이점은? >> 우선 OpenAI 는 "text-davinci-003" 모델을 사용하고, ChatOpenAI는 "gpt-3.5-turbo"를 사용하는데가이드 문서 보면, gpt3.5가 더 저렴하고 더 성능이 좋음! 그래서 이 강의에서는 ChatOpenAI 를 사용하기로 하였다. 2. langchain.schema 에서 HumanMessage, AIMessage, SystemMessage 사용해보기from langchain.chat_models impor..

[노마드코더] 내돈내산강의_풀스택 GPT 과정_INTRODUCTION

오랜만에 포스팅으로 인사..꾸벅.. 회사에서 AI 를 담당하고 있는 부분이 있는데제대로 구현을 혼자서 해보고 싶어서 강의? 도서?를 찾아보다가 발견한노마드코더님의 '풀스택GPT'과정초창기 개발시작했을때 노마드코더님 강의로도움을 많이 받았었고, 재밌게 봤던 기억이 있어서바로 내돈내산 강의구독을 해보았다!! (의지뿜뿜😎) 혼자 공부한 내용 사부작사부작 적어보기.. 1. GPT PLUS 구독을 하라고 함..( 첫번째 세션에서만 진행한다고 해서 굳이 안하려고 한다.. 요즘은 클로드에 푹 빠져있어서 클로드 구독을 하고 있기 때문..)플러그인 사용이나 그런것 때문이라는데, 일단 강의들어보고 결정해보려고 한다. 2.환경설정 - vs code 설치, git 설치, github 로그인, python 설치, vs cod..

[CH. 1 컨테이너 가상화 이해] Play with Docker (web docker instance)

https://labs.play-with-docker.com/ Play with DockerPlay with Docker A simple, interactive and fun playground to learn Docker Loginlabs.play-with-docker.com 도커를 다운받지 않고 실습 할 수 있는 웹사이트이다. docker run -d -p 8001:80 --name=webserver1 nginx:1.23.1-alpine : 컨테이너 띄울때 쓰는 명령어  : -d 는 백그라운드로 돌려라, : -p 포트는 몇번으로할것이냐 ? 8001   host port가 8001이라는 뜻. (리눅스 환경의 8001번 포트가 오픈)   리눅스의 기본포트는 0번부터 6536번까지 포트를 쓸 수 있음 (포..

개발환경 2025.02.09

[CH. 1 컨테이너 가상화 이해] 컨테이너 기술이란?

컨테이너가 무엇인가?- 애플리케이션을 언제든 실행 가능하도록 만든 것- 그 컨테이너의 인프라를 만드는 이미지가 중요함- 도커파일의 인프라를 제작을 하고 코딩을 한것을 IAC라고 하는데, 이를 빌드하면 이미지가 됨- 이미지들을 하나의 런타임환경으로 패키징한 논리적 공간- micro VM- 운영체제 수준의 가상화 제공- 운영체제 수준이지만, 커널이 없음.  도커컨테이너는 플랫폼임. os 에 있는 커널을 도커컨테이너가 공유해서 쓰는 기술임..- 독립성을 갖기 때문에 다른 컨테언에 영향을 주지 않는 stateless 환경 제공- 운영체제 수준의 가상화를 제공하는것임. 독립된 os.. 다른 컨테이너에 영향을 주지 않는 stateless 환경- 격리된 운영체제 ? 방화벽 ?  port, ip..- 기본적으로 포트를..

개발환경 2025.02.09

langchain, openai 활용하여 응답 생성하기 (두번의 invoke, history를 이용하여 대화의 흐름 유지)

chat_router.pyfrom domain.ai.service import chatclass Message(BaseModel):    role: Union[str, None] = None    content : str    session_id : str@router.post("lang-chain")def chat_request_by_lang_chain(message: Message):    return chat.chat_completion_by_lang_chain(session_id = message.session_id, message=message.content) chat.pyfrom langchain_core.prompts import ChatPromptTemplate, MessagesPlaceh..

노드, 클러스터, 쿠버네티스, 로드밸런싱 관련 설명

node, cluster, k8s .. 한마디로 정의하자면!클러스터는 노드의 집합이며, 쿠버네티스는 이러한 클러스터를 관리하고 운영하는 도구라고 할 수 있다. 클러스터 (Cluster)- 여러 서버나 노드를 그룹화하여 하나의 시스템처럼 작동하도록 구성한 것- 클러스터를 통해 애플리케이션의 가용성과 확장성을 높일 수 있음.- 일반적으로 클러스터는 로드밸런싱, 내결함성, 장애조치 등 기능을 제공한다.- 클러스터 내의 모든 노드는 협력하여 작업을 수행하고, 문제가 발생할 경우 다른 노드가 이를 이어받아 작업을 계속 함 노드 (Node)- 클러스터 내의 개별 컴퓨터나 서버를 의미함.- 각 노드는 자원을 제공하며, 일반적으로 cpu, 메모리, 저장소와 같은 컴퓨팅 자원을 포함한다.- 워커노드(worker node..

(ktds) 24.08.05 ~ 2025.01.03

[생성형AI] conflunence 데이터를 바탕으로 chatgpt 직접 구현해보기 (1편)

confluence 데이터를 바탕으로 chat gpt 직접 구현해보려고 한다. [구성]1편 : confluence API 를 활용하여 데이터 저장하기 ( store )2편 : 벡터db에 저장해놓은 데이터 업데이트하기 ( update )  개발환경 : vscode, python, fastapi, vectorDB domain > ai > router > knowledge_router.py from fastapi import APIRouterrouter = APIRouter(    prefix = "api/knowledge")@router.post("/kms/store")def store_kmsdata_vectordb(collection_name: str, space_name:str, limit_number:..