Gemini API 임베딩 구성 명확화

@Falco 임베딩에 대한 추가 질문 2가지입니다:

  1. 임베딩 설정에서 Sequence length은 무엇을 의미합니까? 여기에서 설명된 Input token limit과 관련이 있나요: https://ai.google.dev/gemini-api/docs/embeddings#model-versions
  2. 임베딩 API의 처리 속도를 어떻게 제한할 수 있습니까? Gemini의 구형 모델이 비활성화되어 임베딩 모델을 초기화해야 했기 때문에, 이제 포럼 전체에 대한 새로운 벡터를 생성하려고 하고 있습니다(다른 게시글을 제가 올바르게 이해했다면요). 문제는 속도가 너무 빨라서 Gemini에서 429(요청 초과) 오류가 발생하고 있다는 점입니다. 이를 스로틀링할 수 있는 방법이 있을까요? RPD/TPM 한도 내에서는 있지만, Gemini 대시보드를 보면 Discourse가 API를 너무 많이 호출하고 있는 것으로 나타납니다. 여기에 대해 조언을 주실 수 있다면 감사하겠습니다(Gemini의 구형 모델이 비활성화되어 새로운 임베딩 모델을 만들어야 할 때까지는 모든 것이 정상적으로 작동하고 있었습니다).

모든 것이 레이트 리밋 범위 내에 있습니다:

하지만 429(요청 초과) 오류가 많이 발생하고 있습니다:

네, 해당 특정 모델의 경우 2048입니다. 그러나 Gemini API에 자동 절단(auto truncate) 매개변수가 없으므로, 신중을 기하기 위해 더 낮은 값으로 설정할 수 있습니다.

ai_embeddings_backfill_batch_size라는 숨겨진 사이트 설정이 있습니다. API 제공업체가 기본값을 처리하지 못한다면 50으로 설정해 보세요.

감사합니다. 50으로 설정해 두었는데도 여전히 1000개 이상의 에러가 발생했습니다. 20으로 낮춰서 어떻게 되는지 시도해 볼 예정입니다.
ai_embeddings_backfill_batch_size를 임베딩 설정 UX 화면에 추가하는 것도 고려해 보시기 바랍니다. 이는 소형 사이트를 위해 Gemini 기본 플랜을 사용하는 많은 사용자에게(그리고 다른 제공업체를 사용하는 경우에도) 영향을 미칠 수 있기 때문입니다.

부연 설명으로, 이는 배치 크기, 즉 한 번의 호출에 포함된 요청 수를 나타내는 것 같습니다. 문제가 배치당이 아니라 분당 전송되는 요청 수일 수 있습니다. 분당 또는 시간당 백필 요청을 전송하는 횟수를 제한할 방법이 있을까요?

다른 사용자들에게 도움이 될 만한 정보를 하나 더 찾았습니다. 새로운 Gemini 임베딩은 한도를 0으로 설정했을 때 초과 시 문제가 발생하고 있습니다. 임시 해결책으로 텍스트 임베딩을 사용하거나, 잠시 기다렸다가 해결되는지 확인해 볼 수 있습니다. 그럼에도 불구하고, 이 문제를 애초에 방지하기 위해 Discourse가 백필 시 분당 API 호출 횟수를 제한하는 옵션을 추가하는 것이 좋은 아이디어라고 생각합니다.

P.S. 구글이 Discourse를 사용한다는 사실을 알게 되어 정말 멋집니다. 포럼 검색을 위해 어떤 AI를 사용하고 있을까요? :wink: :sun: