sarch7040 commited on
Commit
8caf3cf
·
verified ·
1 Parent(s): 38ef986

Update langchain_logic/agent_setup.py

Browse files
Files changed (1) hide show
  1. langchain_logic/agent_setup.py +30 -13
langchain_logic/agent_setup.py CHANGED
@@ -1,29 +1,46 @@
1
- import os
2
  from langchain.agents import AgentExecutor, create_tool_calling_agent
3
  from langchain_core.prompts import ChatPromptTemplate
4
  from langchain_google_genai import ChatGoogleGenerativeAI
5
- # Import the new tool
6
- from langchain_logic.tools import schedule_appointment, search_for_appointments, delete_appointment_records, update_appointment_record, list_all_appointments
 
 
 
 
 
7
  from datetime import datetime
8
 
9
- google_api_key=os.getenv("GOOGLE_API_KEY")
 
 
 
 
 
 
 
 
 
10
 
11
  def create_agent_executor():
12
  """Creates the LangChain agent and executor."""
13
- # Add the new tool to the list
14
  tools = [
15
- schedule_appointment,
16
- search_for_appointments,
17
- list_all_appointments, # <-- ADDED HERE
18
- delete_appointment_records,
19
  update_appointment_record
20
  ]
21
-
22
 
23
- llm = ChatGoogleGenerativeAI(model="gemini-2.5-flash-lite-preview-06-17", temperature=0, google_api_key=google_api_key)
 
 
 
 
 
24
 
25
- # You can optionally update the prompt to mention the new capability
26
  prompt = ChatPromptTemplate.from_messages([
 
27
  ("system", """You are an advanced, helpful appointment scheduling assistant.
28
 
29
  Your tasks are to schedule, search, update, and delete appointments using the available tools.
@@ -47,7 +64,7 @@ def create_agent_executor():
47
  agent_executor = AgentExecutor(
48
  agent=agent,
49
  tools=tools,
50
- verbose=True, # For debugging
51
  handle_parsing_errors=True
52
  )
53
  return agent_executor
 
1
+ import os # <-- Import the os module
2
  from langchain.agents import AgentExecutor, create_tool_calling_agent
3
  from langchain_core.prompts import ChatPromptTemplate
4
  from langchain_google_genai import ChatGoogleGenerativeAI
5
+ from langchain_logic.tools import (
6
+ schedule_appointment,
7
+ search_for_appointments,
8
+ delete_appointment_records,
9
+ update_appointment_record,
10
+ list_all_appointments
11
+ )
12
  from datetime import datetime
13
 
14
+ # --- IMPORTANT ---
15
+ # This code will now work both locally (with a .env file) and on Hugging Face Spaces.
16
+ # On Hugging Face, os.getenv("GOOGLE_API_KEY") will read the secret you set.
17
+ # Locally, load_dotenv() in your main file will load it from .env for os.getenv to find.
18
+ google_api_key = os.getenv("GOOGLE_API_KEY")
19
+
20
+ if not google_api_key:
21
+ raise ValueError("GOOGLE_API_KEY not found. Please set it as a secret in Hugging Face Spaces or in a .env file for local development.")
22
+ # ---------------
23
+
24
 
25
  def create_agent_executor():
26
  """Creates the LangChain agent and executor."""
 
27
  tools = [
28
+ schedule_appointment,
29
+ search_for_appointments,
30
+ list_all_appointments,
31
+ delete_appointment_records,
32
  update_appointment_record
33
  ]
 
34
 
35
+ # Explicitly pass the API key to the model
36
+ llm = ChatGoogleGenerativeAI(
37
+ model="gemini-2.5-flash-lite-preview-06-17",
38
+ temperature=0,
39
+ google_api_key=google_api_key # <-- Pass the key here
40
+ )
41
 
 
42
  prompt = ChatPromptTemplate.from_messages([
43
+ # ... (your prompt remains the same) ...
44
  ("system", """You are an advanced, helpful appointment scheduling assistant.
45
 
46
  Your tasks are to schedule, search, update, and delete appointments using the available tools.
 
64
  agent_executor = AgentExecutor(
65
  agent=agent,
66
  tools=tools,
67
+ verbose=True,
68
  handle_parsing_errors=True
69
  )
70
  return agent_executor