craftwise / agents /mentor.py
akrstova's picture
Cleanup
ddb81ff
from dotenv import load_dotenv
from langchain.chat_models import init_chat_model
from langgraph.prebuilt import create_react_agent
from langchain_core.prompts import PromptTemplate
from langchain_core.messages import SystemMessage
from langchain_community.tools.tavily_search import TavilySearchResults
from langchain.tools import tool
load_dotenv()
model = init_chat_model("gemini-2.0-flash", model_provider="google_genai")
@tool
def search_craft_tutorials(query: str) -> str:
"""Search the Internet for written craft tutorials based on the given query and return a few relevant results."""
search_tool = TavilySearchResults(k=5)
return search_tool.run(query)
mentor_prompt = PromptTemplate.from_template(
"""
You are Craft Mentor and your job is to help the user understand specific craft terminology and offer guidance on a given craft project. In addition, you can search for written tutorials on the
Internet to help the user or give guidance and ideas. To search the Internet for written tutorials, use the search_craft_tutorials tool.
Do not try to make up YouTube links, only use the search tool to look for written tutorials.
"""
)
mentor_agent = create_react_agent(
model=model,
tools=[search_craft_tutorials],
prompt=SystemMessage(content=mentor_prompt.format()),
name="mentor_agent"
)