JabrilJacobs commited on
Commit
2772450
·
verified ·
1 Parent(s): df2df29

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -7
app.py CHANGED
@@ -37,24 +37,23 @@ class NewAgent:
37
  description="Fetches the most downloaded model from a specific author on the Hugging Face Hub."
38
  )
39
  # Generate the chat interface, including the tools
40
- llm = HuggingFaceEndpoint(
41
- repo_id="Qwen/Qwen2.5-Coder-32B-Instruct",
42
- huggingfacehub_api_token=HUGGINGFACEHUB_API_TOKEN,
43
- )
44
- chat = ChatHuggingFace(llm=llm, verbose=True)
45
  tools = [
46
  search_tool,
47
  # weather_info_tool,
48
  hub_stats_tool,
49
  ]
50
- chat_with_tools = chat.bind_tools(tools)
 
 
51
  # Generate the AgentState and Agent graph
52
  class AgentState(TypedDict):
53
  messages: Annotated[list[AnyMessage], add_messages]
54
  def assistant(state: AgentState):
 
55
  return {
56
- "messages": [chat_with_tools.invoke(state["messages"])],
57
  }
 
58
  ## The graph
59
  builder = StateGraph(AgentState)
60
  # Define nodes: these do the work
 
37
  description="Fetches the most downloaded model from a specific author on the Hugging Face Hub."
38
  )
39
  # Generate the chat interface, including the tools
 
 
 
 
 
40
  tools = [
41
  search_tool,
42
  # weather_info_tool,
43
  hub_stats_tool,
44
  ]
45
+ llm = ChatOpenAI(model="gpt-4o")
46
+ llm_with_tools = llm.bind_tools(tools, parallel_tool_calls=False)
47
+
48
  # Generate the AgentState and Agent graph
49
  class AgentState(TypedDict):
50
  messages: Annotated[list[AnyMessage], add_messages]
51
  def assistant(state: AgentState):
52
+ sys_msg = SystemMessage(content=f"You are a general AI assistant. I will ask you a question. Report your thoughts, and 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.")
53
  return {
54
+ "messages": [llm_with_tools.invoke([sys_msg] + state["messages"])],
55
  }
56
+
57
  ## The graph
58
  builder = StateGraph(AgentState)
59
  # Define nodes: these do the work