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)
학습 중 떠오르게 된 생각
교재를 바탕으로 실습 중인데, 생각보다 빠르게 버전 변경이 있으며 이에 따른 메서드 변경도 있음.
아직 세팅까지 밖에 안해봄.
'What I Learned > 소프트웨어 개발' 카테고리의 다른 글
[iOS App] Xcode 튜토리얼 (0) | 2024.07.02 |
---|---|
[WIL] Unity - 빗방울 게임 - 랜덤으로 떨어지는 빗방울 만들기 (0) | 2024.06.19 |
[WIL] Unity - 빗방울 게임 - 오브젝트 충돌 구현 (0) | 2024.06.18 |
[WIL] Unity - 빗방울게임 - 유니티 에셋으로 오브젝트 만들기 (0) | 2024.06.18 |
[WID] Zapier - 슬랙에서 구글시트로 메시지 적재하기 (0) | 2024.06.18 |