LangChain은 LLM 애플리케이션 개발 프레임워크로, LLM을 통합한 다양한 종류의 애플리케이션을 사용할 수 있다.LLM을 사용하는 애플리케이션 개발에 사용할 수 있는 프레임워크나 라이브러리는 LangChain 외에도 LlamaIndex나 Semantic Kernel이 유명한 것으로 알고 있는데, LangChain이 광범위하기도 하고 새로운 기법의 구현 예시가 다수 게재되어 있기도 하고 LangSmith 등의 연동까지 가능해 가장 많이 이용하는 추세이지 않을까?싶다.현재 도메인 특화 LLM 개발 중에 있는데, 그 중 Prompt Template과 Output parser에 대해 간단히 정리해보려고 한다.✅ Prompt TemplateLLM 애플리케이션 개발에서 매우 중요한 요소는 언어 모델에 입력하..
전체 글
빙글뱅글 돌아가는 IT 세상✅ 프롬프트 엔지니어링이란?프롬프트란 LLM에게 주는 지시문 및 입력 문장으로, 프롬프트 엔지니어링은 원하는 결과를 얻기 위해 LLM에게 주는 입력을 '잘' 설계하는 기술이다.LLM은 지시된 대로 문맥에 따라 다음 단어를 예측할 뿐, 애매하거나 불명확한 지시에는 엉뚱한 답을 할 수 있다. 또한, 같은 질문이라도 표현 방식에 따라 완전히 다른 결과가 나올 수 있다. 예전에는 이를 해결하기 위해 모델 구조를 변경해야 했는데, 현재는 프롬프트 조정만으로 모델 성능 향상이 가능해 해당 기법을 "얼마나", "잘" 활용하는지가 매우 중요해졌다. ✅ RICE 프레임워크프롬프트 구조의 핵심은 RICE 프레임워크라고도 할 수 있다.- R (ROLE): 모델에게 페르소나를 정의하고 전문성을 부여한다. 이를 통해 답변의 품..
반려인에게 PDF 안에 있는 그림을 자동 추출해서 저장할 수 없냐는 의뢰를 받았다. 대가는 칭찬이다. 가보쟈고✅ Summary📍코드 짜기 전 이것저것태블릿PC로 문서 위에 그림을 바로 그린 다음 이걸 PDF 문서로 저장해서 주기 때문에 Ctrl+C, V 버튼이 안먹혔다.Acrobat Pro에서는 그림을 자동으로 인식해서 자를 수 있게 해주긴 하던데, 그럼 딱 그 PDF 내 그림 그대로를 자르기 때문에 확대하면 화질도 깨지고 폴더에 촤르르르 자동저장하는 기능도 못 쓰는 문제가 있었다.코드 아예 모르는 사람도 사용할 수 있게 파일업로드 후 버튼 몇 번만 누르면 이미지 자동 캡쳐 후 폴더에 자동 저장될 수 있도록 기능을 구현해야겠다 생각했다. 그래서 Colab을 이용했다. 구글은 다들 많이 쓰니까📍구현 ..
✅ 문제https://softeer.ai/practice/9657 문제환경 파괴범 때문에 화가 난 숲의 요정은 나무 공격을 진행하려 합니다. 나무 공격 진행시 투사체 5개가 생성되어 지정된 방향으로 전진합니다. 각 투사체와 최초로 접촉한 환경 파괴범은 사라지게 되며 이때 투사체 역시 동시에 사라지게 됩니다. 만약 투사체가 환경 파괴범과 마주치지 않는다면 조용히 사라지게 됩니다. 이는 n×m 크기의 격자에서 진행됩니다. 초기에 격자의 각 칸에는 숫자 0 또는 1이 적혀있으며 0은 비어있음을, 1은 환경 파괴범이 해당 위치에 서있음을 뜻합니다. 숲의 요정은 항상 격자의 왼쪽 방향에서 나무 공격을 진행하며, 총 2회 진행합니다. 공격은 특정 행 L부터 행 R까지의 구간에 한하여 투사체를 만들어 진행하게 되며..
✅ 함수 및 패키지📍 변수 및 함수🧮 여러 변수 만들기## 숫자 5개로 구성된 var1 생성var1 🧮 함수 간단 맛보기## paste() : 여러 문자를 합쳐 하나로 만드는 함수x 📍 패키지함수를 이용하려면 함수가 들어있는 패키지를 설치하고 불러들여야 합니다. 패키지는 한 번만 설치하면 되지만, 패키지를 로드하는 작업은 R 스튜디오를 새로 시작할 때마다 반복해야합니다.그래프를 작업할 때 가장 많이 사용하는 패키지인 gglot2 패키지에는 ggplot(), qplot(), geom_histogram() 등 수십가지 관련 함수가 들어있습니다.# ggplot2 패키지 설치install.packages("ggplot2")# ggplot2 패키지 로드library(ggplot2)x 다른 예시도 알아보겠..
최근 Google은 새로운 신경망 아키텍처인 Titans를 발표했습니다. 기존 Transformer 모델의 한계를 넘어, 인간과 유사한 기억력을 갖추도록 설계된 혁신적인 접근 방식을 제안하며, 긴 문맥 데이터를 효과적으로 처리할 수 있는 새로운 방법을 제공합니다. 특히, Titans는 장기 기억(long-term memory)과 단기 기억(short-term memory)을 효과적으로 통합하여 대규모 데이터 처리와 정보 활용에서 기존 모델보다 뛰어난 성능을 보여줍니다.이에 관한 더 자세한 내용은 구글에서 발표한 논문 "Titans: Learning to Memorize at Test Time"을 참고하면 좋을 것 같습니다. ✅ Transformer에서 Titans로 Transformer는 현대 인공지능의..
✅ R 개요📍R이란?R은 데이터를 분석하는데 사용되는 소프트웨어로, 어떤 형태 데이터든 자유롭게 분석할 수 있습니다. 통계분석, 머신러닝 모델링, 텍스트 마이닝, 시각화, 이미지 분석, 웹 애플리케이션 분석 등 다양한 작업을 수행할 수 있습니다.R은 SAS, SPSS와 달리 새로운 분석 기법이나 패키지가 등장하면 CRAN(cran.r-project.org)에서 확인할 수 있습니다. CRAN은 만 개가 넘는 패키지가 공개되어 있다고 합니다.https://cran.r-project.org/ The Comprehensive R Archive Network cran.r-project.org 📍R STUDIO란?R 스튜디오는 R을 사용하기 편리하게 만들어주는 IDE(통합 개발 환경) 소프트웨어입니다. R을 먼..
✅ 스크래핑할 사이트https://evs.nci.nih.gov/ftp1/CDISC/SDTM/SDTM%20Terminology.html CDISC SDTM Controlled Terminology evs.nci.nih.gov ✅ 에러내용위에 첨부한 사진과 같이 상위 데이터(파란색)이랑 하위 데이터(하얀색)을 나눠서 저장을 했다.상위 데이터는 'cl'로 묶여 있었고, 하위 데이터는 'cli' 안에 묶여 있었다.근데 하위 데이터 내용을 저장할 컬럼을 지정을 해도 상위 데이터와 같은 형식으로 저장 되어서 한 칸 씩 밀린다....결국 에러를 해결하지 못하고 python으로 전처리를 해줬다 (컬럼 이동 등) ㅋㅋimport requestsfrom bs4 import BeautifulSoupimport pandas..