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 환경에 연결한 다음 모델에 대한 프롬프트 및 응답 템플릿을 구성합니다. 출력 구문 분석기는 언어 모델 또는 채팅 모델과 함께 사용할 수 있습니다. 이 가이드에서는 두 가지 방법 모두에서 출력 파서를 사용하는 방법을 설명합니다.