일반 소개
Danswer는 팀의 문서, 앱, 사람에 연결하여 지능형 채팅 인터페이스와 통합 검색 기능을 통해 통합 검색 및 자연어 쿼리 답변을 제공하도록 설계된 오픈 소스 엔터프라이즈 문서 검색 AI 어시스턴트입니다. 사용자 데이터와 채팅 로그를 사용자가 완전히 제어할 수 있습니다. 모듈식 디자인과 손쉬운 확장성으로 팀 지식 관리 및 협업에 이상적인 도구입니다.
현재 이름이 변경되었습니다. 오닉스 로 변경하고 대부분의 기능을 리팩토링했습니다.

기능 목록
- 채팅 인터페이스문서와 대화, 상호 작용할 특정 문서 선택.
- 맞춤형 AI 어시스턴트다양한 팁과 지식 기반을 갖춘 AI 어시스턴트를 만드세요.
- 문서 검색자연어 쿼리에 대한 문서 검색 및 AI 답변을 제공합니다.
- 여러 커넥터Google 드라이브, Confluence, Slack 등과 같은 일반적인 업무 도구에 대한 연결을 지원합니다.
- Slack 통합Slack에서 바로 답변과 검색 결과를 확인하세요.
- 사용자 인증문서 수준 액세스 관리 기능을 제공합니다.
- 역할 관리관리자와 일반 사용자를 위한 역할 관리를 지원합니다.
- 채팅 로그 지속성후속 문의를 위해 채팅 로그를 저장합니다.
- UI 구성: AI 어시스턴트 및 프롬프트를 구성하기 위한 사용자 인터페이스를 제공합니다.
- 멀티모달 지원이미지, 동영상 등과의 대화 지원(예정).
- 도구 호출 및 프록시 구성도구 호출 및 상담원 구성 옵션을 제공합니다(예정).
도움말 사용
설치 프로세스
- 로컬 배포::
- Docker를 다운로드하여 설치합니다.
- Danswer의 GitHub 리포지토리를 복제합니다.
- 터미널에서 프로젝트 디렉터리로 이동하여 다음을 실행합니다.
docker-compose up
명령. - 브라우저를 열고 다음 사이트를 방문하세요.
http://localhost:8000
를 클릭하고 Danswer를 사용하기 시작했습니다.
- 클라우드 배포::
- 가상 머신에 Docker를 설치합니다.
- Danswer의 GitHub 리포지토리를 복제합니다.
- 터미널에서 프로젝트 디렉터리로 이동하여 다음을 실행합니다.
docker-compose up
명령. - 도메인 이름과 SSL 인증서를 구성하여 안전한 액세스를 보장합니다.
- 쿠버네티스 배포::
- Kubernetes 클러스터를 설치하고 구성합니다.
- Danswer의 GitHub 리포지토리를 복제합니다.
- 프로젝트 디렉터리에서 Kubernetes 배포 파일을 찾아 적절한 kubectl 명령을 실행하여 배포합니다.
사용 가이드라인
- 채팅 인터페이스::
- Danswer 웹 애플리케이션을 열고 로그인한 다음 채팅 화면으로 이동합니다.
- 대화하려는 문서를 선택하고 자연어 질문을 입력하면 자동 응답이 관련 답변을 제공합니다.
- 맞춤형 AI 어시스턴트::
- 관리자 인터페이스에서 새 AI 어시스턴트를 만듭니다.
- 어시스턴트의 팁과 지식창고를 구성하고 설정을 저장합니다.
- 채팅 화면에서 대화할 다른 AI 어시스턴트를 선택하세요.
- 문서 검색::
- 검색창에 자연어 검색어를 입력하면 Danswer가 관련 문서와 AI가 생성한 답변을 반환합니다.
- 검색 결과의 필터링 및 정렬을 지원하여 필요한 정보를 빠르게 찾을 수 있습니다.
- Slack 통합::
- Slack에 Danswer 앱을 설치합니다.
- 관련 채널에 대한 액세스를 승인하도록 Danswer와 Slack의 연결을 구성합니다.
- Slack에 직접 검색어를 입력하면 답변이 검색 결과와 답변을 반환합니다.
- 사용자 인증 및 역할 관리::
- 관리자 인터페이스에서 사용자를 추가하고 관리합니다.
- 데이터 보안을 위해 사용자 액세스 권한과 역할을 구성하세요.
- 채팅 로그 지속성::
- 모든 대화는 자동으로 저장되며 사용자는 언제든지 대화 내역을 확인할 수 있습니다.
- 채팅 로그의 검색 및 필터링을 지원하여 과거 대화를 쉽게 찾을 수 있습니다.
주요 기능
- 효율적인 검색BM-25와 접두사 인식 임베딩 모델을 결합하여 최적의 하이브리드 검색 환경을 제공합니다.
- 사용자 지정 모델사용자 지정 딥러닝 모델 및 사용자 피드백을 통한 학습을 지원합니다.
- 다양한 배포 옵션로컬, 클라우드, Kubernetes 배포를 지원하여 다양한 규모의 팀의 요구에 유연하게 대응할 수 있습니다.
- 멀티모달 지원향후 버전에서는 사용자 경험을 향상시키기 위해 이미지, 동영상 등의 대화를 지원할 예정입니다.
- 도구 호출 및 프록시 구성다양한 팀의 요구 사항을 충족하는 유연한 도구 호출 및 상담원 구성 옵션을 제공합니다.
- 조직의 이해와 전문가의 조언Danswer는 팀 내 전문가를 인식하고 팀 협업을 개선하기 위해 관련 조언을 제공할 수 있습니다.
시스템 개요
다양한 시스템 구성 요소 및 프로세스에 대한 설명
이 페이지에서는 Danswer의 작동 원리를 개략적으로 설명합니다. 목표는 디자인을 더욱 투명하게 만드는 것입니다. 이렇게 하면 Danswer를 사용할 때 자신감을 가질 수 있습니다.
또는 시스템을 사용자 지정하거나 오픈 소스 기여자가 되고 싶다면 여기에서 시작하세요.
시스템 아키텍처

Danswer를 단일 인스턴스에 배포하든 컨테이너 오케스트레이션 플랫폼에 배포하든 데이터 흐름은 동일합니다. 커넥터를 통해 문서를 가져와서 처리한 다음 시스템 컨테이너에서 실행되는 Vespa/Postgres에 영구적으로 저장합니다.
민감한 데이터가 Danswer 설정을 떠나는 유일한 경우는 응답을 생성하기 위해 LLM을 호출할 때입니다. LLM과의 통신은 암호화되며, LLM API의 데이터 지속성은 사용 중인 LLM 호스팅 서비스의 약관에 따라 달라집니다.
또한 Danswer는 매우 제한적이고 익명화된 원격 분석 데이터를 보유하고 있으며, 이는 병목 현상과 불안정한 데이터 커넥터를 식별하여 시스템을 개선하는 데 도움이 됩니다. DISABLE_TELEMETRY 환경 변수를 True로 설정하여 원격 분석을 해제할 수 있습니다.
임베디드 스트림

각 문서는 '청크'라고 하는 작은 부분으로 나뉩니다.
전체 문서 대신 블록을 LLM에 전달함으로써 문서의 관련 부분만 전달하여 모델의 노이즈를 줄일 수 있습니다. 또한 일반적으로 LLM 서비스는 토큰당 요금이 부과되므로 비용 효율성이 크게 향상됩니다. 마지막으로, 전체 문서 대신 블록을 임베딩하면 각 벡터 임베딩이 제한된 양의 정보만 인코딩할 수 있기 때문에 더 많은 세부 정보를 보존할 수 있습니다.
마이크로 블록을 추가하면 이 개념이 더욱 심화됩니다. 다양한 크기를 임베드함으로써 Danswer는 높은 수준의 컨텍스트와 세부 정보를 검색할 수 있습니다. 블록당 여러 개의 벡터를 생성하면 하드웨어 성능이 낮은 경우 문서 인덱싱 속도가 느려질 수 있으므로 환경 변수를 통해 마이크로블록을 켜고 끌 수도 있습니다.
임베딩 모델을 선택할 때는 1초 미만의 문서 검색 시간을 유지하면서 CPU에서 실행할 수 있을 만큼 작은 최신 듀얼 인코더를 사용합니다.
문의 프로세스

이 플로우는 일반적으로 연구 및 오픈 소스 커뮤니티의 최신 발전 사항을 활용하기 위해 검색 파이프라인의 기능을 지속적으로 강화하기 위해 노력하면서 업데이트됩니다. 또한 검색할 문서 수, 재정렬할 문서 수, 사용할 모델, LLM에 전달할 블록 등 이 흐름의 많은 매개변수를 구성할 수 있습니다.
© 저작권 정책
이 글은 저작권이 있으며 무단으로 복제해서는 안 됩니다.
관련 문서
댓글 없음...