본문 바로가기
728x90
반응형

공부/AI10

[LangChain] Chains와 LCEL 사용법 LLM은 단독으로 사용하는 것보다는 여러 요소들(prompt, parser 등등...)을 함께 사용하는 것이 좋다. 이 때 LangChain이 제공해주는 Chains을 사용하면 여러 요소들을 쉽게 통합할 수 있다. 그리고 이 Chains를 구현하기 위해서 크게 두가지 방법이 존재하는데 그 중 LCEL에 대해서 알아보자. LCEL(LangChain Expression Language) prompt, chat model, output parser들을 LCEL을 사용하여 연결해보자. 우선 역사적 인물의 이름을 입력하면 이 인물의 정보를 class로 반환해주는 것을 만들어보자. prompt는 ChatPromptTemplate, chat model은 ChatOpenAI, output parser는 Pydantic.. 2023. 10. 27.
[LangChain] Retrieval, RAG (document에서 검색하기) 저번 포스팅에서 기본적인 LangChain 동작 방식과 여러 옵션들을 알아보았다. 이번에는 Retrieval을 통해서 원하는 document에 질의를 한 후 원하는 답변을 얻어보려고 한다. RAG(Retrieval Augmented Generation) RAG는 검색 증강 생성으로 모델이 답변을 생성하는데 도움을 줄 수 있다. LLM 기초 사용법을 알아보면서 prompt를 생성할 때 배경 context라던가 역할을 부여해주면서 더욱 퀄리티 있는 답변을 얻을 수 있었다. RAG 역시 이와 비슷한 역할을 하는데 모델의 답변을 강화하기 위해서 외부에 있는 데이터에서 검색을 하는 것이다. 추가적인 정보를 제공해주기 때문에 정확도 높은 답변을 얻을 수 있는 것이다. 다음은 검색 과정을 나타낸 그림이다. Docum.. 2023. 10. 23.
[LangChain] Few Shot Prompting, Dynamic Few Shot Prompting https://growth-coder.tistory.com/254 이전 포스팅에서 prompt에 대해서 알아보았다. 이번 포스팅에서는 Few shot prompting에 대해서 알아보자. Prompt Engineering prompt engineering 이란 LLM을 애플리케이션에 효율적으로 사용할 수 있도록 prompt를 최적화하는 기술이다. prompt engineering 기술을 활용한다면 모델에게 구체적인 작업을 지시할 수도 있고 질문, 답변 형식도 원하는대로 바꿀 수가 있다. Zero-Shot Prompting과 Few-Shot Prompting zero shot prompting이란 예시를 주는 것처럼 학습을 하지 않아도 예측을 진행하는 prompting이다. chat gpt에게 다음 문장을.. 2023. 10. 21.
[LangChain] Prompts, Caching, Streaming, Token Usage https://growth-coder.tistory.com/253 이전 포스팅에서 Model input output에 대해서 알아보았다. 위 단계 중 Format을 보면 원하는 형식을 만들어서 거기에 끼워맞추는 모습을 볼 수 있다. PromptTemplate과 ChatPromptTemplate을 사용하여 format을 해보자. 참고로 이전 포스팅과 마찬가지로 OPENAI_API_KEY가 환경 변수로 등록되어 있어야 한다. PromptTemplate from langchain.prompts import PromptTemplate from langchain.chat_models import ChatOpenAI chat = ChatOpenAI() prompt_template = PromptTemplate.fr.. 2023. 10. 20.
728x90
반응형