문제 상황
GPT 어시스턴트에 파일을 넣어서 "retrival" 기능을 이용하는 코드를 다음과 같이 짰다.
참고로 파일 형식은 .txt이다.
file = client.files.create(
file=open(file_path, "rb"),
purpose='assistants'
)
assistant = client.beta.assistants.create(
instructions=roleA,
model="gpt-4-turbo-preview",
tools=[{"type": "retrieval"}],
)
thread = client.beta.threads.create(
messages=[
{
"role": "user",
"content": prompt_text,
"file_ids": [file.id]
}
]
)
다른 파일들에서는 잘 워킹했는데, 특정 파일에서 아래와 같은 에러가 발생했다.
Error code: 400 - {'error': {'message': 'Failed to index file: Unsupported file file-Obnj7QvxgpkHWuOEJV4KL2RX type: audio/mpeg error_code: unhandled_mimetype', 'type': 'invalid_request_error', 'param': None, 'code': None}}
문제 원인
해당 쓰레드에서 이미 많은 사람들이 에러로 인해 불편을 겪고 있었다.
쓰레드에서 아래와 같이 다양한 원인을 문제 원인으로 제시한다.
- 지원하지 않는 파일 형식
- 파일에 지원하지 않는 문자열을 포함
- ...
하지만 내 경우는 위 경우에 해당하지 않았고, 비슷한 형식의 다른파일들은 모두 잘 작동하는데 특정 파일에서만 문제가 발생했다.
따라서 파일의 내용들을 일부 삭제하면서 어느 부분에서 에러가 발생하는지를 체크하다보니 다음의 문제로 추정된다.
(개인적인 추측이라 혹시 잘못된 정보라면 댓글로 알려주세요.)
GPT가 입력된 파일 전처리 과정에서 .txt파일 형식이더라도 텍스트 파일 그 자체로 보는 것이 아니다.
파일 내용에서 어떤 파일인지 유추하는데, 여기서 문제가 발생하는 것으로 추정된다.
실제로 파일 내용들을 일부 제거하다보면 실행이 되는 경우가 있었는데, 이 때 어느 특정 문장의 문제라기 보다는 여러 문장끼리 결합된 상황에서 문제가 발생하는 것을 발견했다.
즉 GPT가 파일 내용을 통해 어떤 형식의 파일인지 유추하고, 전처리하는 과정에서 에러가 발생하는 것으로 추정된다.
파일 내용을 일부 제거해보니 에러 내용이 아래와 같이 변경되는 것도 확인했다.
Error code: 400 - {'error': {'message': 'Failed to index file: Unsupported file file-KEM0hIYE8hlxbeKm1HjiCYhJ type: application/octet-stream error_code: unhandled_mimetype', 'type': 'invalid_request_error', 'param': None, 'code': None}}
- type 부분이 audio/mpeg 에서 octet-stream 으로 변경된 것을 확인할 수 있다.
해결 방법
쓰레드에서 해결방법으로는 파일을 json이나 jsonl파일로 대체하여 입력으로 넣어볼 것을 제시한다.
내 경우에도 json 파일로 바꿔서 넣어봤을 때 제대로 워킹하는걸 확인할 수 있었다.
Reference
Failed to update assistant: UserError: Failed to index file: Unsupported file type: application/csv
'Study > 딥러닝' 카테고리의 다른 글
[대화형 AI] TaskWeaver에 대해 알아보자. (0) | 2024.03.16 |
---|---|
[대화형 AI] Microsoft Copilot에 대해 알아보자. (0) | 2024.03.11 |
[온라인 강의] 스탠포드 대학 딥러닝 강의 목록 (2) | 2022.11.04 |
[CS230] Deep Learning Lecture 6 Deep Learning Project Strategy (0) | 2022.09.21 |
[CS230] Deep Learing Lecture 5 AI + Healthcare (0) | 2022.09.20 |