Spaces:
Sleeping
Sleeping
| 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") | |
| 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" | |
| ) | |