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

Langchain Eseo Gujohwadoen Chullyeog Paseoleul Sayonghaneun Bangbeob Eun Mueos Ibnikka



LangChain은 OpenAI 환경을 사용하여 데이터세트나 인터넷에서 정보를 얻기 위해 채팅 모델과 LLM을 구축하는 프레임워크입니다. 구조화된 출력 구문 분석기는 실제 답변 및 일부 추가 관련 정보와 같은 여러 필드나 응답을 얻는 데 사용됩니다. 출력 파서 라이브러리는 LLM 또는 채팅 모델로 구축된 모델을 사용하여 데이터를 추출하기 위해 LangChain과 함께 사용할 수 있습니다.

이 게시물은 LangChain에서 구조화된 출력 파서를 사용하는 프로세스를 보여주었습니다.







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

LangChain에서 구조화된 출력 파서를 사용하려면 다음 단계를 따르세요.



1단계: 필수 구성 요소 설치



Python 환경에 아직 설치되지 않은 경우 LangChain 프레임워크를 설치하여 프로세스를 시작합니다.





설치하다 랭체인



LangChain에서 파서를 구축하기 위한 메서드에 액세스하려면 OpenAI 프레임워크를 설치하세요.

설치하다 개방하다

그런 다음 API 키를 사용하여 OpenAI 환경에 연결하고 ' ' 라이브러리를 사용하고 '를 사용하여 API 키를 제공합니다. getpass ' 도서관:

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

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

2단계: 출력/응답에 대한 스키마 구축

OpenAI에 연결한 후 라이브러리를 가져와 출력 생성을 위한 스키마를 구축하기만 하면 됩니다.

langchain.output_parsers에서 StructuredOutputParser, ResponseSchema 가져오기
langchain.prompts에서 PromptTemplate, ChatPromptTemplate, HumanMessagePromptTemplate 가져오기
langchain.llms에서 OpenAI 가져오기
langchain.chat_models에서 ChatOpenAI 가져오기

요구 사항에 따라 응답에 대한 스키마를 지정하면 모델이 이에 따라 응답을 생성해야 합니다.

response_schemas = [
응답스키마 ( 이름 = '답변' , 설명 = '질문에 답하다' ) ,
응답스키마 ( 이름 = '원천' , 설명 = '답변을 얻기 위해 사용되는 웹사이트 소스' )
]
output_parser = StructuredOutputParser.from_response_schemas ( response_schemas )

3단계: 템플릿 형식 지정

출력에 대한 스키마를 구성한 후 모델이 응답을 가져오기 전에 질문을 이해할 수 있도록 자연어로 입력에 대한 템플릿을 설정하기만 하면 됩니다.

format_instructions=output_parser.get_format_instructions ( )
프롬프트 = 프롬프트 템플릿 (
주형 = '사용자의 질문에 답변을 제공합니다. \N {주형} \N {질문}' ,
입력_변수 = [ '질문' ] ,
부분_변수 = { '주형' : 형식_지침 }
)

방법 1: 언어 모델 사용

질문과 답변에 대한 형식 템플릿을 구성한 후 OpenAI() 기능을 사용하여 모델을 구축하기만 하면 됩니다.

모델=오픈AI ( 온도 = 0 )

'에서 프롬프트를 설정하십시오. 질문 ” 변수를 사용하여 변수에 전달합니다. 형식_프롬프트() 입력으로 기능한 다음 '에 답을 저장합니다. 산출 ” 변수:

_input = 프롬프트.형식_프롬프트 ( 질문 = '세계에는 몇 개의 대륙이 있나요?' )
출력 = 모델 ( _input.to_string ( ) )

를 불러 구문 분석() 모델로부터 답을 얻기 위해 출력 변수를 인수로 사용하는 함수:

출력_파서.파싱 ( 산출 )

출력 구문 분석기는 쿼리에 대한 답변을 얻고 응답을 얻는 데 사용되는 웹 사이트 페이지에 대한 링크와 함께 자세한 응답을 표시합니다.

방법 2: 채팅 모델 사용

LangChain의 출력 파서에서 결과를 얻으려면 다음을 사용하십시오. chat_model 아래 변수:

chat_model = ChatOpenAI ( 온도 = 0 )

프롬프트를 이해하려면 채팅 모델에 대한 프롬프트 템플릿을 구성하세요. 그런 다음 입력에 따라 응답을 생성합니다.

프롬프트 = ChatPromptTemplate (
메시지 = [
HumanMessagePromptTemplate.from_template ( '사용자의 질문에 답변을 제공합니다. \N {format_instructions} \N {질문}' )
] ,
입력_변수 = [ '질문' ] ,
부분_변수 = { 'format_instructions' : 형식_지침 }
)

그런 다음 ' 질문 ” 변수를 지정한 다음 이를 chat_model() 모델로부터 출력을 얻는 함수:

_input = 프롬프트.형식_프롬프트 ( 질문 = '미국이 대표한다' )
출력 = chat_model ( _input.to_messages ( ) )

채팅 모델로부터 응답을 얻으려면 ' 산출 ” 변수:

출력_파서.파싱 ( 출력.내용 )

채팅 모델은 쿼리에 대한 답변과 인터넷에서 답변을 얻는 데 사용되는 웹사이트 이름을 표시했습니다.

이것이 바로 LangChain의 구조화된 출력 파서를 사용하는 것입니다.

결론

LangChain에서 구조화된 출력 파서를 사용하려면 LangChain 및 OpenAI 모듈을 설치하여 프로세스를 시작하기만 하면 됩니다. 그런 다음 API 키를 사용하여 OpenAI 환경에 연결한 다음 모델에 대한 프롬프트 및 응답 템플릿을 구성합니다. 출력 구문 분석기는 언어 모델 또는 채팅 모델과 함께 사용할 수 있습니다. 이 가이드에서는 두 가지 방법 모두에서 출력 파서를 사용하는 방법을 설명합니다.