관리 메뉴

클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지

프롬프트 관련 확장 프로그램 5 - Langchain : 도구, 검색과 융합된 ChatGPT 1 <1번 문제> 본문

인공지능/프롬프트 엔지니어링 & 생성형 AI

프롬프트 관련 확장 프로그램 5 - Langchain : 도구, 검색과 융합된 ChatGPT 1 <1번 문제>

huenuri 2024. 12. 20. 17:59

2주 차의 마지막 실습을 진행해보려고 한다. 오후에 들어서 공부의 의욕이 많이 떨어졌지만 2시간만 더 집중해서 공부를 해볼 것이다. 


 

 

 

 

 

실습 2 - Langchain : 도구, 검색과 융합된 ChatGPT

 


 

 

 

파일을 찾는 것도 참 어려웠는데 여기 practice에 5개의 파이썬 파일이 있다. 여기서 실습을 진행하게 된다. 실습 영상은 1개의 지시사항에 대한 문제만 풀어주기에 나머지 4개는 혼자서 진행해야 한다. 실습 과정이 정말 복잡하다. 강의를 들으면서 따라 하기가 힘들어서 그냥 보기만 했고, 이제 혼자 실습해 보기로 했다.


 

 

 

1. ChatGPT를 활용한 검색

 

1. 코드 살펴보기

 

이 코드는 Streamlit 앱을 사용해 LangChain을 기반으로 OpenAI API와 SerpAPI를 활용하여 검색 쿼리를 실행하는 간단한 프로그램이다.

 

import streamlit as st
from langchain.llms.openai import OpenAI
from langchain.agents import load_tools, initialize_agent
  • Streamlit: 웹 애플리케이션을 쉽게 만들 수 있는 Python 라이브러리
  • LangChain: OpenAI의 LLM(대형 언어 모델)과 다양한 도구를 연결하는 프레임워크
  • OpenAI: OpenAI의 모델을 사용하기 위한 클래스
  • load_tools, initialize_agent: LangChain에서 도구를 로드하고 에이전트를 초기화하는 함수

 

 

  1. 입력 받기
    • 사용자로부터 OpenAI API 키, SerpAPI 키, 검색 쿼리를 입력받는다.
  2. 검색 실행
    • OpenAI 언어 모델(LLM)을 초기화하고 SerpAPI를 LangChain 도구로 로드
    • LangChain 에이전트를 사용해 검색 쿼리를 실행
  3. 결과 출력
    • 검색 결과를 Streamlit 화면에 출력
  4. 오류 처리
    • 실행 중 오류가 발생하면 에러 메시지를 출력

 

13줄부터는 버튼에 대한 처리를 담고 있다. 


 

 

 

 

 

 

2. 코드 실행하기

다음과 같이 터미널 창에 입력한다.

 

하지만 오류가 떠서 다시 확인해 보니 폴더를 먼저 열어야 프로젝트를 실행할 수 있었다.

 

 

 

 

폴더를 이처럼 선택해야 실행할 수 있다.

 

 

 

 

터미널 창에 가서 다음과 같이 다시 입력했다.

 

이번에는 코드가 잘 실행되었다. 

 

 

 

 

실행하면 이런 창이 뜨고 여기 파란색 버튼이 있는데 이걸 클릭해야 한다. 처음에는 모르고 그냥 꺼서 다시 실행했다.


 

 

 

 

 

3. LangChain Search에서 인증키 입력하기

 

그러면 이와 같은 화면이 뜬다. 뜨는데 한참 걸려서 조금 기다려야 했다. 이 화면에서 보면 첫 번째 칸에는 조금 전에 받은 OpenAI API 인증키를 넣고, 두 번째 칸에는 앞으로 받을 SERP API 인증키를 넣는다. 세번째 칸에는 검색할 문장을 넣으면 된다.

두번째 인증키는 새로 만들어야 한다.


 

 

 

 

4. SERP API 인증키 받기

먼저 이 홈페이지에 들어가서 회원 가입을 해야 한다.

 

 

 

SerpApi 홈페이지

 

SerpApi: Google Search API

SerpApi is a real-time API to access Google search results. We handle proxies, solve captchas, and parse all rich structured data for you.

serpapi.com

 

 

회원가입을 하는 게 참 복잡하다. 어쨌든 잘 마치면 다음과 같은 화면이 뜬다.

 

 

 

 

 

 

 

 

 

 

 

 

 

이 밑에 Your Private API Key가 나오는데 이걸 복사해서 조금 전의 화면에 붙여 넣는다.


 

 

 

 

 

5. SERP API 인증키 붙여 넣기

 

받은 인증키를 붙여 넣고 질문도 한국어로 쓴 것을 번역하여 붙여 넣었다.


 

 

 

 

 

6. Search 버튼 누르기

 

버튼을 누른 다음에는 잠시 기다려야 한다. 안 된다고 하며 계속 누르면 컴퓨터가 다운될 수도 있다. 번역해 보니 다음과 같다.

 

마지막 답변은 공부하는 동안 집중력을 향상하기 위한 팁을 구현하고, 방해 요소를 제거하기 위해 공부하기 좋은 환경을 조성하는 것입니다. 이런 식으로 직접 코드를 작성한 후에 API를 활용할 수 있다.


 

 

 

 

학습을 마치고

실습 하나만 하는데도 정말 힘들어서 남은 4개의 실습은 다음 포스트에 이어서 하기로 했다. 여기까지 하는데 1시간도 넘게 걸렸다. 그래도 처음에는 정말 어려워 보였는데 실제로 해보니 할만했다. 

뭐든 해보는 것과 눈으로만 보는 건 큰 차이가 있다. 조금 전에 하기 싫었던 마음도 어려운 과제를 만나게 되면서 사라진 것 같다. 이상하게도 난 어려운 문제를 만나면 의욕이 꺾이기는커녕 오히려 의욕이 넘치며 반드시 해결하고야 말겠다는 의지가 불타오른다.

 

아마도 이런 것이 개발자에게 가장 필요한 자질이 아닐까 싶다.