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

lynn님의 프로필 이미지

작성한 질문수

모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 2 - 랭체인(LangChain)으로 나만의 ChatGPT 만들기

SelfQueryRetriever 심화 예제 - SelfQueryRetriever를 이용해서 호텔 검색(Hotel Search) 어플리케이션을 만들어보자

self query retriever 한글

24.05.28 16:45 작성

·

195

0

안녕하세요 query constructor chain 생성하는데

 

df 안에 있는 한글을 넣으면

 

"Sample Stability": { "translation": "\uc0d8\ud50c \uc548\uc815\uc131",

요런식으로 나와서 filter 인식이 안되는데요,

수정하는 코드를 찾아봐도 안나와서 질문드립니다!

답변 2

0

AISchool님의 프로필 이미지
AISchool
지식공유자

2024. 05. 31. 01:31

안녕하세요~. 반갑습니다.

[상품추천GPT(RecommendationGPT) 만들기 실습] 실습 colab 코드에서 볼수 있듯이 아래와 같이 프롬프트가 구성되어도 제대로 매칭이 이루어지게 됩니다.

{
    "content": "리뷰에 대한 자세한 설명",
    "attributes": {
    "RawText": {
        "description": "The text of the review",
        "type": "string"
    },
    "MainCategory": {
        "description": "The main category of the product. Valid values are ['\uc790\ub3d9\ucc28\uae30\uae30', '\uce74\uba54\ub77c/\uac8c\uc784\uae30/\ud0dc\ube14\ub9bf', '\ucef4\ud4e8\ud130/\uc8fc\ubcc0\uae30\uae30', '\ud734\ub300\ud3f0/\uc8fc\ubcc0\uae30\uae30']",
        "type": "string"
    },
    "ProductName": {
        "description": "The name of the product",
        "type": "string"
    },
    "ReviewScore": {
        "description": "The score given to the product by the reviewer. Valid values are ['1', '2', '3', '4', '5']",
        "type": "integer"
    },
    "RDate": {
        "description": "The date of the review",
        "type": "date"
    },
    "GeneralPolarity": {
        "description": "The overall sentiment of the review. Valid values are ['-1', '0', '1']",
        "type": "integer"
    },
    "Aspects": {
        "description": "List of aspects mentioned in the review with their corresponding sentiment text",
        "type": "array of objects"
    }
}
}

 

따라서 위에 문제는 한글 인코딩 문제라기보다는 attribute_info 변수안에 값을 제대로 구성하지 않은 문제 때문에 에러가 발생한 것 일수도 있을것 같습니다.

attribute_info 에 들어있는 값은

{
"name" : "해당변수명".
"description": "해당변수설명".
"type":"해당변수타입",
}

위와 같이 구성되어야만 합니다. attribute_info 변수에 값을 출력해서 attribute_info안에 값이 위와 같이 제대로 정형화된 형태로 구성되어있는지 다시한번 확인해보시기 바랍니다. (위에 최종 프롬프트를 보면 description, type외에 translation이라는 키값이 추가적으로 들어가있어서 문제가 된것은 아닐까 싶습니다.)

좋은 하루되세요~.

감사합니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 05. 30. 16:51

안녕하세요, 인프런 AI 인턴입니다.

langchain에서 한글을 처리할 때 “\uc0d8\ud50c \uc548\uc815\uc성”와 같이 유니코드로 변환되어 인식이 안되는 문제를 겪고 계신 것 같네요. 이는 Python에서 문자열을 다룰 때 발생할 수 있는 인코딩 문제일 수 있습니다.

문제 해결을 위해서는 우선, Python 파일 상단에 인코딩을 명시해보시는 것이 좋습니다.

# -*- coding: utf-8 -*-

또한, 유니코드 문자열을 올바르게 처리하려면 문자열 앞에 u를 붙이거나 .encode('utf-8') .decode('utf-8') 메서드를 적절히 사용해볼 수 있습니다.

예를 들어, 유니코드로 표현된 한글을 제대로 출력하고 싶다면 다음과 같이 처리할 수 있습니다.

print(u'\uc0d8\ud50c \uc548\uc815\uc131'.encode('utf-8'))

만약 langchain 라이브러리 사용 중에 이런 유니코드 문제가 지속되면, 해당 라이브러리의 문서를 참조하거나 langchain 개발자에게 이슈를 제기하는 것도 하나의 방법입니다.

정확한 문제 해결을 위해서는 보다 자세한 코드 컨텍스트나 langchain 라이브러리의 사용 방법을 알아볼 필요가 있습니다. 참고할 만한 자료나 예시가 많지 않다면, 직접 해결을 위한 실험을 해보시거나 해당 오픈소스 커뮤니티에 질문을 올려보시는 것을 권장드립니다.

lynn님의 프로필 이미지

작성한 질문수

질문하기