6️⃣Tools

LangChain: Tools

import os
from dotenv import load_dotenv  

load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
os.environ["SERPAPI_API_KEY"] = "<Serp_API_KEY>" # Serp API 가입 후 key 발급

1. Google Search Tool

#%pip install google-search-results
# 환경변수 준비
import os
os.environ["GOOGLE_CSE_ID"] = "<구글 맞춤검색_검색엔진ID>"
os.environ["GOOGLE_API_KEY"] = "<구글 맞춤검색_API키>"
from langchain.agents import load_tools
from langchain.chat_models import ChatOpenAI

# 도구 준비
tools = load_tools(
    tool_names=["google-search"], 
    llm=ChatOpenAI(
        model="gpt-3.5-turbo",
        temperature=0
    )
)
from langchain.chains.conversation.memory import ConversationBufferMemory

# 메모리 생성
memory = ConversationBufferMemory(
    memory_key="chat_history", 
    return_messages=True
)
from langchain.agents import initialize_agent

# 에이전트 생성
agent = initialize_agent(
    agent="zero-shot-react-description",
    llm=ChatOpenAI(
        model="gpt-3.5-turbo",
        temperature=0
    ),
    tools=tools,
    memory=memory,
    verbose=True
)
# 에이전트 실행
agent.run("영화 명량의 감독은?")

2. Wolfram Alpha 도구

# 패키지 설치
#%pip install wolframalpha
# 환경변수 준비
import os
os.environ["WOLFRAM_ALPHA_APPID"] = "<Walfram_Alpha의 AppID>"
from langchain.agents import load_tools

# 도구 준비
tools = load_tools(["wolfram-alpha"])
from langchain.chains.conversation.memory import ConversationBufferMemory

# 메모리 생성
memory = ConversationBufferMemory(
    memory_key="chat_history", 
    return_messages=True
)
from langchain.agents import initialize_agent
from langchain.chat_models import ChatOpenAI

# 에이전트 생성
agent = initialize_agent(
    agent="zero-shot-react-description",
    llm=ChatOpenAI(
        model="gpt-3.5-turbo",
        temperature=0
    ), 
    tools=tools,
    memory=memory,
    verbose=True
)
# 에이전트 실행
agent.run("How many kilometers is the distance from Seoul to Busan?")

Last updated