본문 바로가기
728x90
300x250

코딩46

랭체인을 이용한 리트리버 검색기 활용 리트리버 검색기를 통해서 쿼리에 참조 하기위한 문서를 빠르면서 정확하게 찾기위한 전략을 여러가지 짤 수 있습니다. LangChain이 제공하는 Retrieval Augmented Generation RAG는 외부 데이터를 검색하고 LLM으로 전달하여 사용자 특정 데이터를 활용하는 방법을 설명합니다. LangChain은 다양한 모듈로 이 과정을 지원하는데, 문서 로더로 다양한 소스에서 문서를 불러오고, 문서 변환기로 문서를 적절히 가공합니다. 또한 텍스트 임베딩 모델을 사용해 문서에 임베딩을 생성하고, 벡터 저장소를 통해 효율적으로 저장하고 검색합니다.검색 알고리즘 또한 다양한 방식으로 구현되어 있어, 쉬운 의미적 검색부터 부모 문서 검색, 셀프 쿼리 검색, 앙상블 검색 등 다양한 방법을 사용할 수 있습니.. 2024. 2. 16.
랭체인의 LCEL 문법 https://python.langchain.com/docs/expression_language/get_started langChain Expression Language (LCEL)는 체인을 쉽게 구성 할 수있는 선언적인 방법입니다 기본 : 일자식 구성 프롬프트 + 모델 + 출력 파서 chain = prompt | model | output_parser 분기 : RunnableParallel과 RunnablePassThrough를 이용 심화 : 사용자 함수와 함께, Runable하게 구성하기 def format\_docs(docs): backgrounds = \[\] max\_token = 3000 count\_token = 0 for doc in docs: count\_token += len(toke.. 2024. 2. 15.
OpenAI의 Function Calling의 원리를 알아보자 한 3달전에 캐글에 랭체인을 이용한 라마와 펑션콜링에 대한 주제로 글을 쓴게 있는데 1110뷰를 돌파 했습니다. ㅎㅎ OpenAI의 function calling은 출시 됬을 때 chatgpt를 이용한 개발자들에게 혁신적인 인기가 있었습니다. 이번 포스트는 Jsonformer를 통해서 OpenAI의 function calling이 무엇인가? 어떻게 구현 됬는지 알아보려고 합니다. 모델이 구조화된 JSON을 출력하는 것은 문법적으로 올바르고 JSON 구조를 명시하는 스키마를 준수해야 합니다. 이 문제를 해결하는 것은 매우 어려운 작업입니다. 현재 이 문제에 대한 접근 방식은 부서지기 쉽고 오류가 발생하기 쉽습니다. 이는 프롬프트 엔지니어링, 세세한 조정 및 후처리에 의존하지만 여전히 많은 경우에 문법적으로.. 2024. 2. 13.
멀티모달 리뷰 moondream1 콜랩(colab)으로 실행하기 이번에 가져온 멀티모달은 moondream1 입니다. 이것도 phi와 SigLIP를 사용해서 파라미터를 줄이고, llava dataset으로 튜닝 완료된 데이터 입니다. 지난번의 리뷰한 imp와 유사한 모델입니다. 하지만 사용하는 방법에서 차이가 있고 phi 모델이 1.5인 것과 2의 차이가 존재합니다. 당연히 튜닝 된 정도의 차이가 존재합니다. 1.6B 매개변수 모델은 @vikhyatk가 SigLIP, Phi-1.5 및 LLaVa 훈련 데이터 세트를 사용하여 구축했습니다. 이 모델은 연구 목적으로만 공개되며, 해당 모델은 상업적 사용은 허용되지 않습니다. moondream1은 콜랩에서 사용할때 GPU를 8.5기가 정도 사용하고 있습니다. imp의 8기가보다 조금더 많은 GPU 연산량을 보여줍니다. 해당.. 2024. 1. 31.
728x90
300x250