Rememberizer를 LangChain 검색기로 통합하여 귀하의 LangChain 애플리케이션에 강력한 벡터 데이터베이스 검색 기능을 제공합니다.
이 노트북은 하류에서 사용되는 문서 형식인 Rememberizer에서 문서를 검색하는 방법을 보여줍니다.
준비
API 키가 필요합니다: https://rememberizer.ai에서 일반적인 지식을 생성한 후에 얻을 수 있습니다. API 키를 얻으면 이를 환경 변수 REMEMBERIZER_API_KEY로 설정하거나 RememberizerRetriever를 초기화할 때 rememberizer_api_key로 전달해야 합니다.
RememberizerRetriever에는 다음과 같은 인수가 있습니다:
- 선택적 top_k_results: 기본값=10. 반환되는 문서 수를 제한하는 데 사용합니다.
- 선택적 rememberizer_api_key: 환경 변수 REMEMBERIZER_API_KEY를 설정하지 않으면 필수입니다.
get_relevant_documents()에는 하나의 인수, query: Rememberizer.ai의 일반 지식에서 문서를 찾는 데 사용되는 자유 텍스트입니다.
이전 또는 새로운 방식으로 맥락화됩니다. 어떤 수준에서는 그들이 의미에 의해 단어와 개념을 연관 지을 수 있기 때문에 "이해"합니다. 그들은 수백만 또는 수십억 번 그 방식으로 그룹화된 것을 보았기 때문입니다. 개발자들이 자신의 LLM을 신속하게 구축하여 LLM 애플리케이션을 만들 수 있도록 하려면, 여러 데이터 세트에 쉽게 접근할 수 있어야 하며, 데이터 세트를 위한 장소가 필요합니다.
체인에서 사용하기
OPENAI_API_KEY = getpass()
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
from langchain.chains import ConversationalRetrievalChain
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model_name="gpt-3.5-turbo")
qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
questions = [
"RAG란 무엇인가요?",
"대규모 언어 모델은 어떻게 작동하나요?",
]
chat_history = []
for question in questions:
result = qa.invoke({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **질문**: {question} \n")
print(f"**답변**: {result['answer']} \n")
-> **질문**: RAG란 무엇인가요?
**답변**: RAG는 Retrieval-Augmented Generation의 약자입니다. 이는 외부 지식 기반에서 사실을 검색하여 대규모 언어 모델(LLM)이 생성하는 응답을 향상시키기 위한 AI 프레임워크로, 최신의 정확한 정보를 제공하는 역할을 합니다. 이 프레임워크는 사용자들이 LLM의 생성 프로세스를 이해하는 데 도움이 되며, 모델이 신뢰할 수 있는 정보 출처에 접근할 수 있도록 보장합니다.
-> **질문**: 대규모 언어 모델은 어떻게 작동하나요?
**답변**: 대규모 언어 모델(LLM)은 방대한 언어 데이터 세트를 분석하여 인간의 언어 텍스트를 이해하고 생성합니다. 이들은 머신 러닝, 특히 딥 러닝에 기반하여 구성되며, 이는 데이터의 특징을 인식하도록 프로그램을 훈련하는 과정에서 인간의 개입 없이 이루어집니다. LLM은 신경망, 특히 트랜스포머 모델을 사용하여 인간 언어의 맥락을 이해함으로써 명확하지 않거나 새로운 맥락에서도 언어를 해석하는 데 더욱 능숙합니다. 개발자들은 여러 데이터 세트에 접근하고 Cloudflare의 Vectorize 및 Cloudflare Workers AI 플랫폼과 같은 서비스를 사용하여 자신의 LLM을 빠르게 구축할 수 있습니다.