이 저장소는 여러 데이터 세트에서 RAG의 성능을 보여주는 Dataworkz RAG Builder로 구동되는 샘플 QnA 애플리케이션을 제공합니다. 이 섹션에서는 로컬 컴퓨터에서 샘플 QnA 애플리케이션을 실행하는 방법을 보여줍니다. Dataworkz RAG Builder에 대해 자세히 알아보려면 여기로 이동하세요.
git clone https://github.com/dataworkz-dev/dataworkz-qna-app.git
사용하여 리포지토리 dataworkz-qna-app를 복제합니다.
필요한 경우 플랫폼에 맞는 node.js를 설치합니다(노드 버전 > 16.0.0).
이 프로젝트에는 샘플의 기본 API 키가 포함되어 있습니다. 추가 개발을 위해 자신의 계정을 만들 계획이 아니라면 4단계와 5단계를 무시할 수 있습니다.
Dataworkz RAG QnA 서비스에 액세스하려면 Dataworkz API 키가 필요합니다. API 키를 생성하는 단계는 다음과 같습니다. 참고: API 키 이름은 모든 사용자에 대해 고유해야 하므로 그에 따라 이름을 선택하십시오.
생성된 API 키를 token.txt
파일에 넣으세요. src/assets/token.txt
에서 파일을 찾을 수 있습니다.
npm install
실행하여 종속성을 설치합니다.
npm run start
실행하여 샘플 QnA 애플리케이션을 호스팅하는 로컬 웹 서버를 실행합니다. 애플리케이션에 액세스하려면 브라우저를 열고 http://localhost:4200
으로 이동하십시오.
문제에서 샘플 QnA 애플리케이션과 관련된 문제를 보고해 주세요.
Dataworkz는 기업용 RAG 앱 개발을 단순화합니다. Dataworkz는 공개 LLM API 또는 비공개로 호스팅되는 오픈 소스 기반 모델을 활용하여 독점 데이터를 사용하여 GenAI 애플리케이션을 구축할 수 있도록 RAG를 서비스로 제공합니다.
Dataworkz의 RAG 빌더는 GenAI 애플리케이션 구축을 간소화하여 턴키 솔루션 결합과 관련된 복잡성을 제거합니다. 구성 가능한 AI 스택은 벡터 데이터베이스, 임베딩 모델, 청킹 전략 및 LLM 모델을 선택할 수 있는 기능을 제공합니다. AWS Bedrock 및 OpenAI를 포함한 공개 LLM API를 유연하게 사용하거나 VPC에서 오픈 소스 모델을 호스팅할 수 있습니다.
고급 RAG 애플리케이션의 경우 Dataworkz는 어휘 및 의미 검색을 메타데이터 필터링과 결합하여 RAG 앱이 대량의 비정형, 반정형 또는 정형 데이터를 처리할 수 있도록 하는 기능을 제공합니다.
Dataworkz는 SaaS 서비스, 관계형 데이터베이스, NoSQL 데이터베이스, 클라우드 개체 저장소에 저장된 파일 등 다양한 비즈니스 데이터 소스에 연결하고 코드 없는 변환을 제공하여 모든 형식의 독점 데이터를 LLM 애플리케이션에 사용할 수 있도록 준비합니다. 여러 소스의 데이터를 결합할 때 LLM 응답 생성을 위한 컨텍스트를 구축하는 데 사용되는 입력 소스의 우선 순위를 구성할 수도 있습니다. 전체 커넥터 목록은 여기에서 확인할 수 있습니다.
RAG 빌더는 모든 개발자가 모양과 느낌을 사용자 정의할 수 있는 완전한 유연성을 통해 GenAI 애플리케이션을 기존 워크플로우에 내장할 수 있는 API를 제공합니다. 이 저장소의 샘플 애플리케이션은 기능을 위해 이 API를 활용합니다. 이 앱에 API를 통합하는 방법과 이를 자신의 애플리케이션에서 사용하는 방법에 대한 섹션이 있습니다.
환각의 출현은 기업 내 Gen AI의 광범위한 채택에 주목할만한 장애물을 제시합니다. Dataworkz를 사용하면 GenAI가 원본을 참조할 수 있어 결과적으로 추적성이 향상됩니다. Dataworkz가 LLM의 응답을 평가하는 방법에 대한 Dataworkz 블로그를 읽어보세요.
이 섹션에서는 샘플 애플리케이션이 구축된 방법과 다양한 섹션을 지원하는 데 사용된 API에 대한 몇 가지 개발자 노트를 제공합니다. 자신의 애플리케이션에 통합된 API와 질문 및 답변 시스템을 시험해 볼 수 있습니다. API 키를 생성하고(이미 생성된 경우 동일한 키를 사용할 수 있음) 이 서비스에 연결할 수 있습니다.
Dataworkz는 전략적 파트너와 협력하여 우리의 기술이 어떻게 통합되는지 보여주고 있습니다. 이 예제 QnA 애플리케이션은 백엔드 RAG Partner Playground 서비스로 https://ragapps.dataworkz.com에 연결됩니다. 이 Partner Playground 서비스는 Dataworkz와 MongoDB Atlas Vector Search가 함께 작동하여 Uber와 같은 상장 회사의 10,000개 파일링과 같이 공개적으로 사용 가능한 문서에 대한 QnA 시스템을 만드는 방법을 보여줍니다.
샘플 QnA 시스템은 Dataworkz RAG Builder API를 사용하여 QnA 시스템을 나열하고 이 데이터 세트에 대해 풍부한 쿼리를 작성하는 방법을 보여줍니다.
API 키를 얻는 방법과 이를 사용하여 Dataworkz QnA API를 호출하는 방법은 API 키 생성 섹션을 참조하세요. 예제 QnA 애플리케이션에서 API 토큰은 SWSS <api-key>
형식을 사용하여 Authentication
헤더에 전달됩니다.
Dataworkz RAG Builder는 여러 개의 격리된 QnA 시스템 구성을 지원합니다. QnA 시스템은 질문 및 답변 시스템의 도메인으로 사용되며 여러 프로젝트, 소스 그룹, 대규모 언어 모델, 버전 또는 프로젝트의 서로 다른 관련 없는 하위 도메인 등을 분리하는 데 활용될 수 있습니다. QnA 시스템. 질문을 하면 특정 QnA 시스템에 대해 질문합니다.
QnA 예제 애플리케이션은 사용자가 관심 있는 시스템을 선택할 수 있도록 모든 QnA 시스템(카드)을 나열하는 것으로 시작됩니다. 애플리케이션 개발자는 사용자 선택을 위해 시스템을 나열하거나 컨텍스트에서 선택 사항이 명확한 경우 설정할 수 있습니다. 코드로 작성하세요.
사용 가능한 모든 QnA 시스템을 나열하는 API는 다음과 같습니다(https://ragapps.dataworkz.com/api/qna/v1/systems). 선택한 QnA systemId는 후속 API에 필요합니다.
각 개별 QnA 시스템에 대한 정보는 이 API(https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId})를 사용하여 검색됩니다. 이는 QnA 애플리케이션 예제에서 개별 QnA 시스템 카드를 채우는 데 사용됩니다.
질문에 대한 답변은 Dataworkz RAG Builder에 구성된 LLM에서 제공됩니다. 시스템용으로 구성된 LLM은 OpenAI, 비공개 호스팅 모델(예: Llama-2) 및 Google의 Vertex AI에서 가져올 수 있습니다(샘플 앱은 이들 중 하나 이상을 지원할 수 있음). 이 API는 QnA 시스템에서 구성된 LLMProvider 목록을 제공합니다(https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/llm-providers).
예제 QnA 애플리케이션에서는 이를 사용하여 LLMProviders 드롭다운을 채워 사용자가 질문에 대답하는 데 사용할 LLM을 선택할 수 있도록 합니다. 질문하는 데 사용하려는 LLM 제공자의 ID를 저장해야 합니다. 이 API 호출에서 반환된 llmProviderId
로 식별된 특정 LLM 제공자에게 질문을 할 수 있습니다.
Dataworkz QnA 시스템에 질문하는 API는 https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/answer입니다.
이 API에는 대상으로 삼는 QnA 시스템의 systemId
와 사용할 LLM의 llmProviderId
필요합니다. 예제 QnA 애플리케이션은 이 API를 활용하여 "지식 검색" 페이지를 지원합니다. 이 API의 응답에는 LLM의 응답과 답변을 뒷받침하는 신뢰할 수 있는 소스에 대한 링크가 포함됩니다.
예제 QnA 애플리케이션은 QnA 시스템에서 이전에 질문한 질문 목록을 제공합니다. 이는 사용자가 이전에 답변한 질문을 쉽게 볼 수 있는 방법입니다. 다음 API가 사용됩니다 - https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId)/questionshistory
Dataworkz는 답변 품질에 대한 추가 점수 및 분석과 함께 이전에 답변한 질문 목록을 제공합니다. 이에 대한 자세한 내용은 여기를 참조하세요. 예제 QnA 애플리케이션은 이 API를 사용하여 답변된 각 질문에 대한 세부 정보를 제공합니다(https://ragapps.dataworkz.com/api/qna/v1/systems/{systemId}/questions/{questionId}).