묻고 답해요
150만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
순위 정보를
불러오고 있어요
-
미해결AI 에이전트로 구현하는 RAG 시스템(w. LangGraph)
LLM 모델의 Tool calling 성능비교 결과 문의
선생님 안녕하세요, LLM 모델의 Tool calling 성능비교를 해봤는데요.# 도구 호출이 필요한 LLM 호출을 수행 query = "스테이크와 어울리는 와인을 추천해주세요." ai_msg = llm_with_tools.invoke(query)아래 2개 LLM 모델로 성능비교를 해봤습니다. 그런데 (2) 모델의 경우 Content 와 tool_calls 모두 나오는데요. 그러면 (1), (2) 모델 중에 무엇이 더 좋은 성능인가요? 그리고 Content 와 tool_calls 동시에 나오는 경우는 왜 그런건가요?(1) gpt-4o-2024-05-13----------------------------------------------------------------------------------------------------''----------------------------------------------------------------------------------------------------[{'args': {'query': 'best wine to pair with steak'}, 'id': 'call_p7PJFCZUWXEwyCmK4nzLjx9g', 'name': 'search_web', 'type': 'tool_call'}]----------------------------------------------------------------------------------------------------(2) claude-3-7-sonnet-20250219----------------------------------------------------------------------------------------------------[{'text': '스테이크와 어울리는 와인에 대한 정보를 찾아보겠습니다.', 'type': 'text'}, {'id': 'toolu_01Uc2BwXXyW26n7L78zZ6wGf', 'input': {'query': '스테이크와 어울리는 와인 추천'}, 'name': 'search_web', 'type': 'tool_use'}]----------------------------------------------------------------------------------------------------[{'args': {'query': '스테이크와 어울리는 와인 추천'}, 'id': 'toolu_01Uc2BwXXyW26n7L78zZ6wGf', 'name': 'search_web', 'type': 'tool_call'}]----------------------------------------------------------------------------------------------------
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
이전 대화 내용 기억하기
안녕하세요.강의를 듣고 추가적으로 공부를 하려고 하는데예를 들어Q. 테슬라의 창업자는 누구야A. 테슬라의 창업자는 OOO입니다.이러한 대화 바로 다음 OOO에 관련한 추가 질문을 하려고합니다.예시) Q. 그렇다면 그 사람에 대해서 간단하게 설명해줘.위 질문을 하려면 LLM이 이전대화내용을 기억해야하는데 그것에 대해서 공부하려합니다.키워드를 뭐라고 잡아야할까요?
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
re-rank score 관련 아래 질문입니다.
학습 관련 질문이 있으시면, 상세하게 남겨주세요.문제가 발생한 부분의 코드를 함께 올려주세요.수업 영상 몇 분/초 구간인지 알려주세요.
-
미해결RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)
ㄱ
from langchain.retrievers.document_compressors import DocumentCompressorPipeline from langchain_community.document_transformers import EmbeddingsRedundantFilter # 중복 문서 제거 redundant_filter = EmbeddingsRedundantFilter(embeddings=embeddings_model) # 쿼리와 관련성이 높은 문서만 필터링 relevant_filter = EmbeddingsFilter(embeddings=embeddings_model, similarity_threshold=0.5) # Re-ranking re_ranker = LLMListwiseRerank.from_llm(llm, top_n=2) pipeline_compressor = DocumentCompressorPipeline( transformers=[redundant_filter, relevant_filter, re_ranker] ) pipeline_compression_retriever = ContextualCompressionRetriever( base_compressor=pipeline_compressor, base_retriever=chroma_db.as_retriever() ) question = "테슬라 회장은 누구인가요?" compressed_docs = pipeline_compression_retriever.invoke(question) print(f"쿼리: {question}") print("검색 결과:") for doc in compressed_docs: print(f"- {doc.page_content} [출처: {doc.metadata['source']}]") print("-"*100) print()`(4) DocumentCompressorPipeline` - 여러 압축기를 순차적으로 결합하는 방식 - BaseDocumentTransformers를 추가하여, 문서를 더 작은 조각으로 나누거나 중복 문서를 제거하는 등의 작업도 가능여기에서 result = chain.invoke() 로 받아서 result의 데이터를 보면, context = result['context'][i] query_similarity_score = context.state['query_similarity_score']이렇게 similarity_score 처럼 rerank score같은거 보고싶은데,# 크로스 인코더를 사용하여 유사성 점수를 계산합니다. sentence_pairs = [[query, prediction]] similarity_scores = cross_encoder_model.predict(sentence_pairs)이런식으로 계산을 해야하나요? 추출하고 싶은데 방법을 잘 모르겠습니다.
-
미해결LLM 101: 2시간에 끝내는 이론-to-실습 코스! 나만의 Llama 채팅데모 프로젝트!
colab 실습 에러 질문
안녕하세요 colab 실습 강좌를 보고 따라하고 있는중 에러가 나서 질문드립니다.모델을 로딩하고 , 토크나이저 초기화 및 설정, 새로운 토큰 추가 및 모델의 임베딩 크기 조절 과채팅 템플릿 적용 peft 모델 가져오기 까지는 잘 진행되었습니다.trainer = SFTTrainer 생성 부분에서 tokenizer,max_seq_length, neftune_noise_alpha 인자 설정 시 에러가 발생합니다.이부분을 주석으로 처리하면 생성은 되나 정상적으로 학습이 수행되지 않습니다.오류 화면을 첨부합니다. 답변 주시면 감사합니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
답변 관련 질문
3.4 벡터 데이터베이스로 pinecone 설정하는 강의를 듣고 있는데 최종 답변이 아래와 같이 나왔습니다.처음에는 답변이 잘 나오다가 어느 순간부터 관련 정보가 없다고 나오는데 혹시 그 이유에 대해 알 수 있을까요?{'query': '연봉 5천만원인 거주자의 종합소득세는?', 'result': '죄송합니다. 제공된 문서에 구체적인 소득세율이나 계산 방법에 대한 정보가 없어서, 연봉 5천만원인 거주자의 종합소득세를 정확하게 계산할 수 없습니다.'}
-
미해결모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
open api 이용 방법
OpenAI API를 이용한 임베딩(Emedding)의 7가지 활용사례(Use cases) 살펴보기 (1/4)강의를 듣다보니, open api 이용 시 과금이 부과된다고 하는데요. 어떻게 신청/이용하는지 혹시 강의하신 내용이 있을까요? 해당 강의에서는 따로 언급은 없었습니다.감사합니다. :)
-
해결됨LangGraph를 활용한 LLM Agent 개발
(해결됨) Window 사용자 깃헙레포 클론 실패 (3.6, 3.7 파일명 이슈)
안녕하세요 강사님Windows 환경에서 진행하려고 하는데요,깃헙 레포 파일명에3.6. 파일에는 : 이 들어가고3.7. 파일에는 " 이 들어가서clone을 해도, zip 다운로드 후 압축해제를 해도문제가 발생하는 것 같습니다.3.6, 3.7 파일명을 수정해주실 수 있으실까요?
-
미해결Prompt Engineering: 완벽 가이드
Prompt Evaluation 질문있습니다..
안녕하세요. 강의 잘 듣고 있습니다! 다만 코딩을 못하는 비개발자 입장에서 Prompt Evaluation 시간에 적으시는 것 포함해서 강사님께서 강의시간에 실시간으로 적는 내용들은 강의 자료에도 없고, 강의 때도 설명없이 뚝딱 하고 넘어가시니까 따라하고는 싶은데... 뭔지도 잘 모르겠고 ㅠㅠ 어떻게 쓰시는건지.... 모바일로 보면 더 작게 보이고 보이지도 않는데 제 실생활에 어떻게 적용해야될지.... 감이 안옵니다 어떻게 해야 좀더 쉽게.. 접근하고, 비개발자 입장에서도 따라하기 쉬울까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
윈도우 환경 pip install langchain-chroma 오류
안녕하세요 윈도우환경에서pip install langchain-chroma 시 아래와 같은 오류가 발생하였습니다 chatGpt에 물어보니 Visual Studio Build Tools 2022 - "C++를 사용한 데스크탑 개발" 을설치하면 된다고 해서 설치했는데도 같은 오류가 발생합니다혹시 원인을 해결법을 있을까요??(new_env) PS D:\00-git\LLMS\rag> pip install langchain-chromaCollecting langchain-chromaUsing cached langchain_chroma-0.2.2-py3-none-any.whl.metadata (1.3 kB)Collecting langchain-core!=0.3.0,!=0.3.1,!=0.3.10,!=0.3.11,!=0.3.12,!=0.3.13,!=0.3.14,!=0.3.2,!=0.3.3,!=0.3.4,!=0.3.5,!=0.3.6,!=0.3.7,!=0.3.8,!=0.3.9,<0.4.0,>=0.2.43 (from langchain-chroma)Using cached langchain_core-0.3.45-py3-none-any.whl.metadata (5.9 kB)Collecting numpy<2.0.0,>=1.26.2 (from langchain-chroma)Using cached numpy-1.26.4.tar.gz (15.8 MB)Installing build dependencies ... doneGetting requirements to build wheel ... doneInstalling backend dependencies ... donePreparing metadata (pyproject.toml) ... errorerror: subprocess-exited-with-error× Preparing metadata (pyproject.toml) did not run successfully.│ exit code: 1╰─> [12 lines of output]+ D:\00-git\LLMS\rag\new_env\Scripts\python.exe C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\vendored-meson\meson\meson.py setup C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mm -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mm\meson-python-native-file.iniThe Meson build systemVersion: 1.2.99Source dir: C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579fBuild dir: C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mmBuild type: native buildProject name: NumPyProject version: 1.26.4 ..\meson.build:1:0: ERROR: Compiler cl cannot compile programs. A full log can be found at C:\Users\son\AppData\Local\Temp\pip-install-w42pka3_\numpy_b7703e22acb64ae9bde7b4f773c9579f\.mesonpy-js85t3mm\meson-logs\meson-log.txt[end of output]note: This error originates from a subprocess, and is likely not a problem with pip.[notice] A new release of pip is available: 24.3.1 -> 25.0.1[notice] To update, run: python.exe -m pip install --upgrade piperror: metadata-generation-failed× Encountered error while generating package metadata.╰─> See above for output.note: This is an issue with the package mentioned above, not pip.hint: See above for details.(new_env) PS D:\00-git\LLMS\rag>
-
해결됨한시간으로 끝내는 LangChain 기본기
vscode에서 환경 설정하는 데 어려움이 있습니다
안녕하세요vscode에서 환경 설정하는 데 어려움이 있습니다langchain-basics 설정을 어떻게 해야 할까요??따라하기 좀 어렵습니다. 환경설정 부분만 따라 할 수 있었으면 합니다
-
해결됨LangGraph를 활용한 LLM Agent 개발
최근 날짜를 반영하기 위한 방법
안녕하세요 강사님좋은 강의 덕분에 많이 배우고 있습니다 gpt4-mini 모델을 사용 중인데, 날짜 관련 문제가 있습니다ex) 최근 한 달간 데이터 가져와줘 강의에서는 gpt 학습된 날짜 기준으로 최근이기 떄문에 오류가 난다고 하셔서datetime을 프롬프트에 넣으시더라구요 근데 만약에 이런 날짜 관련된 질문을 처리해야 할 노드나 툴 들이 많다면 매번 프롬프트에 넣어줘야하는걸까요? 아니면 시간 도구를 별도로 만들어서 사용하게 해야하는지..팁이나 경험 알려주시면 감사하겠습니답
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
tax-with-markdown 관련 문의
query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?'의 쿼리는 다음과 같이 답변합니다.제공된 문맥에는 연봉 5천만 원인 직장인의 소득세가 구체적으로 정의되어 있지 않습니다. 근로소득에 대한 기본세율이 적용된다고 언급되어 있지만, 기본세율의 구체적인 수치는 제공되지 않았습니다. 따라서 필요한 정보가 부족하여 소득세의 정확한 금액을 계산할 수 없습니다.query = '연봉 5천만원의 소득세를 구체적으로 계산하고, 세율 및 공제 내용을 포함해 설명해 주세요.'의 쿼리에서 연봉이 5천만 원일 경우, 소득세를 계산하기 위해서는 종합소득 과세표준에 적용되는 세율을 사용해야 합니다. 1,400만 원 초과 5,000만 원 이하 구간에 해당하므로 세율은 84만 원 + (1,400만 원을 초과하는 금액의 15%)입니다. 따라서 소득세는 84만 원 + (3,600만 원 * 0.15) = 624만 원이 됩니다.쿼리 내용에 따라 다르게 답변하는데, 왜 그런건지 알수 있나요? 코드 첨부합니다.# 질문 설정#query = '연봉 5천만원인 직장인의 소득세는 얼마인가요?'query = '연봉 5천만원의 소득세를 구체적으로 계산하고, 세율 및 공제 내용을 포함해 설명해 주세요.'import pprint# LLM 설정from langchain_openai import ChatOpenAIllm = ChatOpenAI(model='gpt-4o')from langchain import hubfrom langchain.chains import RetrievalQAprompt = hub.pull("rlm/rag-prompt")retriever = database.as_retriever()#pprint.pprint(retriever.invoke(query))qa_chain = RetrievalQA.from_chain_type( llm, retriever=database.as_retriever(), chain_type_kwargs={"prompt": prompt})import pprint#pprint.pprint(retriever.invoke(query))# LLM 실행ai_message = qa_chain.invoke(query)# 딕셔너리 형태의 응답에서 "answer" 또는 "result" 키 값만 출력if isinstance(ai_message, dict): answer = ai_message.get("answer") or ai_message.get("result") or "응답 없음" print(answer)else: print(ai_message)
-
미해결LangGraph를 활용한 LLM Agent 개발
llm의 응답을 특정문자열 내에서만 응답하도록하는법
안녕하세요 강의 잘 듣고있습니다. llm을 이용해 카테고리화된 응답 을 받아야할때 강의에서 사용한 아래와같은 프롬프트를 사용하는데doc_relevance_prompt = hub.pull("langchain-ai/rag-document-relevance") 모델에 따라 제가 원하는 단어가 아닌 문장단위가 나와서 판단 로직이 잘 수행되지않더라고요 이런 경우 프롬프트 말고 다른 해결 책이 있을까요? 특정 문자열이 아니면 irrelevant 이런 식으로 처리하려고해도 대부분의 질문이 관련 없다 라고만 판단을 해서 제대로된 기능 사용이 힘드네요
-
미해결LangGraph를 활용한 LLM Agent 개발
2-7 병렬 처리를 통한 효율 개선 파트 chain 구축
아래 처럼 hub.pull을 사용하면 에러가 발생해서, https://smith.langchain.com/hub/rlm/rag-prompt 해당 링크의 문구를 그대로 사용하고 있는 것 외에는 전부 동일한 코드인데, tax_base_retrieval_chain을 구축할 때 에러가 발생합니다hub.pull('rlm/rag-prompt')
-
해결됨한시간으로 끝내는 LangChain 기본기
Template 사용에 관해 질문 있습니다.
안녕하세요. 수강 듣던 중 궁금한게 생겨 질문드립니다.강의 중간에 PromptTemplate와 ChatPromptTempate를 모두 사용하셨는데, 특정 목적에만 사용하는 Template이 있는건가요?아니면 두 Template의 성능 차이가 있는걸까요?
-
미해결Prompt Engineering: 완벽 가이드
reddit data 는 어디있을까요?
수업 자료에는 code, review_criteria이 두개만 있어요.이 강의에서 사용하는 레딧 자료가 어디있는지 모르겠네요.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
openai 429 에러 문의
위와 같이 충전도 했고 사용한 current usage도 0 달러인데 429 에러가 뜹니다. 혹시 이유가 뭘까요?
-
해결됨LangGraph를 활용한 LLM Agent 개발
Hub에서 다운 받은 프롬프트에 이미지 추가하기
안녕하세요. 저는 이번에 pdf를 입력하고 그것을 기반으로하는 멀티모달 graph를 streamlit을 통해 구현했습니다. 근데 제가 이번에 Langchain 관련 코드를 몰라서 완성 된 것과는 별개로 너무 투박하게 코드가 작성된 것 같아서 질문드립니다. 질문 요약 :hub.pull("rlm/rag-prompt")한 프롬포트 str로 뽑기 or이미지 추가해서 메세지만드는 방법 GPT 모델은message_content = [] message_content.append({"type": "text", "text": prompt}) message_content.append( {"type": "image_url", "image_url": {"url": f"data:{image_type};base64,{image_data}"}} ) message = HumanMessage(content=message_content) # 응답받기 client = ChatOpenAI(model='gpt-4o') response = client.invoke([message]) response.content ## str임!해당 모양대로 메세지를 만들고 invoke하면 이미지포함 메세지가 되는 것을 알았습니다.이를 통해 이미지에 보이는것은 ~~문서에있니? 이런식으로 구현하고자 했습니다. generate 함수(노드) 에서 이미지와 텍스트를 같이 메세지로 전달하고 싶은데 조금 어려움을 겪었습니다. generate 함수 코드입니다.해당 함수는 sate['context']의 내용을 프롬포트에 넣고 이를 이미지와 함께 보내고자합니다.# 허브에서 RAG 프롬프트를 가져옵니다 generate_prompt = hub.pull("rlm/rag-prompt") # 지정된 매개변수로 언어 모델을 초기화합니다 generate_llm2 = ChatOpenAI(model='gpt-4o') def generate(state: AgentState) -> AgentState: """ 주어진 state를 기반으로 RAG 체인을 사용하여 응답을 생성합니다. Args: state (AgentState): 사용자의 질문과 문맥을 포함한 에이전트의 현재 state. Returns: AgentState: 생성된 응답을 포함하는 state를 반환합니다. """ context = state['context'] query = state['query_message'] make_massage = [] massage = generate_prompt.invoke({'question': query, 'context': context}) messages = massage.to_messages() # print(massage) # print("--------------------------------") # print(messages) # print("--------------------------------") # print(messages[0]) # print("--------------------------------") # print(messages[0].content) # print("--------------------------------") make_massage.append({"type": "text", "text": messages[0].content}) if state['query_img'] != "": make_massage.append({"type": "image_url", 'image_url': {"url": state['query_img']}}) final_massage = HumanMessage(content=make_massage) response = generate_llm2.invoke([final_massage]) answer = { "type" : "RAGtext", "message" : response.content} print(f"call : generate") return {'answer': answer} 처음에는 prompt에서 str을 추출하려고 했는데 조금 어려웠습니다;from langchain_openai import ChatOpenAI from langchain import hub # 허브에서 RAG 프롬프트를 가져옵니다 generate_prompt = hub.pull("rlm/rag-prompt") print(generate_prompt.messages[0]) print(generate_prompt.messages[0].content) # 'HumanMessagePromptTemplate' object has no attribute 'content' 오류 print(generate_prompt.messages[0].invoke({"context" : "test", "question" : "test22" })) # 오류;; 그렇기에 일단 invoke 를하고 완성된 text를 찾아 넣어주었습니다. make_massage.append({"type": "text", "text": messages[0].content})이런식으로 텍스트를 추출해서 다시 메세지를 구성하는게아니라.이미지 url을 알고있으니 추가로 더 넣어주는 뭔가 그런 세련된 방법이 없었을까요? 분명 HumanMessagePromptTemplate 클래스나 그런것들다루는거라 기초 문법인거 같은데 조금 많이 헤매서 더 좋은 코드가 있을까 싶어 이렇게 질문을 드립니다.
-
해결됨LangGraph를 활용한 LLM Agent 개발
3.5 강 14:20초 관련 질문입니다.
해당 위 사진은 GitHub에 올려주신 3.5 강 노트북이미지입니다. 강의에서 요약 프롬포트를 summary로 하고 요약 메세지는 response의 content로 저장하는데 혹시 오타인건가요?아니면 MessagesState 클래스는 자동으로 메세지를 저장해준다고 이야기해주신 그거랑 연관이있는걸까요?
주간 인기글
순위 정보를
불러오고 있어요