묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
챗봇 성능 테스트를 하기에 좋은 플랫폼이 있을까요?
현재 개인정보 배우미 챗봇을 다 만들고 테스트 중에 있습니다.문서는 총 78개를 넣었고, 문서에서 관련 내용을 잘 찾아서 응답하고 있는데, 실제 문서와 응답을 대조해서 1차로 사람이 확인하는 방법 이외에 langsmith와 같이 성능을 측정하기 위한 플랫폼이 있는지 궁금 합니다. langsmith의 경우 챗봇 속도를 확인하고 각 항목당 어떻게 처리하는지 확인이 가능하나, 질문에 대한 정확도나 유사도를 보기 쉽게 확인하기는 조금 부족한것 같더라구요.. huggingface의 evaluate를 써봤으나, 단어, 구문 구조가 다르면 0점으로 평가될 가능성이 높아 적합하지 않아보입니다.. 혹 추천해주실 만한 플랫폼이 있으실까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
hub.pull시에 API KEY가 필요하다고 경고가 나옵니다.
다른 분도 마찬가지로 질문 남겨주셨는데 hub,pull 시에 에러가 발생합니다.정책이 바뀐 것 같다는 답변을 보고, langSmith 에서 카드를 등록하고 'Developer' Plan 을 선택도 했고, API KEY 도 발급 후.env 파일에 아래와 같이 설정해도 에러가 발생합니다.LANGCHAIN_TRACING_V2=true LANGCHAIN_API_KEY=<API_KEY> Failed to get info from https://api.smith.langchain.com: LangSmithConnectionError('Connection error caused failure to GET /info in LangSmith API. Please confirm your internet connection. SSLError(MaxRetryError("HTTPSConnectionPool(host=\'api.smith.langchain.com\', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, \'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:1007)\')))"))\nContent-Length: None\nAPI Key: lsv2_********************************************06') window 환경이고 local 환경에서 구동 중이라 별도 방화벽은 설정이 되어있지 않았는데 해결 방안 공유 부탁드립니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
회사보안 문제로 허깅페이스 hub.pull 이 불가능한데
혹시 다른 방법으로 prompt를 생성할 방법이 있을까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
안녕하세요 모델 관련해서 질문드립니다.
외부에 오픈할 토이프로젝트를 진행하려고 무료 API를 찾다보니,Amazon Lex 모델이 1년간 매일 일정량을 무료로 제공하고 있더라구요. AI를 처음 사용해보는거라 OPEN AI 처럼 강의 예시인 소득세법 챗봇을 구현하는게 가능한 모델인지 모르겠어서 강사님 의견을 여쭤보고싶습니다!
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
채팅 히스토리 관련
안녕하세요Azure OpenAI 기반 챗봇 개발 중에, 사용자와 챗봇의 채팅 히스토리를 기록하려 합니다.ex) 챗봇의 문맥 파악, 채팅 로그 분석 등 이 때에 채팅 히스토리를 저장하는 합리적인 방법이 어떤게 있을까요?(현재 테스트 단계에서는 인메모리를 사용하고있습니다.) 감사합니다, 새해 복 많이 받으세요.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
추가 질문입니다. pinecone class
강의를 통해 개인정보배우미 챗봇을 만드는 중pinecone의 init 에 대한 이슈가 발생됩니다 ㅠㅠ서칭해보니 pinecone 자체 업데이트를 한것 같은데요.... 혹시 아래 장애 관련해서 이슈사항을 고칠 수 있는 방법이 있을까요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
Usage Limit 관련해서 질문이 있습니다!
만약에 openai api를 사용해서 챗봇 서비스를 프로덕션 환경에서 배포해서 사용자들이 사용할 수 있도록 한 경우, 만약 많은 사용자로 인해 Usage Limit이 초과 되면 어떻게 해야할까요? Usage Tier 1 기준 gpt-4o-mini 모델의 한도:RPM(분당 요청): 500RPD(일당 요청): 10000TPM(분당 토큰): 200000gpt-4o-mini 모델을 사용한 챗봇을 배포했다고 가정했을 때 많은 사용자로 인해 요청 횟수를 넘어가게 되면 어떻게 해야할까요?사용자 별로 제한을 둬야하는 걸까요? 분당 몇 번, 하루에 몇 번 질문 가능 이런식으로..?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
embedding에 upstage를 사용하려 하는데 chroma 과정에서 에러가 납니다
openai말고 upstage를 사용하려고 하고 있는데 embedding쪽에서 에러가 발생합니다.RemoteProtocolError라고 뜨는데 왜 그런걸까요?3.1.2강의에서 알려주신 upstage를 이용한 chat은 정상적으로 동작하였습니다. from langchain_upstage import UpstageEmbeddings embedding = UpstageEmbeddings(api_key="oooooooo", model="embedding-passage") from langchain_chroma import Chroma database = Chroma.from_documents(documents=document_list, embedding=embedding, collection_name='chroma-tax', persist_directory='./chroma') --------------------------------------------------------------------------- RemoteProtocolError Traceback (most recent call last) .... APIConnectionError: Connection error.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
SSLCertVerificationError 오류 관련
안녕하세요 수강 중에 아래와 같이 관련된 오류가 계속 노출되어 진행이 되지 않아 질문 드립니다.from langchain import hub prompt = hub.pull('rlm/rag-prompt') 를 호출 시 아래와 같이 SSLCertVerificationError 가 나타나고 있습니다. Failed to get info from https://api.smith.langchain.com: LangSmithConnectionError('Connection error caused failure to GET /info in LangSmith API. Please confirm your internet connection. SSLError(MaxRetryError("HTTPSConnectionPool(host=\'api.smith.langchain.com\', port=443): Max retries exceeded with url: /info (Caused by SSLError(SSLCertVerificationError(1, \'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: self signed certificate in certificate chain (_ssl.c:992)\')))"))\nContent-Length: None\nAPI Key: ')내용을 보면 api.smith.langchain.com 에 연결 시 인증서 문제로 접속이 불가하다라는 내용 같은데요, 해당 관련하여 비슷한 오류를 겪으신 분들 어떻게 해결하셨는지 궁금합니다. 답변 부탁 드리겠습니다. 감사합니다
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
소득세법 파일
처음에 어떤프로그램으로 열고 다시 세이브할때 어떻게 하나요?word 읽기기능만 있도록 해서 리드했는데 다시 세이브 기능은 비활성화 됩니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
단순히 LLM에 여러번 질문 하는데에도 Langchain이 도움이 될까요?
현재 대화를 분석하는 프로젝트를 진행하면서 LLM을 사용중인데 답변 퀄리티를 높이기 위한 방법을 모색하다 강의를 보게 되었습니다 ! 강의 내용이 대부분 제가 모르고 있던 것들이어서 많은 도움이 되었습니다. 그런데 제가 해결해야할 상황은 강의 내용과 다르게 참고할만한 특정 정보가 있는 것이 아닌 일상적인 여러 상황의 대화를 분석하는 프로젝트이다보니 Langchain이나 Chroma 또는 Pinecone 까지 사용해야 할지가 의문입니다. 지금 생각중인 흐름은답변 작성 규칙 과 대화 텍스트를 LLM 에 전달해서 답변을 전달 받고답변과 유저 질문을 함께 다시 LLM 에 전달해서 답변 내용을 토대로 유저 질문에 답변이 구조를 생각중인데, 이렇게 LLM에 질문, 답변받은 내용을 가지고 다시 질문 하는데에도 Langchain이나 embedding을 사용하는 것이 답변 퀄리티 향상에 도움을 주는지 궁금합니다 ! 강의 잘 들었습니다. 감사합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
pinecone 에 document 가 중복으로 저장이 되나요?
document list 를 pinecone 에 넣는 코드를 실행해서 콘솔에 변경된 것을 확인했습니다.그다음에 document 추가하는 코드를 주석하는 것을 까먹고, 한번 더 실행했는데, 이러면 동일 데이터가 추가로 저장 되는 건가요?감사합니다.
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
RetrievalQA is Deprecated
RetrievalQA 가 0.1.17 버전 이후로 Deprecated 되었다고 마이그레이션 가이드를 보고 다음과 같이 바꿨습니다.from langchain import hub from langchain.chains import create_retrieval_chain from langchain.chains.combine_documents import create_stuff_documents_chain retrieval_qa_chat_prompt = hub.pull("langchain-ai/retrieval-qa-chat") combine_docs_chain = create_stuff_documents_chain(llm, retrieval_qa_chat_prompt) rag_chain = create_retrieval_chain(database.as_retriever(), combine_docs_chain) rag_chain.invoke({"input": query})위 예시는 잘 작동하는데, rml/rag-prompt 를 사용하면,KeyError: "Input to ChatPromptTemplate is missing variables {'question'}. Expected: ['context', 'question'] Received: ['input', 'context']\nNote: if you intended {question} to be part of the string and not a variable, please escape it with double curly braces like: '{{question}}'.\nFor troubleshooting, visit: https://python.langchain.com/docs/troubleshooting/errors/INVALID_PROMPT_INPUT "가 발생하는데, template 의 placeholder 의 형태가 달라서인것 같은데, 어떻게 키값을 설정해야 하나요?
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
chatbot에 이전 답변 내역이 나타나지 않을 때 어떻게 해야할까요?
강의를 따라서 만들어 봤는데요..ㅠㅠ이전 질문한 항목의 답변이 남질 않는데 어떻게 해야할까요?여러가지 시도해보다가 강사님 코드로 붙여넣기해서 다시 한번 돌려봤는데도 문제가 동일하게 발생합니다..
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
LangSmith Evaluator로 Ollama 모델 설정
강의 전반을 개인 데스크탑에 도커를 설치하여 Ollama에 한국어로 파인튜닝된 llama3.2 모델을 사용하였었습니다.streamlit으로 만든 프로젝트도 문제없이 돌아갔었는데,Langsmith에서 Evaluator로 해당 모델을 설정하니 아래와 같은 에러가 나옵니다.langsmith에서는 ollama 모델로 평가를 할 수 없는건가요?ollama._types.ResponseError: llama3.2-ko does not support tools Error running evaluator <DynamicRunEvaluator answer_hallucination_evaluator> on run 38c51823-def2-4eb1-8347-c019874622eb: KeyError('contexts') Traceback (most recent call last): File "E:\PythonProject\rag_streamlit\.venv\Lib\site-packages\langsmith\evaluation\_runner.py", line 1573, in _run_evaluators evaluator_response = evaluator.evaluate_run( ^^^^^^^^^^^^^^^^^^^^^^^ File "E:\PythonProject\rag_streamlit\.venv\Lib\site-packages\langsmith\evaluation\evaluator.py", line 331, in evaluate_run result = self.func( ^^^^^^^^^^ File "E:\PythonProject\rag_streamlit\.venv\Lib\site-packages\langsmith\run_helpers.py", line 617, in wrapper raise e File "E:\PythonProject\rag_streamlit\.venv\Lib\site-packages\langsmith\run_helpers.py", line 614, in wrapper function_result = run_container["context"].run(func, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\user\AppData\Local\Temp\ipykernel_10064\4107259675.py", line 12, in answer_hallucination_evaluator contexts = run.outputs["contexts"] ~~~~~~~~~~~^^^^^^^^^^^^ KeyError: 'contexts' Error running evaluator <DynamicRunEvaluator answer_evaluator> on run 4a5e6612-1a97-4efc-9da4-ee0b4f113b70: ResponseError('llama3.2-ko does not support tools') # Prompt # hallucination 판단을 위한 프롬프트 grade_prompt_hallucinations = prompt = hub.pull("langchain-ai/rag-answer-hallucination") def answer_hallucination_evaluator(run, example) -> dict: """ hallucination 판단을 위한 Evaluator """ # 데이터셋에 있는 질문과, LLM이 답변을 생성할 때 사용한 context를 활용 input_question = example.inputs["input_question"] contexts = run.outputs["contexts"] # LLM의 답변 prediction = run.outputs["answer"] # LLM Judge로 사용될 LLM llm = ChatOllama( model="llama3.2-ko", base_url=os.getenv("LLM_BASE_URL"), temperature=0 ) # LLM 응답을 위한 LCEL 활용 # 3.6 `dictionary_chain`의 `prompt | llm | StrOutputParser()`` 의 구조와 유사함 answer_grader = grade_prompt_hallucinations | llm # Evaluator 실행 score = answer_grader.invoke({"documents": contexts, "student_answer": prediction}) score = score["Score"] return {"key": "answer_hallucination", "score": score}코드는 llm 부분만 ChatOllama를 사용하고 나머지 부분은 모두 동일합니다
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
강의 4.2 에서 langchain 코드 붙여 넣을 때,
이전에 했던 langchain 코드를 chat.py에 붙여 넣는데, 조금 따라가기가 어려운것 같습니다.. 혹시 코드 공유가 가능하실까요?
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
강의자료 재업로드 요청드립니다.
다른분 질문 답변에 링크로 올려주셨는데 오류가 나타나 다시 재 업로드 요청드립니다
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
LLM Evaluation에 LangSmith말고 사용할 수 있는 오픈소스가 있을까요?
아무래도 유료 서비스가 편리하겠지만 적당하게 무료로 사용할 수 있을만한 오픈소스가 있나요??
-
해결됨RAG를 활용한 LLM Application 개발 (feat. LangChain)
PineconeVectorStore import 에러
from langchain_pinecone import PineconeVectorStore를 실행하면ImportError: cannot import name 'PineconeVectorStore' from partially initialized module 'langchain_pinecone' (most likely due to a circular import) 라는 에러가 뜨면서 뭘 해도 안됩니다.어떻게 해야 해결 가능할까요?? 아직까진 인터넷에 정보가 많이 없네요.. chat GPT 도 해결을 못해주고요 .. 하도 답답해서 여기 문의 드립니다. 임포트한 패키지들 :__import__('pysqlite3') import sys sys.modules['sqlite3'] = sys.modules.pop('pysqlite3') from dotenv import load_dotenv from langchain_upstage import UpstageEmbeddings from langchain_community.document_loaders import Docx2txtLoader from langchain_text_splitters import RecursiveCharacterTextSplitter from langchain_pinecone import PineconeVectorStore파이썬 버전3.10.15
-
미해결RAG를 활용한 LLM Application 개발 (feat. LangChain)
질 좋은 답변을 생성하는 방법이 있을까요?
안녕하세요. 강의 잘 듣고 있습니다. 듣던 차에 궁금한 부분이 있어 질문 남깁니다. (현재 섹션3 강의는 다 들은 상태입니다.)저는 NLP나 RAG 관련해서 전공 공부한 적이 없고 모르는 개념은 강의를 들으면서 그때그때 검색해서 공부하고 있습니다! 저희 질문이 "연봉 5천만원인 직장인의 소득세는?" 인데, 질문을 할 때마다 답변이 다르게 나오는 건 알겠지만1400초과 ~ 5000만원 이하 과세표준으로 계산함1의 과세표준으로 계산했지만 계산 결과가 틀림1의 과세표준으로 계산했고 계산 결과가 맞지만 후에 부가적으로 기본공제, 지방소득세 등 이상한 내용이 들어가서 결과적인 직장인의 소득세가 매우 상이하게 나옴5000초과~ 8800만원 이하 과세표준으로 계산등 여러번 돌려보니까 다양한 결과가 나오더라구요. (LLM이니깐 매번 돌릴 때마다 결과가 다른 건 알고 있습니다!)현재 query 수정 (회사원 -> 거주자), markdown으로 표 수정은 이미 다 한 상태입니다.LLM은 외부 API를 (저는 Upstage로 하고 있습니다) 사용하기 때문에 LLM은 아예 저의 소관이 아니라고 생각하고, 저는 최대한 잘 자르고 유사도 검색을 잘 해서 prompt를 잘 쓰는 것까지 저의 일이라고 생각합니다. 아무튼 이러한 경우에는 제가 양질의 답변을 얻기 위해서는 추가적으로 어떤 걸 해야할까요? ㅠㅠ제가 생각했을 땐초과, 이하의 개념을 프롬포트로 제공한다retriever_docs를 검색할 때 추가적인 정보가 많이 제공되지 않게끔 k를 조절한다. 정도 생각하고 있습니다!