본문 바로가기
728x90
반응형

분류 전체보기190

reading LangChain docs (3) 지난번에 이어서 본격적으로 코드를 실행 시켜보면서 랭체인이 제공하는 기술들에 대해 익혀볼까 합니다. LCEL 인터페이스와 더 친해지기 위해 반드시 Prompt + LLM 페이지를 먼저 시작하는 걸 추천합니다. Cookbook Prompt + LLM: 프롬프트를 사용해서 LLM과 상호작용하는 방법을 설명합니다. 구체적인 프롬프트를 제공하고 응답을 얻어 LLM과 의사소통하는 기본적인 접근 방식입니다. RAG: 검색 기반 언어 모델과 생성 언어 모델을 결합하여 응답의 품질과 관련성을 향상시키는 기술입니다. 응답을 생성하기 전에 관련 정보를 가져오기 위해 검색기 모델을 사용하는 경우가 많습니다. Multiple chains: 각각 특정 목적이나 기능을 가진 다중 채팅 체인의 사용에 대해 설명합니다. 여러 체인을.. 2024. 1. 17.
reading LangChain docs (2) (1)편에서 랭체인의 기본 예시를 실행시켜 봤습니다. 그리고 LCEL의 개념을 살펴보고 체인 형태로 파이프라인을 만드는 것을 배웠습니다. 오늘은 이어서 LCEL관련해서 문서를 계속 볼 계획인데 Interface와 How to 까지 살펴보려 합니다. 그전에 기존에 우리가 openai에서 제공하는 코드로 api를 호출할 때와 LangChain을 사용했을 때를 비교하는 페이지를 봤습니다. 아래와 같은 코드로 기본적인 질의응답 프로그램을 활용합니다. from langchain_openai import ChatOpenAI from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputPar.. 2024. 1. 17.
reading LangChain docs (1) LangChain은 LLM 모델을 쉽게 개발할 수 있게 도와주는 프레임워크 입니다. 저같은 경우는 회사서 이런저런 상황에 맞는 적절한 챗봇을 구축하는 일을 하게 되었습니다. 주로 OpenAI의 ChatGPT API를 토대로 파인튜닝한 해서 사용자의 입력에 대한 적절한 결과물을 서비스 하게 될 것 같은데요(파운데이션 모델로 1등하는 일은 이제 넘사벽이 된 것만 같습니다. 있는걸 잘 활용하자! 의 자세로 사는 중입니다.). 그리하여 LangChain과 좀 더 친해지려고 공부 겸 실습을 좀 해보기 위해 기록을 하게 되었습니다. 공부도 하고 기여도 하고! 기본적으로 랭체인을 문서를 보고 설치했다면 랭체인에서 체인을 구성하는 언어인 LCEL을 알아야 합니다. LCEL(LangChain Expression Lan.. 2024. 1. 16.
MLOps note(2) 이번에는 전에 만들어둔 Makefile, hello.py, test_hello.py, requirements.txt 네가지 scaffold를 도커라이징하고, 이미지를 AWS의 레지스트리인 ECR에 푸시할 계획이다. 그런 다음 ECS에서 해당 이미지를 실행하는 컨테이너를 띄워볼 것이다. 트리거는 깃헙 저장소에 main브랜치로 코드를 푸시하는거고, 깃헙액션이 이를 확인할거다. docker와 aws와의 연결을 위해서는 로컬에서 권한에 대한 이슈가 발생한다. 그리고 포트 등에 대해서 마음대로 할 수 없다. 이미지도 갈수록 늘어날테고.. 회사 서버로 작게 작게 연습중이었는데, 아쉽지만 로컬로 갈아타게 되었다. 🥲 우분투로 잘 하고 있었는데, 맥북에서 진행해야하니 운영체제 때문에 초기에 설정을 좀 해주었다. doc.. 2023. 10. 22.
MLOps note(1) DevOps 철학인 자동화의 계보를 잇는 MLOps. 자동화하지 않으면 고장난 것이다라는 말에 동의하나요? 저는 동의합니다. 한번 만들어 놓은 분류 모델이 영원히 제 성능을 발휘하리라 믿는 사람은 없을 거라 생각합니다. 일반화 성능에서 정확도 100%를 달성할 수 없는 것은 현실세계의 문제는 1차원적이지 않기 때문입니다. 이는 곧 모델이 스스로 뚝딱뚝딱 보완하고 업그레이드를 하면 좋겠다라는 니즈가 발생합니다. 그래서! 현재 기준으로 내가 만들 수 있는 가장 훌륭한 모델을 만들었다면 앞으로 발생할 새로운 케이스들을 입력으로 받아 나이스한 추론 결과를 보여주겠죠. 데이터사이언티스트로 일하다보면 나이스한 추론 결과를 내도록 모델을 정교화하는 것도 물론 중요하지만 더 중요한 것은 역시 비즈니스에 잘 녹아들게 하.. 2023. 10. 12.
리팩터링 7장 7. 캡슐화 모듈을 분리하는 가장 중요한 기준은 감추어야할 부분들을 다른 곳에서 보이지 않고 얼마나 잘 숨기느냐에 있다. 대표적인 형태로는 아래와 같은 방법으로 캡슐화해서 숨길 수 있다. 레코드 캡슐화하기(1) 컬렉션 캡슐화하기(2) 기본형 데이터는 기본형을 객체로 바꾸기(3) 방법을 통해서 캡슐화할 수 있다. 리팩터링 중 임시 변수가 걸리적 거릴때는 임시 변수를 질의 함수로 바꾸기(4)를 활용한다. 클래스는 본래 정보를 숨기는 용도로 설계되는데, 클래스 추출하기(5), 클래스 인라인하기(6) 를 활용해 클래스를 만들 수 있다. 클래스는 내부정보 뿐만아니라 사이의 연결관계를 숨기는 데도 유용한데 이 때 위임 숨기기(7)를 활용한다. 너무 많이 숨기다보면 인터페이스가 비대해지니 이 때 반대 기법인 중재자 .. 2023. 3. 15.
728x90
반응형