LangChain이 AI 프로젝트를 위한 원활한 웹 검색 기능을 통합하여서 chatGPT의 기능을 향상 시키는 방법을 알아보자.
개요.
요즘 들어 chatGPT-4 그리고 곧 나올 5버전까지 사용자에게 예전보다 더 정확하고 편리한 정보 및 답변 지원을 제공하면서 더더욱 인기가 많아지고 있습니다. 챗봇은 더욱 더 지능적이고 뛰어난 기능을 갖추고 있습니다.
여기서는 SerpAPI와 LangChain을 사용하여서 웹 검색 기능으로 ChatGPT를 향상 시키는 방법을 살펴보겠습니다.
필요한 종속성을 설치 하는 방법, LangChain과 SerpAPI의 기본 사항을 이해하는 방법, 그리고 이러한 도구를 사용하여 챗봇의 역량을 강화하는 방법을 알아보도록 하겠습니다.
먼저 랭체인과 openai dependecies를 설치해줍니다.
pip install langchian
pip install openai
조금 더 독자들을 위해 LangChain과 SerpAPI를 이해를 도와드리겠습니다.
LangChain은 ChatGPT 모델을 위한 AgentExecutor(에이전트 실행자) 체인을 구축할 수 있는 Python 라이브러리입니다.
이것을 통해 챗봇이 웹 검색을 수행하고, 결과를 분석하고, 수집된 정보를 기반으로 적절한 응답을 생성하는 등 특정 작업을 수행할 수 있습니다.
SerpAPI는 검색 엔진 결과를 구조화된 형식으로 쉽게 검색할 수 있는 검색 엔진 결과 페이지(Search Engine Result Page, SERP) API 입니다. SerpAPI를 Langchain과 통합하면 웹페이지를 수동으로 파싱하지 않고도 ChatGPT 모델이 웹을 검색하고 관련 정보를 얻을 수 있습니다.
시작하기 :
필요한 종속성을 설치한 후에는 향상된 챗봇 구축을 시작할 수 있습니다. 다음은 ChatGPT 모델에서 LangChain과 SerpAPI를 사용하는 방법에 대한 간단한 예시입니다.
from langchain.agents import load_tools, initialize_agent, AgentType
from langchain.llms import OpenAI
import os
os.environ["SERPAPI_API_KEY"] = "your_serpapi_key"
os.environ['OPENAI_API_KEY'] = "your_openai_key"
llm = OpenAI(temperature=0)
tools = load_tools(["serpapi"], llm=llm)
agent = initialize_agent(tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True)
agent.run(" 2024년 5월16일 삼성전자 주식은 얼마에서 시작했어?")
다시 한번 살펴보도록 해보자!
- 필요한 모듈을 가져오고 SERPAPI 및 OpenAI용 API 키를 설정합니다.
- 결과를 위해 OpenAI 언어 모델을 0으로 초기화 합니다.
- 필요한 도구 즉 ("serapi")를 로드하고 에이전트를 실행합니다.
- 에이전트의 run() 메서드를 사용하여 2024년 5월16일 삼성전자 주가의 가격을 알아보도록했습니다.
- 현재 시간으로 아직 장이 진행 중이기 때문에 16일 즉 오늘 날짜로는 가져오지 못하고 다른 날에 가격을 제공해주었습니다.
- 78300원이라는 숫자를 제공해주었습니다.
I should use a search engine to find the answer.
Action: Search
Action Input: "2024년 5월16일 삼성전자 주식 가격"
Observation: ['... 주식에 대한 삼성전자 과거 데이터를 확인해 보세요 ... 고 고2024년 5월 07일 16:57. 처 내려라.. 뭐가 ... 즉, 가격은 지표일 뿐이며 거래 목적에 적합하지 않을 수도 ...', '... 주가, 005930 주식, 차트, 기술적 분석, 실적 자료 등 삼성전자 시세에 대한 자세한 정보를 확인해 보세요 ... 고 고2024년 5월 07일 16:57. 처 내려라.. 뭐가 ... 즉, 가격은 ...', '2024년 5월 16일 목요일☀️ \u200d♂️출연: - 뉴요기요 : 최슬기 앵커 - 이시각 뉴욕 체크포인트 : 김권진 KB PRIME 센터 부장 - 워싱토니 : 선재규 ...', '오늘 DB금융투자에서 제시한 목표가 415,000원은 24년 05월 16일 발표한 대신증권의 420,000원과 함께 최근 6개월 전체 증권사 리포트 중에서 가장 ...', '우선 삼성전자 주식을 1년 미만 보유한 사람은 평균 매수 단가가 7만2000원대로, 지난 11일 기준 수익률은 16% 정도였다. 하지만 삼성전자 주식을 5~10년 ...', '... 주식. 2024년 삼성전자 ... 23년 1분기 배당금은 5월 17일 지급됐고, 2분기는 8월 16일, 3분기는 11월 20일 지급됐죠. ... 삼성전자 1분기 배당 기준일은 3월 ...', '삼성전자 코스피 전기,전자 KOSPI. 주가추이, 내부자거래1년. 78,400. 주가추이,내부자거래 차트: 자세한 내용은 클릭후 팝업창 참고. 외국인 보유비중, 시가총액1년.', "본 영상은 5월 10일에 촬영되었습니다. (시청에 참고하시기 바랍니다.) 00:59 삼성전자 10만전자 될 때 '이 주식' 2배 더 오를 겁니다 07:08 2차전지 ...", '117101. 속보] 美 4월 소비자물가 3.4%↑… 예상 부합 ... 주식 매매를 주식투자라고 사기치는 곱절아 댓글0 새 글 ... 2024-05-16 05:09:07. 전문가방송. 킹로드백호. 스카이 ...', '삼성전자, 78,300, -0.13%. SK하이닉스, 185,300, 0.82 ... [박윤예의 세계속뉴욕] 2024년 5월 14일 뉴욕증시 요약 #shorts ... 주식 #코스피 #한국주식 #경제 · 비트코인 1억 ...']
Thought: I now know the final answer.
Final Answer: It seems that the stock price for Samsung Electronics on May 16, 2024 is not available yet. However, based on the past data, it is expected to be around 78,300 won.
결론 :
Langchain은 혁신적이고 강력한 AI 기반 프레임워크이며 다양한 작업을 위한 맞춤형 에이전트를 만들수 있습니다.
만약 zero-shot이 아닌 few-shot으로 학습 된 모델 또는 pdf를 참조해서 답변하는 모델이 답변을 하지 못할 경우 serpAPI를 사용해서 인터넷에서 좀 더 간결하고 좋은 답변을 가져오게 할수도 있습니다.
ai가 모른다고 답변하는것보다 찾는 내용에 근접한 내용을 제공하고 설명해주는것 또한 방법일수 있습니다.
AI 에이전트를 활용해서 복잡한 작업을 자동화하고 우리의 프로젝트에서 AI 에이전트의 잠재력을 최대한 활용해보면 좋겠습니다.
SerpAPI를 하나의 tool로 잘 만들어서 다시 찾아오겠습니다.
'LangChain' 카테고리의 다른 글
Prompt Leaking(프롬프트 공격) (0) | 2024.05.28 |
---|---|
고급 RAG 에 대해서 (Advanced RAG : Multi-Query Retriever Approach) (0) | 2024.05.15 |
프롬프트 예시들 (0) | 2024.04.05 |
일반적인 프롬프트 설계 (0) | 2024.04.05 |
프롬프트의 기초 (0) | 2024.04.05 |