콘텐츠로 이동

LangChain Examples

LangChain은 다양한 언어 모델과 도구들을 연결해 복잡한 LLM 기반 애플리케이션을 쉽게 만들 수 있도록 돕는 프레임워크입니다.

AkasicDB를 위한 LangChain Integration인 langchain-akasicdbVectorStore 인터페이스를 구현하여, LangChain을 이용하여 LLM 기반의 애플리케이션을 만드려는 개발자들이 편리하게 AkasicDB에 저장된 데이터를 검색할 수 있습니다.

이 페이지에서는 OpenAI의 LLM 과 Embedding API를 이용하여 블로그 포스트의 내용에 기반한 질의에 대한 답변을 생성하는 Build a Retrieval Augmented Generation (RAG) App: Part 1를 AkasicDB와 함께 실행해 보겠습니다.

사전 준비

Docker로 AkasicDB 실행

Quick Start를 참고하여 AkasicDB를 실행합니다.

langchain-akasicdb 설치 파일 다운로드

vectoron_py wheel 파일langchain_akasicdb wheel 파일을 다운로드합니다.

설치

LangChain 라이브러리 및 예제 실행에 필요한 Python 라이브러리들을 설치합니다.

python3 -m venv langchain-venv
source langchain-venv/bin/activate
pip install "langchain<1.0.0" "langgraph<1.0.0" "langsmith<1.0.0" langchainhub langchain-openai langchain-text-splitters langchain-community bs4

VectorOn Python SDK와 LangChain integration 을 위한 wheel 파일을 다운로드 받아 설치합니다.

pip install -qU vectoron_py-0.5.1-py3-none-any.whl
pip install -qU langchain_akasicdb-0.5.1-py3-none-any.whl

예제 코드

코드를 실행하기 전, 환경 변수 (environment variable)에 OPENAI_API_KEYLANGSMITH_API_KEY 를 설정해 주세요. OPENAI_API_KEY 는 OpenAI의 LLM 을 호출하기 위해, LANGSMITH_API_KEY 는 LangChain에서 제공하는 Prompt를 다운로드 받기 위해 필요합니다.

export OPENAI_API_KEY="your_openai_api_key"
export LANGSMITH_API_KEY="your_langsmith_api_key"

{%- highlight python -%} {%- include_relative _includes/langchain_rag_example.py -%}

python langchain_rag_example.py

출력:

Task decomposition is the process of breaking down complex tasks into smaller, manageable subgoals. It can be achieved through prompting methods for large language models (LLMs), task-specific instructions, or human input. This approach enhances efficiency and clarity in handling complicated tasks.