안녕하세요 강사님 🙂 저는, 이번 강의를 통해 ipynb로 처음 실습을 해봅니다. 실습 중 처음부터 막히는 부분이 발생해서 질문을 남깁니다. 실습환경 Mac OS Python 3.13 pyenv virtualenv 작성한 코드 %pip install langchain-upstage python-dotenv 발생한 오류 Collecting langchain-upstage Using cached langchain_upstage-0.6.0-py3-none-any.whl.metadata (3.3 kB) Requirement already satisfied: python-dotenv in /Users/dot/.pyenv/versions/3.10/envs/inflearn-llm-application/lib/python3.13/site-packages (1.0.1) Requirement already satisfied: langchain-core<0.4.0,>=0.3.29 in /Users/dot/.pyenv/versions/3.10/envs/inflearn-llm-application/lib/python3.13/site-packages (from langchain-upstage) (0.3.34) Requirement already satisfied: langchain-openai<0.4,>=0.3 in /Users/dot/.pyenv/versions/3.10/envs/inflearn-llm-application/lib/python3.13/site-packages (from langchain-upstage) (0.3.4) Collecting pypdf<5.0.0,>=4.2.0 (from langchain-upstage) Using cached pypdf-4.3.1-py3-none-any.whl.metadata (7.4 kB) Requirement already satisfied: requests<3.0.0,>=2.31.0 in /Users/dot/.pyenv/versions/3.10/envs/inflearn-llm-application/lib/python3.13/site-packages (from langchain-upstage) (2.32.3) Collecting tokenizers<0.20.0,>=0.19.1 (from langchain-upstage) Using cached tokenizers-0.19.1.tar.gz (321 kB) Installing build dependencies ... Getting requirements to build wheel ... Preparing metadata (pyproject.toml) ... error: subprocess-exited-with-error × Preparing metadata (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [6 lines of output] Checking for Rust toolchain.... Cargo, the Rust package manager, is not installed or is not on PATH. This package requires Rust and Cargo to compile extensions. Install it through the system's package manager or via https://rustup.rs/ [end of output] ... note: This is an issue with the package mentioned above, not pip. hint: See above for details. Note: you may need to restart the kernel to use updated packages. Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings... 문제 해결 제가 영어를 못해서 claude한테 질문해보니까, Rust와 Cargo가 설치되어 있지 않다고 하더군요. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" 해당 명령어로 rust를 설치 한 뒤, 수행하면 될거라고 하는데... 너무 번거로워서 다른 방법으로 빌드된 버전을 미리 설치하도록 수행했습니다. %pip install --only-binary :all: langchain-upstage python-dotenv 궁금한 점 langchain-openai를 설치할 때는 문제가 없던데, 왜 langchain-upstage는 이런 문제가 발생하나요..?
현재 개인정보 배우미 챗봇을 다 만들고 테스트 중에 있습니다. 문서는 총 78개를 넣었고, 문서에서 관련 내용을 잘 찾아서 응답하고 있는데, 실제 문서와 응답을 대조해서 1차로 사람이 확인하는 방법 이외에 langsmith와 같이 성능을 측정하기 위한 플랫폼이 있는지 궁금 합니다. langsmith의 경우 챗봇 속도를 확인하고 각 항목당 어떻게 처리하는지 확인이 가능하나, 질문에 대한 정확도나 유사도를 보기 쉽게 확인하기는 조금 부족한것 같더라구요.. huggingface의 evaluate를 써봤으나, 단어, 구문 구조가 다르면 0점으로 평가될 가능성이 높아 적합하지 않아보입니다.. 혹 추천해주실 만한 플랫폼이 있으실까요?
다른 분도 마찬가지로 질문 남겨주셨는데 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 환경에서 구동 중이라 별도 방화벽은 설정이 되어있지 않았는데 해결 방안 공유 부탁드립니다.
외부에 오픈할 토이프로젝트를 진행하려고 무료 API를 찾다보니, Amazon Lex 모델이 1년간 매일 일정량을 무료로 제공하고 있더라구요. AI를 처음 사용해보는거라 OPEN AI 처럼 강의 예시인 소득세법 챗봇을 구현하는게 가능한 모델인지 모르겠어서 강사님 의견을 여쭤보고싶습니다!
안녕하세요 Azure OpenAI 기반 챗봇 개발 중에, 사용자와 챗봇의 채팅 히스토리를 기록하려 합니다. ex) 챗봇의 문맥 파악, 채팅 로그 분석 등 이 때에 채팅 히스토리를 저장하는 합리적인 방법이 어떤게 있을까요? (현재 테스트 단계에서는 인메모리를 사용하고있습니다.) 감사합니다, 새해 복 많이 받으세요.
만약에 openai api를 사용해서 챗봇 서비스를 프로덕션 환경에서 배포해서 사용자들이 사용할 수 있도록 한 경우, 만약 많은 사용자로 인해 Usage Limit이 초과 되면 어떻게 해야할까요? Usage Tier 1 기준 gpt-4o-mini 모델의 한도: RPM(분당 요청): 500 RPD(일당 요청): 10000 TPM(분당 토큰): 200000 gpt-4o-mini 모델을 사용한 챗봇을 배포했다고 가정했을 때 많은 사용자로 인해 요청 횟수를 넘어가게 되면 어떻게 해야할까요? 사용자 별로 제한을 둬야하는 걸까요? 분당 몇 번, 하루에 몇 번 질문 가능 이런식으로..?
안녕하세요 수강 중에 아래와 같이 관련된 오류가 계속 노출되어 진행이 되지 않아 질문 드립니다. 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 에 연결 시 인증서 문제로 접속이 불가하다라는 내용 같은데요, 해당 관련하여 비슷한 오류를 겪으신 분들 어떻게 해결하셨는지 궁금합니다. 답변 부탁 드리겠습니다. 감사합니다
현재 대화를 분석하는 프로젝트를 진행하면서 LLM을 사용중인데 답변 퀄리티를 높이기 위한 방법을 모색하다 강의를 보게 되었습니다 ! 강의 내용이 대부분 제가 모르고 있던 것들이어서 많은 도움이 되었습니다. 그런데 제가 해결해야할 상황은 강의 내용과 다르게 참고할만한 특정 정보가 있는 것이 아닌 일상적인 여러 상황의 대화를 분석하는 프로젝트이다보니 Langchain이나 Chroma 또는 Pinecone 까지 사용해야 할지가 의문입니다. 지금 생각중인 흐름은 답변 작성 규칙 과 대화 텍스트를 LLM 에 전달해서 답변을 전달 받고 답변과 유저 질문을 함께 다시 LLM 에 전달해서 답변 내용을 토대로 유저 질문에 답변 이 구조를 생각중인데, 이렇게 LLM에 질문, 답변받은 내용을 가지고 다시 질문 하는데에도 Langchain이나 embedding을 사용하는 것이 답변 퀄리티 향상에 도움을 주는지 궁금합니다 ! 강의 잘 들었습니다. 감사합니다.
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 의 형태가 달라서인것 같은데, 어떻게 키값을 설정해야 하나요?
강의 전반을 개인 데스크탑에 도커를 설치하여 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를 사용하고 나머지 부분은 모두 동일합니다
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