인프런 커뮤니티 질문&답변
같은 소스를 서로 다른 pc에서 실행시 정답률 차이가 생겨요
해결된 질문
작성
·
93
0
@tool
def retriever_tool(query: str) -> str:
"""사용자의 질문에 기반하여 벡터 스토어에서 회사 HR 문서를 검색합니다.
이 도구는 RAG(Retrieval Augmented Generation) 방식을 사용하여:
가장 적합한 문서를 찾아냅니다.
Args:
query (str): 사용자의 질문 (미리 정의된 질문이 사용됨)
Returns:
str: 문서 내용
"""
_response = _retriever.invoke(query)
return _response
_research_tools = [retriever_tool]
_research_agent = create_react_agent(
llm, tools=_research_tools, state_modifier='당신은 HR 담당자 입니다. 의견이 아닌 사실만 제공하세요'
)
def _db_research_node(state: MainState) -> Command[Literal["supervisor_node"]]:
"""
HR 조사 node입니다. 주어진 State를 기반으로 HR 조사 에이전트를 호출하고,
결과를 supervisor node로 전달합니다.
Args:
state (MainState): 현재 메시지 상태를 나타내는 객체입니다.
Returns:
Command: supervisor node로 이동하기 위한 명령을 반환합니다.
"""
result = _research_agent.invoke({"messages" : state["messages"]})
print(f" db result : {result}")
return Command(
update={'messages': [HumanMessage(content=result['messages'][-1].content, name='db_research')]},
goto='supervisor_node'
)이런 간단한 create_react_agent를 이용한 agent를 pip 버전이 약간다른 서로다른 pc에서 실행을 하였습니다. 첫 번째 피시에서는 LLM이 대답을 정말잘하지만 두 번째 피시에서는 전혀 엉뚱한 답변을 하며 정답률이 0%에 가깝게 나옵니다.
from langgraph.prebuilt import create_react_agent이런 패키지 버전에 따라서 LLM의 추론 생각 능력 차이가 있나요?
LLM과 vectordb, embedding 모델, 소스는 동일합니다. 피시 사양도 똑같고 langraph 패키지 버전차이만 존재합니다.
답변 2
0
안녕하세요! 저는 처음 보는 케이스인데요 아래 내용이 확인되실까요?
두 컴퓨터에서 모두 문서는 제대로 가져오는데 답변이 이상한건지
문서를 제대로 가져오지 않아서 답변이 이상한건지
두가지를 한번 비교해보셔야 할 것 같습니다~
0
안녕하세요, 인프런 AI 인턴입니다.
sangin1.park님의 질문은 두 대의 PC에서 같은 코드와 데이터셋을 사용했음에도 불구하고 서로 다른 결과가 나오는 상황에 관한 것입니다. LLM 기반 시스템에서 이런 현상이 발생할 수 있는 여러 가지 이유를 고려해볼 수 있습니다.
문제 원인 및 해결 방안
패키지 버전 차이
LangGraph 및 관련 패키지의 버전이 다르다면 모델의 동작이나 API 호출 방식 등이 달라질 수 있습니다. 특히, 동일한 기능 호출이라도 내부 동작 방식이 업데이트되었을 수 있습니다.
해결책: 두 PC 모두 동일한 버전의 LangGraph 및 관련 패키지를 사용하도록 환경을 설정하는 것이 좋습니다.
pip freeze > requirements.txt명령어를 통해 한 PC의 환경을 기록하고, 다른 PC에서pip install -r requirements.txt명령어를 사용하여 동일하게 설정할 수 있습니다.
환경 변수 및 설정
- API 키 등 환경 변수 설정이 두 PC에서 일치하는지 확인이 필요합니다. 환경 변수가 각각의 PC에서 다르게 설정되어 있을 수 있습니다. 예를 들어, 모델 호출 시 사용되는 API 키가 다르게 설정되어 있는지 확인해보세요.
- API 키 등 환경 변수 설정이 두 PC에서 일치하는지 확인이 필요합니다. 환경 변수가 각각의 PC에서 다르게 설정되어 있을 수 있습니다. 예를 들어, 모델 호출 시 사용되는 API 키가 다르게 설정되어 있는지 확인해보세요.
랜덤성 요소
- LLM의 경우 호출할 때마다 미세한 차이로 인한 랜덤성이 영향을 미칠 수 있습니다. 일반적으로 동일한 조건에서 실행하면 일관된 결과가 나와야 하지만, 무작위성이 포함된 경우 다를 수 있습니다. 설정에서
seed값을 고정하여 가능성을 줄여보세요.
- LLM의 경우 호출할 때마다 미세한 차이로 인한 랜덤성이 영향을 미칠 수 있습니다. 일반적으로 동일한 조건에서 실행하면 일관된 결과가 나와야 하지만, 무작위성이 포함된 경우 다를 수 있습니다. 설정에서
데이터 및 파일의 일관성 확인
- 실질적으로 사용되는 데이터 파일이 동일한지 확인합니다. HR 문서 등의 데이터세트가 두 PC에서 동일하게 적용되고 있는지 체크하세요.
- 실질적으로 사용되는 데이터 파일이 동일한지 확인합니다. HR 문서 등의 데이터세트가 두 PC에서 동일하게 적용되고 있는지 체크하세요.
로깅 및 디버깅
- 코드 내에서 중요한 값을 출력하거나, 단계별로 출력 로그를 추가하여 문제가 발생하는 부분이 무엇인지 확인하는 것이 필요합니다. 특히, 입력되는 쿼리나 각 단계의 중간 결과를 확인해보는 것이 좋습니다.
- 코드 내에서 중요한 값을 출력하거나, 단계별로 출력 로그를 추가하여 문제가 발생하는 부분이 무엇인지 확인하는 것이 필요합니다. 특히, 입력되는 쿼리나 각 단계의 중간 결과를 확인해보는 것이 좋습니다.
관련 질문이 여기에서도 논의된 바 있으니 참고할 수 있는 추가적인 정보를 확인해 보실 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





감사합니다 선생님!. ollama 가속기를 사용하고 있는데 ollama update되면서 모델에 문제가 생긴 것 같습니다! 모델을 다시 다운로드 해서 사용하니 잘됩니다.!