LLM을 사용하여 엔터프라이즈 데이터와 채팅하십시오
이 샘플은 자신의 데이터를 통해 Chatgpt와 같은 경험을 만드는 몇 가지 접근법을 보여줍니다. Azure Openai 서비스를 사용하여 ChatGpt 모델 (GPT-35-Turbo 및 GPT3) 및 벡터 스토어 (Pinecone, Redis 및 기타) 또는 데이터 인덱싱 및 검색에 대한 Azure Cognitive 검색에 액세스하십시오.
이 repo는 자신의 데이터를 업로드하는 방법을 제공하여 끝까지 시도 할 준비가되었습니다.
업데이트
- 3/30/2024- 채팅, 채팅 스트림, QNA, 업로드 및 관리자 기능을 유지하도록 리팩토링되었습니다. 다른 모든 사람들은 자신의 리포로 옮겨 질 것입니다.
- 3/10/2024- 프롬프트 흐름 버전을 Entaoaipf로 이동하십시오
- 3/9/2024- 고급 걸레 기술 및 다 모달 헝겊 패턴의 초기 버전
- 2/28/2024- SEC 분석 기능이 제거되고 SEC에서 자체 리포지션으로 이동했습니다.
- 1/28/2024- PIB에서 자체 리포로 이동함에 따라 피치 북 기능 제거
- 1/19/2024- Python 패키지 및 Openai> 1.0을 업데이트했습니다. Openai 및 Langchain에 도입 된 변경 사항을 깨기 위해 모든 Python API에 대한 변경.
- 10/12/2023- 자율 프롬프트 플로우의 초기 버전. 현재 Pinecone 인덱스를 지원하지만인지 검색 및 Redis에 대한 지원이 곧 업데이트 될 것입니다.
- 9/29/2023- 추가 된 프롬프트 플로우 평가. Azure ML에서 한 번 생성 된 프롬프트 흐름은 기존 실행에 부착하여 다음 평가 프로세스에 대해 평가할 수 있습니다.
- 근거-Q & A 근거성 평가 흐름은 최첨단 대형 언어 모델 (LLM)을 활용하여 응답의 품질과 안전을 측정하여 Q & A 검색 증강 생성 시스템을 평가합니다. 측정을 지원하기 위해 GPT-3.5를 언어 모델로 사용하는 것은 전통적인 수학적 측정과 비교하여 인간 평가와 높은 일치를 달성하는 것을 목표로합니다. gpt_groundedness (컨텍스트에 대한) : 모델의 예측 답변이 어떻게 컨텍스트에 위배되는지 측정합니다. LLM의 응답이 사실이라도 상황에 대해 검증 할 수 없다면 그러한 응답은 근거가없는 것으로 간주됩니다.
- ADA 유사성-Q & A ADA_Similarity 평가 흐름은 최첨단 대형 언어 모델 (LLM)을 활용하여 응답의 품질과 안전을 측정하여 Q & A 검색 증강 생성 시스템을 평가합니다. 측정을 지원하기 위해 GPT-3.5를 언어 모델로 사용하는 것은 전통적인 수학적 측정과 비교하여 인간 평가와 높은 일치를 달성하는 것을 목표로합니다. ADA 유사성 평가 흐름을 사용하면 LLM 지원 ADA 유사성 Metri ADA_Similarity를 사용하여 모델을 평가하고 평가할 수 있습니다. 모델 예측의 ADA 임베딩의 코사인 유사성 및 근거 진실을 측정합니다. ada_similarity는 범위 [0, 1]의 값입니다.
- 일관성-Q & A 일관성 평가 흐름은 최첨단 대형 언어 모델 (LLM)을 활용하여 응답의 품질과 안전을 측정하여 Q & A 검색 증강 생성 시스템을 평가합니다. 측정을 지원하기 위해 GPT-3.5를 언어 모델로 사용하는 것은 전통적인 수학적 측정과 비교하여 인간 평가와 높은 일치를 달성하는 것을 목표로합니다. 일관성 평가 흐름을 사용하면 LLM 지원 일관성 메트릭으로 모델을 평가하고 평가할 수 있습니다. GPT_COHERENCE : 모델의 예측 답변에서 모든 문장의 품질과 자연스럽게 어떻게 맞는지 측정합니다. 일관성은 1 ~ 5의 척도에서 점수를 매겼으며 1은 최악이고 5는 최고입니다.
- 유사성-Q & A 유사성 평가 흐름은 최첨단 대형 언어 모델 (LLM)을 활용하여 응답의 품질과 안전을 측정하여 Q & A 검색 증강 생성 시스템을 평가합니다. 측정을 지원하기 위해 GPT-3.5를 언어 모델로 사용하는 것은 전통적인 수학적 측정과 비교하여 인간 평가와 높은 일치를 달성하는 것을 목표로합니다. 유사성 평가 흐름을 사용하면 LLM 지원 유사성 메트릭으로 모델을 평가하고 평가할 수 있습니다. gpt_similarity : 사용자가 제공 한 근거 진실 답변과 모델 예측 답변 사이의 유사성을 측정합니다. 유사성은 1 ~ 5의 척도로 점수가 매겨지며 1은 최악이고 5는 최고입니다.
- F1 점수-Q & A F1- 점수 평가 흐름은 예측 된 답변 및 근거 진실의 단어 수를 기반으로 F1- 점수를 사용하여 Q & A 검색 증강 생성 시스템을 평가합니다. F1- 점수 평가 흐름을 사용하면 지상 진실의 정규화 된 버전과 예측 된 답변 사이의 공통 토큰 수를 사용하여 F1- 스코어 메트릭을 결정할 수 있습니다. F1- 점수 : 예측 된 답변과 지상 진실의 토큰을 기반으로 F1- 점수를 계산합니다. F1- 점수는 범위 [0, 1]의 값입니다. Groundedness Metric은 1에서 5의 척도에서 점수를 매기고 1은 최악이고 5는 최고입니다.
- 9/22/2023- SQLASK 용 프롬프트 플로우 추가.
PFSQLASK_URL
및 PFSQLASK_KEY
구성 값이 배포 된 엔드 포인트에 추가되어 기능을 활성화하십시오. 또한 SynapseName
, SynapsePool
, SynapseUser
및 SynapsePassword
구성 값이 entaoai
Promptflow 연결에 추가되어 있는지 확인하십시오. chatgpt의 세션 기능 삭제를 관리 페이지로 이동했습니다. - 9/20/2023- 최종 사용자가 공유 한 모범 사례에 따라인지 검색 벡터 저장소 (하이브리드, 유사성/벡터 및 하이브리드 재 승선)의 검색 유형을 변경할 수 있도록 구성 추가. QNA, 채팅 및 프롬프트 흐름이 수정됩니다. QNA 및 채팅은 도우미 기능을 사용하여 Langchain의 맞춤형 벡터 저장소 구현 및 프롬프트 흐름을 구현하고 있습니다. QNA/Chat/PromptFlow의 문제를 후속 질문을 생성하지 않은 문제를 수정했습니다.
- 9/18/2023- Langchain Database Agent/Chain을 사용하지 않고 대신 사용자 정의 프롬프트를 사용하려면 Refactored SQL NLP.
- 9/15/2023- Azure 검색 패키지를 11.4.0B9로, Langchain을 최신 버전으로 수정했습니다. QNA 및 채팅 모두에 대한 프롬프트 플로에서 평가를 수행 할 수있는 기능이 추가되었습니다. Bert PDF 및 평가 데이터를 사용하여 프롬프트 흐름에서 배치 및 평가를 수행 할 수 있습니다. 흐름을 보여주는 샘플 노트북 및 E2E 프로세스를 사용할 수 있습니다. Bert 채팅 폴더를 사용하면 노트북 형태로 E2E 프롬프트 흐름, 배치 실행 및 평가를 테스트 할 수 있습니다.
- 9/3/2023- 프롬프트 흐름을 사용하여 채팅에 API를 추가했습니다. 최종 사용자가 API (웹 앱의
ApiType
구성)로 Azure 함수를 선택하거나 신속한 흐름 관리 엔드 포인트를 사용하도록 허용합니다. - 9/2/2023- 프롬프트 흐름을 사용하여 답변하기 위해 API를 추가했습니다. 최종 사용자가 API (웹 앱의
ApiType
구성)로 Azure 함수를 선택하거나 신속한 흐름 관리 엔드 포인트를 사용하도록 허용합니다. - 8/31/2023- 프롬프트 흐름을 사용하여 LLMOPS에 대한 추가 예제. 이 repo는 현재 Azure 함수의 대안으로 프롬프트 배포 된 모델을 사용하는 유연성을 추가합니다.
- 8/20/2023- Markdown 파일에 대한 지원이 추가되고 (zip 파일로) Azure OpenAiembedding에서 Chunk_size = 1을 제거했습니다.
- 8/11/2023- 스트리밍 채팅 기능의 문제를 수정했습니다.
- 8/10/2023- 깨진 변경 -
OpenAiService
대신 OpenAiEndPoint
구성 값을 사용하도록 모든 코드를 리팩토링했습니다. Azure API 관리를 통해 Enterprise Logging에 요약되어있는 모범 사례를 지원하는 것입니다. APIM을 사용하는 경우 OpenAiEndPoint
API 게이트웨이 URL이고 OpenAiKey
제품/무제한 키가됩니다. APIM을 사용하지 않으면 키를 변경할 필요가 없지만 OpenAiEndPoint
AOAI 배포의 자격을 갖춘 URL인지 확인하십시오. OpenAiService
더 이상 사용되지 않습니다. 변경 사항은 스트림 기능에서 채팅 작업에 영향을 미쳤으므로 현재 비활성화되어 테스트 및 수정 후에는 활성화됩니다. - 8/9/2023- Chatgpt 인터페이스에서 Checkbox로 호출 된 기능이 추가되었습니다. 샘플은 기능을 호출하는 능력을 보여줍니다. 현재 Weather API, Stock API 및 Bing 검색이 지원됩니다. 함수 호출은 미리보기에 있으며 "2023-07-01-preview"의 "API 버전"에서만 지원되므로 기존 배포를 업데이트하여 해당 버전을 사용하십시오. 호출 기능에 대한 세부 사항. 기존 배포의 경우
WeatherEndPoint
, WeatherHost
, StockEndPoint
, StockHost
및 RapidApiKey
구성을 Azure Function App에 추가하십시오. - 8/5/2023- "스트림"옵션이있는 채팅 인터페이스가 추가되었습니다. 이 기능을 사용하면 대화를 클라이언트에게 스트리밍 할 수 있습니다.
OpenAiChat
, OpenAiChat16k
, OpenAiEmbedding
, OpenAiEndPoint
, OpenAiKey
, OpenAiApiKey
, OpenAiService
, OpenAiVersion
, PineconeEnv
, PineconeIndex
, PineconeKey
, RedisAddress
, RedisPassword
, WebApp (WebApp)의 RedisPort
(WebApp)를 추가해야합니다. - 7/30/2023- 미사용 코드 제거 -SummaryAndQa 및 채팅
- 7/28/2023- Davinci 모델 사용을 제거하기 시작했습니다. 현재 워크숍을 제외한 모든 기능에서 사용법을 제거했습니다. 사용자가 프롬프트 및 사전 정의 된 주제를 지정하여 요약 할 수 있도록 피드백을 기반으로 요약 기능을 기반으로 요약 기능.
- 7/26/2023- Chatgpt 섹션에서 사용할 수있는 고급 기능으로 개발자 도구에서 OpenAi Playground를 제거하십시오.
- 7/25/2023- 채팅 기능에 대한 탭을 추가하여 "데이터 채팅"대신 모델에서 직접 chatgpt 기능을 지원합니다. Azure App Service (WebApp)에
CHATGPT_URL
속성을 추가하여 새 Azure 기능을 배포 할 수없는 기능을 활성화해야합니다. - 7/23/2023- Pib UI의 나머지 기능 및 PowerPoint 데크를 출력으로 생성하는 초기 버전을 추가했습니다. 새로운 기능이 추가되면 WebApp 구성에
FMPKEY
변수를 추가하십시오. - 7/20/2023- PIB 데이터와 대화하기 위해 기능이 추가되었습니다 (SEC 파일링 및 콜 콜 전사). 새로운 Azure 함수가 배포되었으므로 배포 된 Azure 함수의 URL이있는 Azure WebApp에
PIBCHAT_URL
속성이 추가되도록하십시오. - 7/18/2023- 성능 문제 및 버그 수정을 해결하기 위해 PIB 코드를 리팩토링했습니다.
- 7/17/2023- "Davinci"모델의 퇴직으로 GPT3 채팅 인터페이스를 제거했습니다.
- 7/16/2023- PIB UI의 초기 버전 (현재 5 단계 지원 - 회사 프로필, 전화 사본, 보도 자료, SEC 제출 및 평가/권장 사항). 유료 구독 (기업에 액세스 할 수있는 것에 따라 FMP 또는 수정)에 대한 액세스가 필요합니다. FMP와 함께 사용하려면 Azure 기능에
FmpKey
추가해야합니다. 원형 의존성으로 인해 Azure 함수로 SecDocPersistUrl
및 SecExtractionUrl
수동으로 수동으로 추가해야합니다. - 7/14/2023- GPT3.5 16K 모델에 대한 지원 추가 및 청크 문서> 4000 토큰이> 500 오버랩을 갖는 토큰. ChunkSize> 4000의 경우 QNA 및 채팅 기능 모두에 대해 16K 토큰으로 기본값을받습니다. QNA 및 채팅 인터페이스의 응용 프로그램 및 인증에 ID 제공자를 추가했습니다. GPT3.5 16K 모델의 경우 Azure Function App에
OpenAiChat16k
속성을 추가해야합니다. - 7/13/2023- 최종 사용자가 ChunkSize 및 ChunkOverlap 구성을 선택하도록 허용합니다. 프롬프트 템플릿을 재정의하는 초기 버전.
- 7/11/2023- 노트북 형태의 기능적 PIB Copilot.
- 7/8/2023- ChatGpt 세션의 이름을 바꾸는 기능을 추가했습니다. 또한 평가자 도구에 대한 UI를 추가했습니다. 이 기능은 문서에서 LLM 기반 평가를 수행하는 데 중점을 둡니다. 테스트 데이터 세트 (질문 및 답변 포함)를 자동 생성하고 다른 매개 변수를 사용하여 해당 문서의 등급을 수행하고 평가 결과를 생성합니다. 이 기능은 Azure 내구성 기능을 기반으로 구축되며 함수 체인 패턴을 사용하여 구현됩니다.
BLOB_EVALUATOR_CONTAINER_NAME
(스토리지 계정에서 동일한 컨테이너 이름이 생성되는지 확인) 및 기존 배포를 위해 Azure Web App의 RUNEVALUATION_URL
(URL) 구성 및 평가자 기능을 사용하려는 경우 추가해야합니다. Azure 함수 배포에서 AzureWebJobsFeatureFlags
(value enable workerIndexing) 및 OpenAiEvaluatorContainer
설정을 추가하십시오. - 7/5/2023- 세션을 삭제하기 위해 기능을 추가했습니다. 이 기능을 사용하려면 미리보기에있는 기능이 필요하며 구독의 COSMOSDB 계정에서이를 활성화해야합니다. COSMOSDB를 활성화/배포하지 않은 경우 ChatGpt 구현을 계속할 경우 간단한 시도/캐치 블록이 추가되었습니다.
- 7/4/2023- GPT3.5/ChatGpt 인터페이스에 "세션"저장의 초기 버전. 세션 및 메시지는 COSMOSDB에서 저장/검색됩니다. COSMOSDB 서비스가 프로비저닝되었는지 확인하거나 새 배포를 위해 새 제품을 작성하십시오. Azure Functions 앱 및 웹 앱 모두에
CosmosEndpoint
, CosmosKey
, CosmosDatabase
및 CosmosContainer
설정을 추가해야합니다. - 6/25/2023- 노트북은 LLM QA 설정 (청크 크기, 오버랩, 임베딩 기술)을 지원하는 체계적인 방식 (자동 생성 질문 및 평가 체인)으로 답변 품질 평가를 보여줍니다. 자세한 내용은 Evaluator Notebook을 참조하십시오.
- 6/18/2023- 지식 기반 관리를 지원하는 관리 페이지를 추가하십시오.
- 6/17/2023- 질문 기능을 요청하려면 "질문 목록"버튼이 추가되어 지식 기반에있는 모든 질문 목록을 표시합니다. 세 가지 속성에 따라
SEARCHSERVICE
, SEARCHKEY
및 KBINDEXNAME
(AOAIKB의 기본값)을 Azure App Service에 추가하려면 "질문 목록"버튼 기능을 활성화해야합니다. - 6/16/2023- 캐시 된 지식 기반을 저장하기위한 Azure Cognitive Search를 벡터 저장소로 사용하는 기능을 추가하십시오. KB에 있지 않은 질문은 OAI를 통해 답을 찾기 위해 LLM 모델로 전송되거나 캐시 된 데이터 저장소에서 응답됩니다. 새로운 속성
KbIndexName
Azure Function App에 추가되어야합니다. 워크숍의 일부로 기능을 테스트하기 위해 노트북을 추가했습니다. TODO : 채팅 인터페이스에서 KB에 질문을 추가하기 위해 기능을 추가하고 세션을 기반으로합니다. LLM의 "재생"답변 (캐시 된 답변 대신)의 추가 기능이 곧 추가 될 예정입니다. - 6/7/2023- 개발자 도구 및 Coplot을 구축하는 초기 버전에 OpenAi Playground를 추가하십시오 (현재 노트북이 있지만 결국 Copilot 기능으로 이동합니다). 실시간 음성 분석 용 사용 사례에 대한 스크립트, 녹화 및 예제를 추가하십시오. 곧 추가 될 것입니다.
- 5/27/2023- 시나리오를 배우거나 실행하기 위해 활용할 수있는 노트북 형식으로 워크숍 내용을 추가하십시오. 워크숍 폴더에서 노트북을 찾을 수 있습니다. 워크샵 콘텐츠에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
- 5/26/2023- 요약 기능을 추가하여 STUFF, MAPREDUCE 또는 Refine 요약을 사용하여 문서를 요약합니다. 이 기능 (기존 배포에서)을 사용하려면
OpenAiSummaryContainer
구성을 추가하여 App 및 BLOB_SUMMARY_CONTAINER_NAME
구성을 Azure App 서비스에 기능하기 위해 (Azure Storage의 컨테이너 이름과 동일하고 컨테이너를 생성한지 확인)를 확인하십시오. 또한 Azure App Service에 PROCESSSUMMARY_URL
구성을 추가해야합니다 (입력 한 값이 Azure 함수 URL과 동일해야 함). - 5/24/2023 -Tabular Data에 대한 답변/채팅 질문에 대한 CSV 파일 및 CSV 에이전트를 업로드하려면 기능을 추가하십시오. Smart Agent는 또한 CSV 데이터에 대한 답변을 지원합니다.
- 5/22/2023- 솔루션에 업로드 된 모든 문서와 대화 할 수있는 유연성을 제공하는 "스마트 에이전트"의 초기 버전. 또한 SQL 데이터베이스 시나리오와 대화 할 수 있습니다. 더 많은 기능이 추가됨에 따라 에이전트는이를 계속 구축 할 것입니다 (예 : CSV/Excel 또는 Tabular Data와 대화).
- 5/21/2023- 개발자 도구 추가 섹션 - 실험 코드 변환 및 프롬프트 전문가.
- 5/17/2023- Edgar 소스를 Redis 대신인지 검색 벡터 저장소로 변경하십시오.
- 5/15/2023- 인덱스 저장을위한 "인지 검색"을 벡터 저장소로 사용하는 옵션을 추가하십시오. Azure Cognitive Search는 순수한 벡터 검색 및 하이브리드 검색과 단일 통합 솔루션에서 Bing에 의해 구동되는 정교한 재 순위 시스템을 제공합니다. 가입. Word 문서 업로드 지원.
- 5/10/2023- 문서를 청크하는 방법에 대한 옵션을 추가하십시오. 양식 인식기를 사용하려면 양식 인식기 자원이 생성되고 적절한 응용 프로그램 설정
FormRecognizerKey
및 FormRecognizerEndPoint
구성되어 있는지 확인하십시오. - 5/07/2023- Azure Openai 또는 OpenAi를 선택할 수있는 옵션. OpenAi의 경우 Azure 기능 설정에서
OpenAiApiKey
가 있는지 확인하십시오. Azure OpenAi의 경우 OpenAiKey
, OpenAiService
및 OpenAiEndPoint
엔드 포인트 설정이 필요합니다. Chat/Question/SQL NLP/Speech Analytics 및 기타 기능 (개발자 설정 페이지)에 대한 해당 옵션을 선택할 수도 있습니다. - 5/03/2023- 인덱스 관리로 시작하는 업로드 및 소개 관리자 페이지에 필요한 비밀번호
- 4/30/2023- 작업 에이전트 기능의 초기 버전이 추가되었습니다. 자율 에이전트는 더 오래 달리도록 설계된 에이전트입니다. 당신은 그들에게 하나 또는 여러 번의 장기 목표를주고 독립적으로 그러한 목표를 향해 집행합니다. 응용 프로그램은 도구 사용량과 장기 메모리를 결합합니다. 초기 기능은 실행 도구로 베이비 AGI를 구현합니다
- 4/29/2023- S3, AWS Lambda 기능 및 Azure Data Factory를 사용한 AWS S3 프로세스 통합 (아직 자동화되지 않은 경우, 스크립트는/배포/AWS 폴더에서 스크립트를 사용할 수 있습니다)
- 4/28/2023- QA & Chat의 버그, 인용 및 후속 질문 수정. 문서에서 응답을 제한하기 위해 더 제한적입니다.
- 4/25/2023- Power Virtual Agent의 초기 버전
- 4/21/2023- SQL 쿼리 및 SQL 데이터 탭을 SQL NLP에 추가하고 채팅 및 요청 기능에 대한 인용 및 후속 질문 수정
- 4/17/2023- 실시간 연설 분석 및 연설에 대한 연설 및 텍스트에 대한 연설 및 청구 기능. (개발자 설정에서 텍스트 to Speech 기능을 구성 할 수 있습니다. Azure Speech Services가 필요합니다).
- 4/13/2023- 벡터 QA 에이전트를 사용하여 여러 문서에서 질문을 지원하는 새로운 기능 추가
- 4/8/2023- SQL 요청 - SQL 데이터베이스 에이전트 사용 또는 SQL 데이터베이스 체인 사용
- 3/29/2023- 자동화 된 배포 스크립트
- 3/23/2023- 문서 저장 옵션으로인지 검색 추가
- 3/19/2023- GPT3 채팅 구현 추가
- 3/18/2023- 문서 및 샘플 QA에 대한 요약을 생성 할 API
- 3/17/2023
- 여러 문서 업로드 지원
- 버그 수정 -Redis VectorStore 구현
- 3/16/2023- 초기 릴리스, 데이터를 묻고 데이터와 채팅
테스트 웹 사이트
채팅하고 데이터를 문의하십시오
특징
기능 목록
건축학

Azure Architecture

캐시를 사용하여 데이터를 통한 QA

QA LLM 평가

시작하기
시작하세요
구성
응용 프로그램 및 기능 앱 구성
자원
- ChatGpt로 엔터프라이즈 데이터를 혁신 : Openai 및 Cognitive Search와 함께 차세대 앱
- Azure인지 검색
- Azure Openai 서비스
- Redis 검색
- 피네콘
- 인지 검색 벡터 저장소
기여
우리는 새로운 기능의 형태이든 기존 기능, 기존 기능을 업데이트하거나 더 나은 문서를 기부 할 수 있습니다. 풀 요청을 작성하면 검토 및 병합하겠습니다.
메모
OpenAi-Cogsearch, Call Center Analytics, Auto Evaluator 및 Edgar Crawler의 Repo에서 적응