인프런 커뮤니티 질문&답변

이홍기님의 프로필 이미지
이홍기

작성한 질문수

RAG를 활용한 LLM Application 개발 (feat. LangChain)

5.3 [업데이트] HuggingFace의 오픈소스 언어모델 활용방법

답변의 정확성을 위한 질문

작성

·

69

0

안녕하세요 강사님

답변의 정확성을 높이기 위해 upstage에서 temperature를 사용 해보았는데요.

3~4번 까지 질문의 대답을 잘해주다가 그 후에는 답변에 무한핑으로 "답변을 생성중입니다"가 계속 나오고 있습니다!

기다려보면 토큰 수 초과라고 오류가 나오는데,, temperature 옵션을 넣어주고 나서 토큰 수 초과 오류가 계속 나오고 있습니다. 원인이 무엇일까요???

def get_llm(model_name='solar-1-mini-chat', temperature=0.3):

llm = ChatUpstage(model_name=model_name, temperature=temperature)

return llm

답변 2

0

강병진님의 프로필 이미지
강병진
지식공유자

안녕하세요! 상세 에러메세지를 올려주실 수 있으실까요?

 

토큰 수 초과라면 크레딧 이슈이거나 한번에 너무 많은 양의 텍스트를 인풋으로 넣어서 발생하는 문제일 수 있습니다

이홍기님의 프로필 이미지
이홍기
질문자

1111111.PNG

에러 보면 요청 토큰 수가 많다고하는데 temperature를 지정하고 나서 저렇게 계속 뜹니다.

코드.PNG

openai에서는 안나오는 오류가 upstage에서 계속 나와서 문의드립니다!

retriever = database.as_retriever(search_kwargs={'k':5})

리트리버는 5로 지정하였습니다.

 

강병진님의 프로필 이미지
강병진
지식공유자

맥스 토큰이 4000인데 27609만큼 넣어서 요청을 보내서 발생하는 문제입니다.

  1. retriever에서 리턴하는 문서의 갯수를 줄여주시고

  2. 각 Chunk의 크기도 줄이는게 필요할 것 같습니다

0

안녕하세요, 인프런 AI 인턴입니다. 이홍기님.

Upstage에서 temperature 옵션을 사용하면서 다수의 질문에 대한 답변에 “답변을 생성중입니다”가 지속적으로 표시되고, 토큰 수 초과 오류가 발생하는 문제에 대해 답변드리겠습니다.

원인 분석

  1. Temperature 설정과 토큰 수:

    • Temperature 옵션은 답변 생성의 다양성을 조정하게 됩니다. Temperature 값이 높거나 낮더라도 토큰 수 초과 오류에는 직접적인 영향이 없을 수 있습니다.
    • 답변 길이가 영향을 미칠 수 있습니다. Temperature 값으로 인해 답변이 길어질 경우, 할당된 토큰 수를 넘어서게 되면 해당 오류가 발생할 수 있습니다.
  2. 토큰 제한:

    • 토큰 수 초과 오류가 발생하는 이유는 모델이 한 번에 처리할 수 있는 최대 토큰 수를 초과했기 때문입니다. 이는 주어진 context와 생성된 답변의 길이에 따라 다르며, 대화가 이어질수록 누적된 토큰 수가 많아집니다.

해결 방법

  1. 토큰 사용 최적화:

    • 매 회차의 질문과 답변이 너무 길어지지 않도록 조정하는 것이 좋습니다. 특히 대화가 길어질 경우 이전 대화 일부를 생략하거나 요약하는 방법도 고려해 볼 수 있습니다.
  2. 토큰 제한 설정:

    • LLM 설정에서 max_tokens 옵션을 사용해 한 번에 생성되는 답변의 최대 토큰 수를 제한할 수 있습니다. 예를 들어, ChatUpstage 인스턴스를 생성할 때 max_tokens 옵션을 명시할 수 있습니다.
  3. 세션 관리:

    • 각 세션에 대해 accumulated tokens를 모니터링하고 일정 토큰 수에 도달하면 새로운 세션을 시작하는 방법도 고려할 수 있습니다.

관련 질문

비슷한 문제를 다룬 질문과 그에 대한 답변을 참고해보세요:
- LLM이 답변하지 못함 : 데이터를 최적화하여 답변 효율성을 높이는 방법을 설명합니다.
- 4.3강의: Bad Request 오류 발생 : LLM 설정 시 발생할 수 있는 오류와 그 해결 방법에 대해 논의합니다.

코드 예시

다음은 get_llm 함수의 최적화된 예시입니다:

def get_llm(model_name='solar-1-mini-chat', temperature=0.3, max_tokens=150):
    llm = ChatUpstage(model_name=model_name, temperature=temperature, max_tokens=max_tokens)
    return llm

이를 주의 깊게 설정해 주시면 답변 생성 과정에서 발생하는 문제를 줄일 수 있을 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

이홍기님의 프로필 이미지
이홍기

작성한 질문수

질문하기