Rememberizer Docs
로그인가입하기문의하기
한국어
한국어
  • 왜 Rememberizer인가?
  • 배경
    • 벡터 임베딩과 벡터 데이터베이스란?
    • 용어집
    • 표준화된 용어
  • 개인 사용
    • 시작하기
      • 지식 검색
      • 기념품 필터 접근
      • 공통 지식
      • 내장된 지식 관리
  • 통합
    • Rememberizer 앱
    • Rememberizer Slack 통합
    • Rememberizer Google Drive 통합
    • Rememberizer Dropbox 통합
    • Rememberizer Gmail 통합
    • Rememberizer Memory 통합
    • Rememberizer MCP 서버
    • 타사 앱 관리
  • 개발자 리소스
    • 개발자 개요
  • 통합 옵션
    • API 키 등록 및 사용
    • Rememberizer 앱 등록
    • Rememberizer 앱 승인
    • Rememberizer GPT 생성
    • LangChain 통합
    • 벡터 저장소
    • Slack과 대화하는 샘플 웹 앱
  • 기업 통합
    • 기업 통합 패턴
  • API 참조
    • API 문서 홈
    • 인증
  • 핵심 API
    • 의미적 유사성으로 문서 검색
    • 문서 검색
    • 문서 내용 검색
    • 슬랙 콘텐츠 검색
    • Rememberizer에 콘텐츠 기억하기
  • 계정 및 구성
    • 현재 사용자 계정 세부정보 가져오기
    • 사용 가능한 데이터 소스 통합 목록
    • 기념품
    • 추가된 모든 공개 지식 가져오기
  • 벡터 저장소 API
    • 벡터 저장소 문서
    • 벡터 저장소 정보 가져오기
    • 벡터 저장소의 문서 목록 가져오기
    • 문서 정보 가져오기
    • 벡터 저장소에 새 텍스트 문서 추가하기
    • 벡터 저장소에 파일 업로드하기
    • 벡터 저장소의 파일 내용 업데이트하기
    • 벡터 저장소에서 문서 제거하기
    • 의미적 유사성으로 벡터 저장소 문서 검색하기
  • 추가 자료
    • 공지사항
      • 이용 약관
      • 개인정보 처리방침
      • B2B
        • 레딧 에이전트에 대하여
  • 릴리스
    • 릴리스 노트 홈
  • 2025 릴리스
    • 2025년 4월 25일
    • 2025년 4월 18일
    • 2025년 4월 11일
    • 2025년 4월 4일
    • 2025년 3월 28일
    • 2025년 3월 21일
    • 2025년 3월 14일
    • 2025년 1월 17일
  • 2024 릴리스
    • 2024년 12월 27일
    • 2024년 12월 20일
    • 2024년 12월 13일
    • 2024년 12월 6일
  • 2024년 11월 29일
  • 2024년 11월 22일
  • 2024년 11월 15일
  • 2024년 11월 8일
  • 2024년 11월 1일
  • 2024년 10월 25일
  • 2024년 10월 18일
  • 2024년 10월 11일
  • 2024년 10월 4일
  • 2024년 9월 27일
  • 2024년 9월 20일
  • 2024년 9월 13일
  • 2024년 8월 16일
  • 2024년 8월 9일
  • 2024년 8월 2일
  • 2024년 7월 26일
  • 2024년 7월 12일
  • 2024년 6월 28일
  • 2024년 6월 14일
  • 2024년 5월 31일
  • 2024년 5월 17일
  • 2024년 5월 10일
  • 2024년 4월 26일
  • 2024년 4월 19일
  • 2024년 4월 12일
  • 2024년 4월 5일
  • 2024년 3월 25일
  • 2024년 3월 18일
  • 2024년 3월 11일
  • 2024년 3월 4일
  • 2024년 2월 26일
  • 2024년 2월 19일
  • 2024년 2월 12일
  • 2024년 2월 5일
  • 2024년 1월 29일
  • 2024년 1월 22일
  • 2024년 1월 15일
  • LLM 문서
    • Rememberizer LLM 준비 문서
Powered by GitBook
On this page
  • LangChain 통합
  • 소개
  • 시작하기
  • 구성 옵션
  • 기본 사용법
  • API 키 설정
  • 검색기 초기화
  • 쿼리에 대한 관련 문서 가져오기
  • 첫 번째 문서 표시
  • 고급 예제
  • API 키 설정
  • 검색기 및 언어 모델 초기화
  • 검색 QA 체인 생성
  • 질문하기
  • 답변 출력
  • API 키 설정
  • 구성 요소 초기화
  • 대화형 체인 생성
  • 예시 대화
  • 검색기 생성
  • 가중 점수를 가진 앙상블 생성
  • 관련 자료
  1. 통합 옵션

LangChain 통합

Rememberizer를 LangChain 검색기로 통합하여 LangChain 애플리케이션에 강력한 벡터 데이터베이스 검색 기능을 제공하는 방법을 배우세요.

PreviousRememberizer GPT 생성Next벡터 저장소

Last updated 1 month ago

LangChain 통합

Rememberizer는 RememberizerRetriever 클래스를 통해 LangChain과 통합되어, Rememberizer의 의미 검색 기능을 LangChain 기반 애플리케이션에 쉽게 통합할 수 있습니다. 이 가이드는 지식 기반에 접근하여 고급 LLM 애플리케이션을 구축하기 위한 이 통합 설정 및 사용 방법을 설명합니다.

소개

LangChain은 대형 언어 모델(LLM)을 사용하여 애플리케이션을 구축하기 위한 인기 있는 프레임워크입니다. Rememberizer를 LangChain과 통합하면 다음을 수행할 수 있습니다:

  • RAG(검색 증강 생성) 애플리케이션에서 Rememberizer 지식 기반을 사용할 수 있습니다.

  • 문서 및 데이터에 접근할 수 있는 챗봇을 생성할 수 있습니다.

  • 귀하의 지식을 활용하는 질문-답변 시스템을 구축할 수 있습니다.

  • 귀하의 정보를 검색하고 추론할 수 있는 에이전트를 개발할 수 있습니다.

통합은 langchain_community.retrievers 모듈에서 사용할 수 있습니다.

시작하기

필수 조건

시작하기 전에 다음이 필요합니다:

  1. Common Knowledge가 생성된 Rememberizer 계정

  2. Common Knowledge에 접근하기 위한 API 키

  3. LangChain이 설치된 Python 환경

설치

필요한 패키지를 설치합니다:

pip install langchain langchain_community

아래 예제에서 보여지는 것처럼 OpenAI 모델을 사용할 계획이라면:

pip install langchain_openai

인증 설정

RememberizerRetriever를 인증하는 두 가지 방법이 있습니다:

  1. 환경 변수: REMEMBERIZER_API_KEY 환경 변수를 설정합니다.

    import os
    os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
  2. 직접 매개변수: 검색기를 초기화할 때 API 키를 직접 전달합니다.

    retriever = RememberizerRetriever(rememberizer_api_key="rem_ck_your_api_key")

구성 옵션

RememberizerRetriever 클래스는 다음 매개변수를 수용합니다:

매개변수
유형
기본값
설명

top_k_results

int

10

검색에서 반환할 문서 수

rememberizer_api_key

str

None

인증을 위한 API 키 (환경 변수로 설정된 경우 선택 사항)

백그라운드에서, 리트리버는 추가 구성 가능한 매개변수와 함께 Rememberizer의 검색 엔드포인트에 API 호출을 합니다:

고급 매개변수
설명

prev_chunks

포함할 일치하는 청크 이전의 청크 수 (기본값: 2)

next_chunks

포함할 일치하는 청크 이후의 청크 수 (기본값: 2)

return_full_content

전체 문서 내용을 반환할지 여부 (기본값: true)

기본 사용법

다음은 LangChain을 사용하여 Rememberizer에서 문서를 검색하는 간단한 예입니다:

import os
from langchain_community.retrievers import RememberizerRetriever

API 키 설정

os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"

검색기 초기화

retriever = RememberizerRetriever(top_k_results=5)

쿼리에 대한 관련 문서 가져오기

docs = retriever.get_relevant_documents(query="벡터 임베딩은 어떻게 작동하나요?")

첫 번째 문서 표시

if docs: print(f"문서: {docs[0].metadata['name']}") print(f"내용: {docs[0].page_content[:200]}...")


### 문서 구조 이해하기

검색기가 반환하는 각 문서에는 다음이 포함됩니다:

- `page_content`: 일치하는 문서 조각의 텍스트 내용
- `metadata`: 문서에 대한 추가 정보

메타데이터 구조의 예:

```python
{
  'id': 13646493,
  'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
  'name': 'What is a large language model (LLM)_ _ Cloudflare.pdf',
  'type': 'application/pdf',
  'path': '/langchain/What is a large language model (LLM)_ _ Cloudflare.pdf',
  'url': 'https://drive.google.com/file/d/17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP/view',
  'size': 337089,
  'created_time': '',
  'modified_time': '',
  'indexed_on': '2024-04-04T03:36:28.886170Z',
  'integration': {'id': 347, 'integration_type': 'google_drive'}
}

고급 예제

RAG 질문-응답 시스템 구축

이 예제는 Rememberizer에서 정보를 검색하고 GPT-3.5를 사용하여 답변을 작성하는 질문-응답 시스템을 생성합니다:

import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI

API 키 설정

os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

검색기 및 언어 모델 초기화

retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)

검색 QA 체인 생성

qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # 가장 간단한 방법 - 모든 문서를 프롬프트에 넣기 retriever=retriever, return_source_documents=True )

질문하기

response = qa_chain.invoke({"query": "AI의 맥락에서 RAG란 무엇인가요?"})

답변 출력

print(f"답변: {response['result']}") print("\n출처:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")


### 메모리가 있는 대화형 에이전트 구축

이 예제는 대화 기록을 유지할 수 있는 대화형 에이전트를 생성합니다:

```python
import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain_openai import ChatOpenAI

API 키 설정

os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

구성 요소 초기화

retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )

대화형 체인 생성

conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )

예시 대화

questions = [ "RAG란 무엇인가요?", "대형 언어 모델은 이를 어떻게 사용하나요?", "이 접근 방식의 한계는 무엇인가요?", ]

for question in questions: response = conversation.invoke({"question": question}) print(f"질문: {question}") print(f"답변: {response['answer']}\n")


## 모범 사례

### 검색 성능 최적화

1. **쿼리를 구체적으로 작성하기**: 더 구체적인 쿼리는 일반적으로 더 나은 결과를 가져옵니다.
2. **`top_k_results` 조정하기**: 3-5개의 결과로 시작하고 애플리케이션 필요에 따라 조정합니다.
3. **컨텍스트 윈도우 사용하기**: 검색기는 일치하는 청크 주위의 컨텍스트를 자동으로 포함합니다.

### 보안 고려사항

1. **API 키 보호**: 환경 변수 또는 비밀 관리 도구를 사용하여 안전하게 저장하세요.
2. **전용 키 생성**: 서로 다른 애플리케이션을 위해 별도의 API 키를 생성하세요.
3. **정기적으로 키 교체**: 주기적으로 새로운 키를 생성하고 오래된 키는 단계적으로 폐기하세요.

### 통합 패턴

1. **사전 검색 처리**: 검색 관련성을 개선하기 위해 사용자 쿼리를 사전 처리하는 것을 고려하십시오.
2. **사후 검색 필터링**: LLM에 전달하기 전에 검색된 문서를 필터링하거나 순위를 매깁니다.
3. **하이브리드 검색**: `EnsembleRetriever`를 사용하여 Rememberizer와 다른 검색기를 결합합니다.

```python
from langchain.retrievers import EnsembleRetriever
from langchain_community.retrievers import RememberizerRetriever, WebResearchRetriever

검색기 생성

rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # 다른 검색기 구성

가중 점수를 가진 앙상블 생성

ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Rememberizer 결과는 더 높은 가중치를 가집니다 )


## 문제 해결

### 일반적인 문제

1. **인증 오류**: API 키가 올바르고 제대로 구성되었는지 확인하세요.
2. **결과가 반환되지 않음**: 공통 지식에 관련 정보가 포함되어 있는지 확인하세요.
3. **요금 제한**: 대량 애플리케이션에 대한 API 요금 제한을 염두에 두세요.

### 디버그 팁

- LangChain 디버그 모드를 설정하여 자세한 API 호출을 확인합니다:
  ```python
  import langchain
  langchain.debug = True
  • LLM에 전달하기 전에 원시 검색 결과를 검사하여 검색 문제를 식별합니다

관련 자료

Common Knowledge를 생성하고 API 키를 생성하는 방법에 대한 자세한 지침은 을 참조하세요.

LangChain

LangChain

Rememberizer

Rememberizer의

- AI 통합을 위한 대안 접근법

API 키 등록 및 사용
검색기 개념 가이드
검색기 사용 방법 가이드
API 문서
벡터 저장소
Rememberizer GPT 만들기
Rememberizer | 🦜️🔗 LangChain
Logo