Inflearn brand logo image

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

윤님의 프로필 이미지

작성한 질문수

RAG 마스터: 기초부터 고급기법까지 (feat. LangChain)

쿼리(Query) 확장 5 - 검색 성능 평가

evaluate_retrieval_at_K 함수 문의드립니다.

작성

·

19

0

안녕하세요, krag 라이브러리가 pip 서버에는 등록이 되어있는데 상세한 정보는 찾을 수가 없어서 문의드립니다.

 

일정 한도 내에서는 무료로 사용할 수 있는 Gemini API를 통해서 검색 성능을 평가중에 있는데, 중간중간 NaN값이 나오길래 추적해봤더니 API 분당 호출 수가 초과해서 값을 호출받지 못하는 경우가 생기더라구요.

 

time.sleep을 걸고싶어도 이게 함수 자체로 전체 데이터프레임을 순회하는지라.. 혹시 delay를 넣을 수 있는 옵션이 있을까요?

답변 2

1

윤님의 프로필 이미지
질문자

해결했습니다.

 

아나콘다 가상환경의 라이브러리 설치 디렉터리의 krag/utils.py 에서 time.sleep 코드 추가했습니다.

 

저랑 같은 이슈 있으신 분은 해당 라이브러리에서 코드 수정 후 사용하시면 될 것 같습니다.

 

수정된 코드 일부 공유드립니다.

매개변수에 time_delay 추가 후 저장하시면 됩니다.

    outputs = []
    for idx, row in tqdm(df_qa_test.iterrows(), total=len(df_qa_test), desc="Processing questions"):
        question = row['question']
        context_docs = context_to_document(df_qa_test, idx)

        for retriever_key, retriever in set_retrievers.items():
            # API time delay
            time.sleep(time_delay)
            try:
                retrieved_docs = retriever.invoke(question)

 

0

판다스 스튜디오님의 프로필 이미지
판다스 스튜디오
지식공유자

빠르게 해결하셔서 다행입니다.

gemini 무료 사용 api 호출 한도에 제한 문제를 잘 해결하신 것 같습니다.

추후 업데이트에 delay 옵션을 반영하겠습니다.

 

감사합니다.

윤님의 프로필 이미지

작성한 질문수

질문하기