Discourse AI - 관련 주제

:bookmark: 이 가이드는 Discourse AI 플러그인의 관련 주제(Related topics) 기능을 활성화하고 구성하는 방법을 설명합니다.

:person_raising_hand: 필요한 사용자 권한: 관리자

관련 주제 기능은 사용자가 현재 읽고 있는 주제와 의미적으로 유사한 주제를 제안하여 관련 콘텐츠 탐색을 돕습니다. 이를 통해 콘텐츠 탐색이 향상되고 사용자 참여도가 높아집니다.

기능

  • 의미론적 텍스트 유사도: 키워드 매칭을 넘어 실제로 관련이 있는 콘텐츠를 찾습니다.
  • “제안(Suggested)” 주제와 “관련(Related)” 주제 간 전환 가능
  • 익명 사용자 및 로그인된 사용자 모두 사용 가능

관련 주제 활성화

:information_source: Discourse AI 플러그인이 활성화된 모든 Discourse 호스팅 고객에게는 관련 주제 기능이 기본적으로 켜져 있습니다.

사전 요구 사항

관련 주제 기능은 임베딩(Embeddings)이 작동해야 합니다.

당사의 호스팅 서비스를 사용하는 경우, 임베딩은 오픈소스 모델을 통해 제공되며 추가 설정이 필요하지 않습니다.

셀프호스팅 인스턴스의 경우, 지원되는 제공자를 통해 임베딩 모델을 구성해야 합니다.

구성

  1. 관리자 → 플러그인 → Discourse AI → AI 기능으로 이동합니다.
  2. 임베딩(Embeddings) 모듈을 찾아 다음을 구성합니다:
    • ai_embeddings_selected_model을 구성한 임베딩 정의 값으로 설정합니다.
    • ai_embeddings_enabled을 활성화하여 임베딩을 활성화합니다.
  3. ai_embeddings_semantic_related_topics_enabled을 활성화하여 관련 주제 기능을 켭니다.

임베딩 모델 설정

임베딩을 활성화하기 전에 임베딩 모델을 구성해야 합니다. 관리자 → 플러그인 → Discourse AI → 임베딩으로 이동하여 새로운 임베딩 정의를 생성하세요. 다음 프리셋 중 하나를 선택할 수 있습니다:

  • Open AI: text-embedding-3-small 또는 text-embedding-3-large (대부분의 사이트에 권장)
  • Google: gemini-embedding-001
  • Hugging Face (셀프호스팅 추론): multilingual-e5-large (비영어 또는 다국어 사이트에 권장), bge-large-en, 또는 bge-m3

선택한 제공자를 위해 API 키(또는 AI Secret 연결)와 엔드포인트 URL을 제공해야 합니다.

추가 설정

다음 설정을 통해 관련 주제 기능을 세밀하게 조정할 수 있습니다:

  • ai_embeddings_semantic_related_topics: 관련 주제 섹션에 표시할 최대 주제 수 (기본값: 5)
  • ai_embeddings_semantic_related_include_closed_topics: 관련 결과에 폐쇄된 주제를 포함할지 여부 (기본값: true)
  • ai_embeddings_semantic_related_age_penalty: 새로운 콘텐츠가 선호되도록 오래된 주제에 페널티를 적용합니다 (기본값: 0.0, 범위: 0.0–2.0)
  • ai_embeddings_semantic_related_age_time_scale: 연령 페널티에 사용할 시간 규모(일 단위) (기본값: 365)

기술적 FAQ

관련 주제 아키텍처 다이어그램 보기

개요는 다음과 같습니다. 주제가 생성/업데이트되면 다음이 발생합니다:

sequenceDiagram
    User->>Discourse: 주제 생성
    Discourse-->>Embedding Microservice: 임베딩 생성
    Embedding Microservice-->>Discourse: 
    Discourse-->>PostgreSQL: 임베딩 저장 

그리고 주제 방문 시:

sequenceDiagram
    User->>Discourse: 주제 방문
    Discourse-->>PostgreSQL: 가장 가까운 주제 쿼리
    PostgreSQL-->>Discourse: 
    Discourse->>User: 관련 주제 표시 

관련 주제 기능은 어떻게 작동하나요?

  • 사용자가 주제를 방문하면, Discourse는 임베딩된 표현을 기반으로 가장 의미적으로 유사한 주제를 데이터베이스에서 쿼리합니다. 이렇게 찾은 관련 주제는 사용자에게 표시되어 커뮤니티 콘텐츠에 대한 추가 탐색을 장려합니다.

주제/게시물 데이터는 어떻게 처리되나요?

  • Discourse 호스팅 사이트의 경우, 데이터는 우리의 안전한 가상 개인 데이터센터 내에서 처리됩니다. 셀프호스팅 사이트의 경우, 데이터 처리는 선택한 제3자 제공자에 따라 달라집니다.

임베딩 데이터는 어디에 저장되나요?

  • 임베딩 데이터는 주제, 게시물, 사용자 등 기타 포럼 데이터와 함께 Discourse 데이터베이스에 저장됩니다.

사용 가능한 임베딩 모델은 무엇인가요?

  • Discourse AI는 OpenAI(text-embedding-3-small, text-embedding-3-large), Google(gemini-embedding-001), Hugging Face 호환 엔드포인트(bge-large-en, bge-m3, multilingual-e5-large), 그리고 Cloudflare Workers AI의 모델을 지원합니다. 관리자 UI를 통해 사용자 정의 임베딩 모델도 구성할 수 있습니다.
14개의 좋아요

관심을 기울일 만한 사항입니다.

영어 사이트(OpenAI)의 관련 주제(Related Topics)에 있는 많은 게시물을 검토하면서, 스페인어 주제들이 서로 묶여 있는 경향이 있다는 점을 알아차리기 시작했습니다. 각 게시물이 영어로 번역된 경우, 각 게시물은 서로 다른 벡터를 가지게 되어 다른 게시물들과 군집화될 것으로 추정합니다. :slightly_smiling_face:



이 기능의 부수적 이점으로, 모더레이터는 관련 주제에 나열된 주제들의 카테고리가 올바른지 확인할 수 있습니다.

각 새 게시물을 검토할 때 관련 주제도 함께 확인하고 있습니다. 이는 잘못된 카테고리로 생성된 주제들을 식별하는 효과적인 방법이 되고 있습니다.

참고로, 관련 아이디어가 이 기능 요청에서 언급되었습니다.



이 주제를 찾을 때 자주 필요한 아래 링크는 찾기가 쉽지 않아 여기에 기록해 둡니다.

2개의 좋아요

이러한 동작은 모델에 의해 결정되며, 알려진 문제인 것으로 보입니다:

다국어 사이트를 위해 추천하는 오픈소스 모델이 이 부분에서 더 잘 수행되는 것으로 보이지만, 이를 검증하기 위해 더 많은 고객에게 배포할 필요가 있습니다.

2개의 좋아요

이 옵션을 활성화할 수 없습니다:

제가 뭘 놓치고 있는 건가요, 아니면 Gemini만으로는 부족한가요?

업데이트: ai_embeddings_enabled을 활성화하려면 ai embeddings model도 제공자(provider)와 일치하도록 업데이트해야 한다는 내용을 지침 및 오류 설명에 추가하는 것이 좋습니다. 현재 파라미터 설명에는 Gemini가 옵션으로 빠져 있습니다.

1개의 좋아요

7개의 게시물이 새 주제로 분리되었습니다: “Gemini Embeddings에서 발생하는 "Net::HTTPBadResponse" 오류”

여기에 뭘 넣어야 하나요, 제발 알려주세요:

위 항목을 채워야 하는데, 아래에 표시된 4가지 옵션 중 첫 번째 옵션을 활성화하고 싶어서요:

OpenAI를 사용 중이라면 아무것도 넣지 않아도 됩니다.

1개의 좋아요

그런데 이 1번 옵션(임베딩 모듈) 때문에 문제가 생겼습니다. 활성화할 수 없거든요:

대부분은 비어 있습니다. 하지만 ai embeddings discourse service api key는 OpenAI API 키이며, ai embeddings discourse service api endpoint는 https://api.openai.com/v1/embeddings입니다. 모델은 text-embedding-3-large를 사용해야 합니다(물론 small도 가능하지만 몇 가지 문제가 있습니다).

1개의 좋아요

3개의 게시물이 새로운 주제로 분리되었습니다: Suggested와 Related 주제를 모두 표시하는 방법

small과 large를 비교했을 때 어떤 결과를 얻으셨나요? 차원의 차이가 모델의 정밀도에 영향을 미친다는 것은 알고 있습니다. small 버전은 5배 더 저렴합니다. 실제로 토픽 유사도 분석에 사용할 수 없는 것인가요? 우리 포럼은 99%가 영어로 되어 있습니다.

더 자세히 듣고 싶습니다. 순수하게 영어로만 이루어진 사이트에서 all-mpnet-base-v2가 OpenAI 모델과 비교했을 때 어떤 위치를 차지하는지 설명해 주시겠습니까?

임베딩이 너무 저렴해서 가격은 중요하지 않습니다 — 0.01센트가 전체 비용에 영향을 미치는 수많은 게시글이 있는 경우가 아니라면요.

하지만 솔직히 말하면… 저는 어떤 차이도 보이지 않았습니다. 그리고 제 경우, RAG와 임베딩을 제대로 사용할 수 없는 가능성이 있어서 두 방식 모두 똑같이 쓸모없었습니다. 이것이 대중적인 의견과 정면으로 배치된다는 것을 알지만, 제 사이트에서는 그 시스템이 유용한 것을 찾거나 사용하는 일이 전혀 없었습니다.

아마 OpenAI 모델에서 비롯된 문제일 것 같은데, 저는 더 전문적인 솔루션을 사용할 만큼 충분한 자금이 없습니다.

1개의 좋아요

이 내용을 읽기 전에 text-embedding-3-small 모델을 사용해 왔습니다. text-embedding-ada-002가 훨씬 더 나은가요?

Ada는 이전 세대입니다

1개의 좋아요

게시물이 새 주제로 분리되었습니다: Related Topics not translated