(현) GS 그룹 LLMOps 플랫폼 개발/운영
(현) GS 그룹 DX BootCamp 교육 담당
(전) 시리즈 C 인공지능 스타트업 테크리드
네이버 부스트캠프 웹/모바일 멘토
네이버 클라우드 YouTube Channel presenter
원티드 프리온보딩 프론트엔드/백엔드 챌린지 진행 (누적 6000+)
항해 AI 플러스코스 1기 코치
강의
로드맵
전체 1수강평
- RAG를 활용한 LLM Application 개발 (feat. LangChain)
- LangGraph를 활용한 LLM Agent 개발
- RAG를 활용한 LLM Application 개발 (feat. LangChain)
게시글
질문&답변
최근 날짜를 반영하기 위한 방법
안녕하세요!확장성을 고려한다면 말씀하신 것처럼 오늘날짜를 리턴하는 도구를 만들고, 오늘 날짜를 활용해야하는 도구는 날짜를 인풋으로 받도록 설정해서 인풋으로 받은 날짜를 도구의 프롬프트에 넣는게 더 좋아보입니다 (실제로 저희도 회사에서는 이렇게하고있어용)
- 0
- 2
- 25
질문&답변
tax-with-markdown 관련 문의
안녕하세요! 좋은 질문 감사합니다.생성 결과가 다른 이유는 요청사항이 다르기 때문입니다. 프롬프트가 수정되면서 LLM에게 전달되는 요청사항이 달라지면서 아웃풋이 달라진다고 보시면 됩니다. 지금 시도해보신 것처럼 프롬프트를 어떻게 작성하느냐에 따라서 LLM의 생성 결과가 다르기 때문에, 서비스를 개발하실 때도 적절히 프롬프트를 작성하고, 서비스에 맞는 프롬프트를 작성하는게 중요합니다.
- 0
- 2
- 20
질문&답변
llm의 응답을 특정문자열 내에서만 응답하도록하는법
안녕하세요! 좋은 질문 감사합니다. langchain-ai/rag-document-relevance 프롬프트가 Score를 리턴하게 되어있어서 강의에서는 score를 기반으로 어떤 노드로 진행할지 판단하는데요, 만약 LLM 실행 결과를 relevant 또는 irrelevant 로 강제하고 싶다면 Structured Outputs을 활용하는 것이 가장 무난할 것 같습니다. dictionary나 pydantic model을 활용해서 답변의 형식을 지정하는 방식인데요, 한번 시도해보시고 정상적으로 동작하지 않는다면 다시 말씀 부탁드립니다!
- 0
- 2
- 25
질문&답변
2-7 병렬 처리를 통한 효율 개선 파트 chain 구축
안녕하세요! 그 이유는 hub.pull() 로 가져오는 프롬프트는 string이 아니라 PromptTemplate 이기 때문입니다. 다른 수강생분께서 질문을 주신 적 있어서 답변을 드린 적이 있는데요,(사진)string 처럼 보이지만 ChatPromptTemplate에서 HumanMessage에 해당합니다. 직접 작성하시려면 아래 코드처럼 작성하셔야 합니다from langchain_core.prompts import ChatPromptTemplate rag_prompt = ChatPromptTemplate.from_messages([ ('human', '''You are an assistant for question-answering tasks. Use the following pieces of retrieved context to answer the question. If you don't know the answer, just say that you don't know. Use three sentences maximum and keep the answer concise. Question: {question} Context: {context} Answer:''') ])
- 0
- 2
- 32
질문&답변
Template 사용에 관해 질문 있습니다.
안녕하세요! 좋은 질문 감사합니다. 인프런 AI 인턴의 답변과 유사한 의견인데요, 간단하게 말씀드리면 성능상에 차이는 없고, 테스트 해보시면서 개발하는 서비스에 더 좋은 성능을 내는 template을 사용하는 걸 추천드립니다PromptTemplate:단순 텍스트 완성 작업단일 문자열 형태 출력단순 질의응답, 텍스트 생성에 적합ChatPromptTemplate:다중 메시지 구조(시스템/사용자/AI 역할 구분)대화 흐름 관리 기능대화형 에이전트, 복잡한 상호작용에 적합두 템플릿의 선택은 주로 개발하려는 애플리케이션에 따라 결정하는 것이 좋습니다.
- 0
- 2
- 22
질문&답변
openai 429 에러 문의
안녕하세요! 카드 등록도 하고 충전도했는데 429가 나온다면 tier를 확인해보셔야합니다. OpenAI가 충전한 금액에 따라서 사용량에 대해 차등을 주고 있기때문입니다.https://platform.openai.com/docs/guides/rate-limits?tier=free#usage-tiers
- 0
- 2
- 33
질문&답변
Hub에서 다운 받은 프롬프트에 이미지 추가하기
안녕하세요 성규님! 답변을 드려보자면, hub.pull에서 가져오는 프롬프트는 허브 사이트에 표시가 되어있습니다. 다른분께서 질문으로 올려주셔서 설명한적이 있는데요, 요약하자면 허브에 작성되어있는 내용을 기반으로 ChatPromptTemplate으로 작성하시면 됩니다.랭체인에서 이미지를 프롬프트에 넣는 방법은 공식문서에 설명되어있습니다. 다만 rag-prompt의 context에 이미지를 넣을 수 없기 때문에, 허브에 있는 텍스트만 그대로 가져와서 이미지를 메세지로 넣어주는 편이 더 깔끔해보입니다. 추가로 궁금하신 부분이 있으시면 말씀해주세요~
- 0
- 1
- 39
질문&답변
3.5 강 14:20초 관련 질문입니다.
안녕하세요 성규님! 좋은 질문 감사합니다. 요거는 제가 오타를 냈네요 ㅠㅠ # 도구를 사용하여 메시지에 대한 응답을 생성합니다. response = llm_with_tools.invoke(messages)여기는 아예 필요가 없고, summary.content를 리턴해야합니다. 이번주는 살짝 무리라서 다음주에 촬영본을 수정해서 업데이트 해야겠네요. 확인해주셔서 감사합니다!
- 0
- 2
- 35
질문&답변
[질문 x 공유용] tailwind v4.0 으로 강의랑 다를 때 (import 다름, tailwind.config.js 없어짐 등)
감사합니다! 제공해주신 내용은 강의 자료에 추가해두겠습니다. 강의를 수강하시는 다른 분들도 도움 받으실 것 같아요~
- 0
- 1
- 56
질문&답변
langgraph를 streamlit과 연동(?)하는 과정에서 질문이 있습니다.
안녕하세요! 좋은 질문 감사합니다. 사실 streamlit은 production에서 쓰기 어렵다고 판단해서 LangGraph와는 연동을 해보지 못해 저도 질문해주신 덕분에 처음으로 시도해봤습니다. 여기서 장황하게 설명하는 것 보다는 코드를 보시는게 이해하기 편하실 것 같아서, .invoke() 를 활용해서 답변을 출력하는 chat.py 와 .stream() 을 활용해서 답변을 출력하는 chat_stream.py 를 추가해서 소스코드에 반영해두었습니다. invoke()는 간단한데, stream()은 쉽지 않더라구요. 자료를 찾던 와중에 LangGraph + Streamlit Cookbook을 발견해서 참고해서 작성했습니다.한번 확인 부탁드립니다!https://github.com/jasonkang14/inflearn-langgraph-agent
- 0
- 1
- 34