LEARNING REPORT

---

작성일 : 2024-07-02

작성자 : migdracios

학습기술 : Python, Langchain, OpenAiAPI

학습분류 : SW 개발, AI 기능 개발

 

학습내용

랭체인으로 AI 모델의 API를 가져와 응답(Chat Completion)을 받기 위해서는 라이브러리 설치가 필요함

필요 라이브러리는 langchain, huggingface-hub, openai, streamlit을 세팅

각각 랭체인 채팅 객체를 선언하고 응답 받기 위해, 허깅페이스 모델을 가져오기 위해, OpenAI 모델을 가져오기 위해 사용함(Streamlit은 아직 사용 안함)

 

 

 

학습결과물

1. Langchain PromptTemplate로 프롬프트 세팅

from langchain import PromptTemplate

template = "{product}를 홍보하기 위한 좋은 문구를 추천해줘?"

 

prompt = PromptTemplate(

    input_variables=["product"],

    template=template,

)

prompt.format(product="카메라")

 

2. 랭체인으로 GPT 응답 생성하기

'''

랭체인 라이브러리에서 가져오기

1. OpenAI의 채팅 기반 모델 ChatOpenAI

2. 사용자의 메시지를 나타내는 HumanMessage

'''

from langchain.chat_models import ChatOpenAI

from langchain.schema import HumanMessage

 

# ChatOpenAI 메서드를 사용하여 

chat = ChatOpenAI(model_name="gpt-4o") # ChatOpenAI 인스턴스 생성 및 모델 지정

prompt = "영상이는 강아지를 키우고 있습니다. 영상이가 키우고 있는 동물은?" # AI에게 물어볼 질문은 문자열로 생성

messages = [HumanMessage(content=prompt)] # AI와 대화를 위한 HumanMessage 객체 생성 및 포맷팅

completion = chat(messages) # AI 응답 생성

print(completion.content) # AI 응답 출력

 

3. Langchain으로 Goolge 오픈 소스 모델 응답 생성하기

from langchain_huggingface import HuggingFaceEndpoint

 

llm2 = HuggingFaceEndpoint(

    repo_id="google/flan-t5-xxl",

    temperature=0.8,

    max_length=512

)

prompt = "영상이는 강아지를 키우고 있습니다. 영상이가 키우고 있는 동물은?"

completion = llm2.invoke(prompt)

print(completion)

 

학습 중 떠오르게 된 생각

교재를 바탕으로 실습 중인데, 생각보다 빠르게 버전 변경이 있으며 이에 따른 메서드 변경도 있음.

아직 세팅까지 밖에 안해봄.

+ Recent posts