AI-Master-Book
  • about AI-Master-Book
  • AI Master Book
    • 이상치 탐지 with Python
    • 베이지안 뉴럴네트워크 (BNN) with Python
    • 그래프 뉴럴네트워크 (GNN) with Python
    • 데이터 마케팅 분석 with Python
  • LLM MASTER BOOK
    • OpenAI API 쿡북 with Python
    • 기초부터 심화까지 RAG 쿡북 with Python
    • MCP 에이전트 쿡북 with Python
  • LLMs
    • OpenAI API
      • 1️⃣ChatCompletion
      • 2️⃣DALL-E
      • 3️⃣Text to Speech
      • 4️⃣Video to Transcripts
      • 5️⃣Assistants API
      • 6️⃣Prompt Engineering
      • 7️⃣OpenAI New GPT-4o
    • LangChain
      • LangChain Basic
        • 1️⃣Basic Modules
        • 2️⃣Model I/O
        • 3️⃣Prompts
        • 4️⃣Chains
        • 5️⃣Agents
        • 6️⃣Tools
        • 7️⃣Memory
      • LangChain Intermediate
        • 1️⃣OpenAI LLM
        • 2️⃣Prompt Template
        • 3️⃣Retrieval
        • 4️⃣RAG ChatBot
        • 5️⃣RAG with Gemini
        • 6️⃣New Huggingface-LangChain
        • 7️⃣Huggingface Hub
        • 8️⃣SQL Agent & Chain
        • 9️⃣Expression Language(LCEL)
        • 🔟Llama3-8B with LangChain
      • LangChain Advanced
        • 1️⃣LLM Evaluation
        • 2️⃣RAG Evaluation with RAGAS
        • 3️⃣LangChain with RAGAS
        • 4️⃣RAG Paradigms
        • 5️⃣LangChain: Advance Techniques
        • 6️⃣LangChain with NeMo-Guardrails
        • 7️⃣LangChain vs. LlamaIndex
        • 8️⃣LangChain LCEL vs. LangGraph
    • LlamaIndex
      • LlamaIndex Basic
        • 1️⃣Introduction
        • 2️⃣Customization
        • 3️⃣Data Connectors
        • 4️⃣Documents & Nodes
        • 5️⃣Naive RAG
        • 6️⃣Advanced RAG
        • 7️⃣Llama3-8B with LlamaIndex
        • 8️⃣LlmaPack
      • LlamaIndex Intermediate
        • 1️⃣QueryEngine
        • 2️⃣Agent
        • 3️⃣Evaluation
        • 4️⃣Evaluation-Driven Development
        • 5️⃣Fine-tuning
        • 6️⃣Prompt Compression with LLMLingua
      • LlamaIndex Advanced
        • 1️⃣Agentic RAG: Router Engine
        • 2️⃣Agentic RAG: Tool Calling
        • 3️⃣Building Agent Reasoning Loop
        • 4️⃣Building Multi-document Agent
    • Hugging Face
      • Huggingface Basic
        • 1️⃣Datasets
        • 2️⃣Tokenizer
        • 3️⃣Sentence Embeddings
        • 4️⃣Transformers
        • 5️⃣Sentence Transformers
        • 6️⃣Evaluate
        • 7️⃣Diffusers
      • Huggingface Tasks
        • NLP
          • 1️⃣Sentiment Analysis
          • 2️⃣Zero-shot Classification
          • 3️⃣Aspect-Based Sentiment Analysis
          • 4️⃣Feature Extraction
          • 5️⃣Intent Classification
          • 6️⃣Topic Modeling: BERTopic
          • 7️⃣NER: Token Classification
          • 8️⃣Summarization
          • 9️⃣Translation
          • 🔟Text Generation
        • Audio & Tabular
          • 1️⃣Text-to-Speech: TTS
          • 2️⃣Speech Recognition: Whisper
          • 3️⃣Audio Classification
          • 4️⃣Tabular Qustaion & Answering
        • Vision & Multimodal
          • 1️⃣Image-to-Text
          • 2️⃣Text to Image
          • 3️⃣Image to Image
          • 4️⃣Text or Image-to-Video
          • 5️⃣Depth Estimation
          • 6️⃣Image Classification
          • 7️⃣Object Detection
          • 8️⃣Segmentatio
      • Huggingface Optimization
        • 1️⃣Accelerator
        • 2️⃣Bitsandbytes
        • 3️⃣Flash Attention
        • 4️⃣Quantization
        • 5️⃣Safetensors
        • 6️⃣Optimum-ONNX
        • 7️⃣Optimum-NVIDIA
        • 8️⃣Optimum-Intel
      • Huggingface Fine-tuning
        • 1️⃣Transformer Fine-tuning
        • 2️⃣PEFT Fine-tuning
        • 3️⃣PEFT: Fine-tuning with QLoRA
        • 4️⃣PEFT: Fine-tuning Phi-2 with QLoRA
        • 5️⃣Axoltl Fine-tuning with QLoRA
        • 6️⃣TRL: RLHF Alignment Fine-tuning
        • 7️⃣TRL: DPO Fine-tuning with Phi-3-4k-instruct
        • 8️⃣TRL: ORPO Fine-tuning with Llama3-8B
        • 9️⃣Convert GGUF gemma-2b with llama.cpp
        • 🔟Apple Silicon Fine-tuning Gemma-2B with MLX
        • 🔢LLM Mergekit
    • Agentic LLM
      • Agentic LLM
        • 1️⃣Basic Agentic LLM
        • 2️⃣Multi-agent with CrewAI
        • 3️⃣LangGraph: Multi-agent Basic
        • 4️⃣LangGraph: Agentic RAG with LangChain
        • 5️⃣LangGraph: Agentic RAG with Llama3-8B by Groq
      • Autonomous Agent
        • 1️⃣LLM Autonomous Agent?
        • 2️⃣AutoGPT: Worldcup Winner Search with LangChain
        • 3️⃣BabyAGI: Weather Report with LangChain
        • 4️⃣AutoGen: Writing Blog Post with LangChain
        • 5️⃣LangChain: Autonomous-agent Debates with Tools
        • 6️⃣CAMEL Role-playing Autonomous Cooperative Agents
        • 7️⃣LangChain: Two-player Harry Potter D&D based CAMEL
        • 8️⃣LangChain: Multi-agent Bid for K-Pop Debate
        • 9️⃣LangChain: Multi-agent Authoritarian Speaker Selection
        • 🔟LangChain: Multi-Agent Simulated Environment with PettingZoo
    • Multimodal
      • 1️⃣PaliGemma: Open Vision LLM
      • 2️⃣FLUX.1: Generative Image
    • Building LLM
      • 1️⃣DSPy
      • 2️⃣DSPy RAG
      • 3️⃣DSPy with LangChain
      • 4️⃣Mamba
      • 5️⃣Mamba RAG with LangChain
      • 7️⃣PostgreSQL VectorDB with pgvorco.rs
Powered by GitBook
On this page
  1. LLMs
  2. LangChain
  3. LangChain Basic

Agents

PreviousChainsNextTools

Last updated 1 year ago

LangChain: Agents

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 발급
# 패키지 설치
#%pip install google-search-results
from langchain.agents import load_tools
from langchain.chat_models import ChatOpenAI

# 도구 준비
tools = load_tools(
    tool_names=["serpapi", "llm-math"], # 도구 이름
    llm=ChatOpenAI(
        model="gpt-3.5-turbo",
        temperature=0
    ) # 도구의 초기화에 사용할 LLM
)
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="chat-conversational-react-description", # 에이전트 유형 설정
    llm=ChatOpenAI(
        model="gpt-3.5-turbo",
        temperature=0
    ), # 에이전트 초기화에 사용할 LLM
    tools=tools, # 도구
    memory=memory, # 메모리
    verbose=True # 상세 정보 출력
)
# 에이전트 실행
agent.run("좋은 아침입니다.")
> Entering new AgentExecutor chain...
```json
{
    "action": "Final Answer",
    "action_input": "Good morning!"
}
```

> Finished chain.





'Good morning!'
# 에이전트 실행
agent.run("우리집 반려견 이름은 보리입니다.")
> Entering new AgentExecutor chain...
```json
{
    "action": "Final Answer",
    "action_input": "우리집 반려견 이름은 보리입니다."
}
```

> Finished chain.





'우리집 반려견 이름은 보리입니다.'
# 에이전트 실행
agent.run("우리집 반려견 이름을 불러주세요.")
> Entering new AgentExecutor chain...
```json
{
    "action": "Final Answer",
    "action_input": "우리집 반려견 이름은 보리입니다."
}
```

> Finished chain.





'우리집 반려견 이름은 보리입니다.'
# 에이전트 실행
agent.run("123*4를 계산기로 계산해 주세요")
> Entering new AgentExecutor chain...
```json
{
    "action": "Calculator",
    "action_input": "123*4"
}
```
Observation: Answer: 492
Thought:```json
{
    "action": "Final Answer",
    "action_input": "492"
}
```

> Finished chain.





'492'
# 에이전트 실행
agent.run("오늘 서울의 날씨를 웹에서 검색해 주세요.")
> Entering new AgentExecutor chain...
```json
{
    "action": "Search",
    "action_input": "Today's weather in Seoul"
}
```
Observation: {'type': 'weather_result', 'temperature': '53', 'unit': 'Fahrenheit', 'precipitation': '0%', 'humidity': '91%', 'wind': '6 mph', 'location': 'Seoul, South Korea', 'date': 'Monday', 'weather': 'Cloudy'}
Thought:```json
{
    "action": "Final Answer",
    "action_input": "The weather in Seoul, South Korea on Monday is cloudy with a temperature of 53°F, 0% precipitation, 91% humidity, and wind speed of 6 mph."
}
```

> Finished chain.





'The weather in Seoul, South Korea on Monday is cloudy with a temperature of 53°F, 0% precipitation, 91% humidity, and wind speed of 6 mph.'
5️⃣
Agents | 🦜️🔗 LangChain
Google Search API - SerpApiSerpApi
Logo
Logo