LLM(10)
-
[Langchain] Passthrough를 활용한 간단한 Chain 구성하기
서론안녕하세요! 오늘은 Langchain에서 Chain을 구성할 때 자주 사용되는 Passthrough에 대해서 알아보려고 합니다. 특히 LCEL(Langchain Expression Language)에서 많이 활용되는 기능인데요, 이름 그대로 데이터를 '통과'시키는 역할을 하지만 생각보다 활용도가 높답니다. 무엇이 좋을까?Passthrough는 다음과 같은 장점이 있습니다:Chain 구성을 단순화할 수 있습니다.입력 데이터를 그대로 전달하면서도 추가적인 처리가 가능합니다.다른 Chain들과 조합하기 쉽습니다.코드로 살펴보기간단한 예제 코드로 살펴보겠습니다.from langchain.chat_models import ChatOpenAIfrom langchain.schema.runnable import R..
2024.11.14 -
[LLM] Semantic Search를 위한 Langchain Custom Retriever 구현하기
안녕하세요 오늘은 Langchain에서 Custom Retriever를 구현하는 방법을 소개해볼까 합니다. 가끔 이런 경우가 생깁니다.1. 아 뭔가 Retriever에서 데이터가 출력되기 전에 ReRank를 사용하고 나온다면 어떨가?2. 어? 뭐야 이건 Retriever가 없네? Langchain_community 라이브러리를 뒤져봐도 내가 원하는 Retriever가 없는경우 (제가 못찾았을 수 있습니다.. 머쓱..)3. 데이터가 Retriever에서 필터를 가지거나, Similarity Search가 되기전 뭔가 처리를 했으면 좋겠다거나.. 이런 이유로 기존에 Langchain에서 제공되던 Retriever를 수정하여 사용 할 수 있습니다. 1. Base Retriever에서 중요한 매서드들[API ..
2024.09.05 -
[LLM] OpenSearch - VectorStore로 써보기
안녕하세요 오늘은 Vector Store로 많이 쓰이는 OpenSearch를 가져와 봤습니다. Elastic Search를 Fork해서 사용하는만큼 Elastic Search와 유사한점도 그리고 다른점도 있습니다. 하지만 오늘은 이 차이점을 설명하는 자리는 아니라 이만 줄이고, 이제 Vector Store로서 장/단점을 그리고 간단할 설치와 Langchain에서 사용까지 알아볼까 합니다. 1. OpenSearch의 장점과 단점- 첫번째 장점 그건 바로 최근 아주 관심을 많이 받고 있는 RAG중에서도 Full Text Search (Lexical Search)를 Simillerity Search(Semantic Search)와 같이 쓸 수 있단 점 입니다. 성능이 좋은 다른 DB도 많지만. 기본적으로 이 ..
2024.09.04 -
[LLM] 프롬프트를 활용하며 느낀점 & 효과가 있던 방법 2편
지난번 소개드린 1편에 이어서 2편을 적어보려 합니다.https://todaycodeplus.tistory.com/72 [LLM] 프롬프트를 활용하며 느낀점 & 효과가 있던 방법 1편오늘은 프롬프트를 활용하며 느낀점을 한번 정리해보려고 합니다. 본격적으로 프롬프트를 활용해서 서비스를 개발하기 시작한것은 약 3개월 전 입니다. 그 당시 저는 프롬프트라곤 코드 작성todaycodeplus.tistory.com 1. 구조화된 출력 (Structured output)사실 지금은 크게 의미가 없을 수 있습니다. 왜냐하면 OpenAI에서 Structured Output을 지원하는 API를 제공하기 시작했기 때문이죠https://platform.openai.com/docs/guides/structured-output..
2024.08.28 -
[LLM] 프롬프트를 활용하며 느낀점 & 효과가 있던 방법 1편
오늘은 프롬프트를 활용하며 느낀점을 한번 정리해보려고 합니다. 본격적으로 프롬프트를 활용해서 서비스를 개발하기 시작한것은 약 3개월 전 입니다. 그 당시 저는 프롬프트라곤 코드 작성하며 생긴 문제를 해결하기위해서, GPT또는 Claude에 코드를 입력하고, 문제를 찾아줘 같은 짧은 프롬프트를 입력하고 있었죠.. 그런데 이제 서비스를 개발하기 시작하면서 여러 단계의 LLM전처리 과정과, Agent를 활용하기 위한 방법들을 고민하게 됐습니다. 그 과정에서 얻은 프롬프트 노하우?? 꿀팁?? 어쩌면 모두가 아는 방법일지 모릅니다만... 공유해보도록 하겠습니다. 1. Claude와 OpenAI GPT의 차이점먼저 저는 여러 모델을 사용하고 있습니다. 대표적인 두 거목이 바로 OpenAI의 GPT와 Anthropi..
2024.08.17 -
[LLM] Langchain ReAct Agent에 DALL-E tool 추가하기
안녕하세요 오랜만에 또 글을 씁니다. 요즘 많은 분들이 Agent를 활용해서, AI Product를 만들고 계신데요, 그중에서 우리가 일반적으로 사용하는 gpt에도 들어있는 기능을 한번 구현해보고자 합니다. 우리가 GPT에 질문을 할 때 "테슬라 모델3에 황금색 필름 래핑한 모습인 사진 보여줘" 같은 질문을 하게 된다면. GPT는 DALL-E-3를 호출하여 이미지를 생성하고 쳇 화면에 표출해 주곤합니다.이런 이미지는 어떻게 쳇 화면에서 바로 인식하고 생성하는것일까요? 바로 ReAct Agent같은 반응형을 이용하면 가능합니다. Agent는 다양한 Tool을 등록하고 등록된 tools를 Agent LLM이 질문(요구사항)에 따라 어떤 도구를 사용할지 판단하는 과정을 거칩니다. 이 과정에서 이미지를 생성해야..
2024.08.02