LangChain에서 출력 파서를 사용하는 방법은 무엇입니까?

Langchain Eseo Chullyeog Paseoleul Sayonghaneun Bangbeob Eun Mueos Ibnikka



LangChain은 텍스트 형식으로 출력을 생성할 수 있는 모델을 구축하기 위한 모든 종속성과 라이브러리를 포함하는 프레임워크입니다. 출력 텍스트는 인간이 쉽게 이해하고 의사소통할 수 있도록 자연어로 추출되거나 생성됩니다. 그러나 출력은 적절한 형식이어야 하며, 훌륭하고 구조화된 정보는 사용자에게 포괄적인 지식을 제공할 수 있습니다.

이 게시물은 LangChain 프레임워크를 통해 출력 파서 함수 및 클래스를 사용하는 방법을 보여줍니다.

LangChain을 통해 출력 파서를 사용하는 방법은 무엇입니까?

출력 구문 분석기는 모델에서 구조화된 출력을 얻는 데 도움이 될 수 있는 출력 및 클래스입니다. LangChain에서 출력 파서를 사용하는 과정을 배우려면 나열된 단계를 따르십시오.







1단계: 모듈 설치
먼저 프로세스를 진행하기 위해 종속성과 함께 LangChain 모듈을 설치하여 출력 파서를 사용하는 프로세스를 시작합니다.



설치하다 랭체인



그런 다음 OpenAI 및 ChatOpenAI와 같은 라이브러리를 사용하려면 OpenAI 모듈을 설치하십시오.





설치하다 개방하다

이제 OpenAI를 위한 환경 OpenAI 계정의 API 키 사용:



우리를 수입하다
가져오기 겟패스

os.environ [ 'OPENAI_API_KEY' ] = getpass.getpass ( 'OpenAI API 키:' )

2단계: 라이브러리 가져오기
다음 단계는 프레임워크에서 출력 파서를 사용하기 위해 LangChain에서 라이브러리를 가져오는 것입니다.

langchain.prompts에서 PromptTemplate 가져오기
langchain.prompts에서 HumanMessagePromptTemplate 가져오기
pydantic 가져오기 필드에서
langchain.prompts에서 ChatPromptTemplate 가져오기
langchain.output_parsers에서 PydanticOutputParser 가져오기
pydantic import BaseModel에서
Pydantic 가져오기 유효성 검사기에서
langchain.chat_models에서 ChatOpenAI 가져오기
langchain.llms에서 OpenAI 가져오기
import List 입력에서

3단계: 데이터 구조 구축
출력 구조를 구축하는 것은 대규모 언어 모델에서 출력 파서를 적용하는 데 중요한 역할을 합니다. 모델의 데이터 구조에 도달하기 전에 출력 구문 분석기에서 구조화된 출력을 가져오는 데 사용하는 모델의 이름을 정의해야 합니다.

모델_이름 = '텍스트-다빈치-003'
온도 = 0.0
모델=오픈AI ( 모델명 =모델_이름, 온도 =온도 )

이제 BaseModel이 포함된 Joke 클래스를 사용하여 모델에서 농담을 가져오기 위한 출력 구조를 구성합니다. 그 후, 사용자는 더 나은 형식의 쿼리/프롬프트를 입력하도록 요청할 수 있는 pydantic 클래스를 사용하여 사용자 정의 유효성 검사 논리를 쉽게 추가할 수 있습니다.

클래스 농담 ( 기본 모델 ) :
설정: str = 필드 ( 설명 = '농담을 표시하는 쿼리' )
요점: str = 필드 ( 설명 = '질의에 농담으로 답하다' )
#모델이 쿼리를 올바르게 이해해야 하므로 쿼리에 대한 논리 검증
@ 검증인 ( '설정' )
def 질문_ends_with_question_mark ( cls, 필드 ) :
만약에 필드 [ - 1 ] ! = '?' :
ValueError 발생 ( '잘못된 질문입니다!' )
반품 필드

4단계: 프롬프트 템플릿 설정
매개변수를 포함하는 PydanticOutputParser() 메소드를 포함하는 파서 변수를 구성하십시오:

파서 = PydanticOutputParser ( pydantic_object =농담 )

파서를 구성한 후 쿼리/프롬프트 구조와 함께 PromptTemplate() 메서드를 사용하여 프롬프트 변수를 정의하기만 하면 됩니다.

프롬프트 = 프롬프트 템플릿 (
주형 = '사용자 질문에 답하세요. \N {format_instructions} \N {질문} \N ' ,
입력_변수 = [ '질문' ] ,
부분_변수 = { 'format_instructions' : 파서.get_format_instructions ( ) }
)

5단계: 출력 구문 분석기 테스트
모든 요구 사항을 구성한 후 쿼리를 사용하여 할당되는 변수를 만든 다음 format_prompt() 메서드를 호출합니다.

농담_쿼리 = '농담 좀 해봐'
_input = 프롬프트.형식_프롬프트 ( 질문 =joke_query )

이제 model() 함수를 호출하여 출력 변수를 정의합니다.

출력 = 모델 ( _input.to_string ( ) )

출력 변수를 매개변수로 사용하여 parser() 메서드를 호출하여 테스트 프로세스를 완료합니다.

파서.파싱 ( 산출 )

이것이 LangChain에서 출력 파서를 사용하는 과정에 관한 것입니다.

결론

LangChain에서 출력 파서를 사용하려면 모듈을 설치하고 API 키를 사용하여 OpenAI 환경을 설정하십시오. 그런 다음 모델을 정의한 다음 사용자가 제공한 쿼리의 논리 검증을 통해 출력의 데이터 구조를 구성합니다. 데이터 구조가 구성되면 프롬프트 템플릿을 설정한 다음 출력 파서를 테스트하여 모델에서 결과를 얻으세요. 이 가이드는 LangChain 프레임워크에서 출력 파서를 사용하는 프로세스를 설명했습니다.