이 노트북에는 watsonx.ai에서 검색 augumented Generation의 지원을 보여주는 단계와 코드가 포함되어 있습니다. 데이터 검색, 지식 기반 구축 및 쿼리 및 모델 테스트에 대한 명령을 소개합니다.
LLM 모델, Langchain 및 Milvus를 사용하여 검색 증강 생성 (RAG) 시스템을 만듭니다. 이를 통해 LLM (Lange Language Model)을 미세 조정하지 않고 문서 (교육 데이터에 포함되지 않은)에 대해 질문 할 수 있습니다. RAG를 사용하는 경우 질문이 주어지면 먼저 특수 데이터베이스에서 관련 문서를 가져 오기 위해 검색 단계를 수행합니다.이 문서가 색인화 된 벡터 데이터베이스.
검색 증강 생성 (RAG)은 자연 언어로 지식 기반을 쿼리하는 것과 같은 정보의 사실을 회상 해야하는 여러 사용 사례를 잠금 해제 할 수있는 다재다능한 패턴입니다.
대형 언어 모델 (LLMS)은 컨텍스트를 이해하고 요약 Q & A를 포함한 다양한 NLP 작업에 대한 정확한 답변을 제공하는 능력을 입증했습니다. 훈련을받은 정보에 대한 질문에 대해 매우 좋은 답변을 제공 할 수는 있지만, 주제가 "알지 못하는"정보에 관한 주제 일 때 환각을주는 경향이 있지만, 즉 교육 데이터에 포함되지 않았습니다. 검색 증강 생성은 외부 리소스와 LLM을 결합합니다. 따라서 헝겊의 주요 두 구성 요소는 리트리버와 발전기입니다.
리트리버 부분은 데이터를 인코딩하여 쿼리시 관련 부분을 쉽게 검색 할 수있는 시스템으로 설명 할 수 있습니다. 인코딩은 텍스트 임베딩을 사용하여 수행됩니다. 즉, 정보의 벡터 표현을 만들도록 훈련 된 모델입니다. 리트리버를 구현하기위한 가장 좋은 옵션은 벡터 데이터베이스입니다. 벡터 데이터베이스로서 오픈 소스 또는 상용 제품의 여러 옵션이 있습니다. ChromADB, Mevius, Faiss, Pinecone, Weaviate는 몇 가지 예입니다. 이 노트북의 옵션은 ChromADB (Persistent)의 로컬 인스턴스입니다.
생성기 부품의 경우 명백한 옵션은 LLM입니다. 이 노트북에서는 Kaggle Models Collection의 양자화 된 llama v2 모델을 사용합니다.
리트리버 및 발전기의 오케스트레이션은 Langchain을 사용하여 수행됩니다. Langchain의 특수한 기능을 통해 한 줄의 코드로 수신기 생성기를 만들 수 있습니다.
가장 간단한 형태로 Rag는 3 단계가 필요합니다.
Wikipedia에서 690,000 단어 청소 텍스트의 가치가 있습니다.
S08, S09 및 S10의 매년 학생마다 하나의 질문 파일이 있습니다.
"QuestionAnswerPairs.txt"파일에는 질문과 답변이 모두 포함되어 있습니다. 이 파일의 열은 다음과 같습니다.
가난한 것으로 판단 된 질문은이 데이터 세트에서 폐기되었습니다.
동일한 질문을 가진 여러 줄이 있습니다.이 질문은 여러 개인이 답변 한 경우 나타납니다. https://www.kaggle.com/rtatman/questionanswer-dataset