□ LLM 기반 애플리케이션을 쉽게 개발 가능한 프레임워크
□ 언어모델, 데이터 파이프라인 등 가양한 도구를 통합지원(각 도구를 chain 으로 연결)
□ LCEL( LangChain Expression Language )구성 : 사용자 입력(프롬프트)를 받아 대규모 언어 모델(LLM)을 통해 적절한 응답 생성
입력 | 모델 | 출력 |
Prompt | LLM(Large Language Model) | Output |
#라이브러리
import os #가상환경 라이브러리
from dotenv import load_dotenv #가상환경 라이브러리
from langchain_core.prompts import ChatPromptTemplate #prompt 라이브러리
from langchain_openai import ChatOpenAI #LLM 모델
from langchain_core.output_parsers import StrOutputParser #출력파서 라이브러리
import gradio as gr #그라디오 Gradio 라이브러리
#환경변수 처리 : open api 인증키
load_dotenv()
OPENAI_API_KEY = os.getenv("OPENAI_API_KEY")
#(1)prompt
prompt = ChatPromptTemplate.from_messages(
[("user","{input}")] #input받은 메시지를 전달
)
#(2)LLM 모델
llm = ChatOpenAI(api_key=OPENAI_API_KEY, model_name = "gpt-3.5-turbo-0125") #api키와 모델+버젼 명시적으로 기재
#(3)output 출력파서
ouput_parser = StrOutputParser()
# LCEL 문법 : 체인 지정 (1) + (2) + (3)
one_chain = prompt | llm | ouput_parser
# #내 질문
# myAsk = input("질문하실 내용을 적어주세요.\n")
# #gpt 답변처리
# response_bot = one_chain.invoke({"input" : myAsk}) #질문은 딕셔너리형태로 반드시 전달해야함
# print(f"\n내 조수 자비스\n{response_bot}")
#대화함수 정의
def chat(myAsk):
return one_chain.invoke({"input" : myAsk})
#gradio 매게변수 지정
demo = gr.Interface(fn=chat, inputs="text", outputs="text")
demo.launch()
'Python > NLP&LLM' 카테고리의 다른 글
LLM 주요용어 : In-context learning (0) | 2024.04.28 |
---|---|
LLM 주요용어 : 토큰(Token) (1) | 2024.04.28 |
LLM : 편향(Bias)와 할루시네이션(Hallucination) (0) | 2024.04.28 |
LLM(Large Language Model) (0) | 2024.04.28 |
Chat_gpt API 연동방법 (0) | 2024.03.10 |