File size: 1,571 Bytes
f087af6
 
 
7bac906
f087af6
7bac906
 
f087af6
 
 
7bac906
f087af6
 
7bac906
 
 
 
 
 
 
 
 
f087af6
7bac906
 
 
 
f087af6
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os
from dotenv import load_dotenv
from gradio.external import load_blocks_from_huggingface
from langchain.agents import create_agent
from langchain_community.tools.ddg_search.tool import DuckDuckGoSearchResults
from langgraph.checkpoint.memory import InMemorySaver
from langchain_community.tools import DuckDuckGoSearchRun
from google.ai.generativelanguage_v1beta.types import Tool as GenAITool
from langchain.messages import HumanMessage, AIMessage, SystemMessage
from numpy import load

load_dotenv()
os.environ["GOOGLE_API_KEY"] = os.getenv("GEMINI_API_KEY")

system_prompt = """finish your answer with the following template: FINAL ANSWER: [YOUR FINAL ANSWER].
YOUR FINAL ANSWER should be a number OR as few words as possible OR a comma separated list of numbers and/or strings.
If you are asked for a number, don't use comma to write your number neither use units such as $ or percent sign unless specified otherwise.
If you are asked for a string, don't use articles, neither abbreviations (e.g. for cities), and write the digits in plain text unless specified otherwise.
If you are asked for a comma separated list, apply the above rules depending of whether the element to be put in the list is a number or a string."""


agent = create_agent(
    model="google_genai:gemini-2.5-flash",
    tools=[DuckDuckGoSearchRun()],
    system_prompt=system_prompt,
    checkpointer=InMemorySaver(),
)

response = agent.invoke(
    {"messages": [{"role": "user", "content": "what is the weather in sf"}]},
    {"configurable": {"thread_id": "1"}},
)

print(response)