Spaces:
Sleeping
Sleeping
test2
Browse files
app.py
CHANGED
@@ -1,8 +1,9 @@
|
|
1 |
-
from openai import OpenAI
|
2 |
import os
|
3 |
-
import math
|
4 |
import datetime
|
5 |
import requests
|
|
|
|
|
|
|
6 |
|
7 |
class ToolEnhancedAgent:
|
8 |
def __init__(self):
|
@@ -10,7 +11,7 @@ class ToolEnhancedAgent:
|
|
10 |
if not api_key:
|
11 |
raise ValueError("OPENAI_API_KEY is not set.")
|
12 |
self.client = OpenAI(api_key=api_key)
|
13 |
-
print("ToolEnhancedAgent initialized with GPT + CoT +
|
14 |
|
15 |
def use_tool(self, tool_name: str, input_text: str) -> str:
|
16 |
try:
|
@@ -19,26 +20,25 @@ class ToolEnhancedAgent:
|
|
19 |
elif tool_name == "date":
|
20 |
return str(datetime.datetime.now().date())
|
21 |
elif tool_name == "wikipedia":
|
22 |
-
|
23 |
-
return summary
|
24 |
else:
|
25 |
return "[Tool Error: Unknown Tool]"
|
26 |
except Exception as e:
|
27 |
return f"[Tool Error: {e}]"
|
28 |
|
29 |
-
def search_wikipedia(self, query):
|
30 |
try:
|
31 |
res = requests.get(f"https://en.wikipedia.org/api/rest_v1/page/summary/{query}")
|
32 |
if res.status_code == 200:
|
33 |
return res.json().get("extract", "No summary found.")
|
34 |
else:
|
35 |
-
return f"No Wikipedia summary for {query}."
|
36 |
except Exception as e:
|
37 |
return f"Wiki error: {e}"
|
38 |
|
39 |
def __call__(self, question: str) -> str:
|
40 |
prompt = (
|
41 |
-
"You are a helpful AI assistant. Use tools when
|
42 |
"Think step-by-step before answering. Respond clearly.\n\n"
|
43 |
f"Question: {question}\n"
|
44 |
"Answer (show thinking steps):"
|
@@ -55,7 +55,7 @@ class ToolEnhancedAgent:
|
|
55 |
max_tokens=700,
|
56 |
)
|
57 |
answer = response.choices[0].message.content.strip()
|
58 |
-
print(f"
|
59 |
return answer
|
60 |
except Exception as e:
|
61 |
print(f"[Agent Error]: {e}")
|
|
|
|
|
1 |
import os
|
|
|
2 |
import datetime
|
3 |
import requests
|
4 |
+
import gradio as gr
|
5 |
+
import pandas as pd
|
6 |
+
from openai import OpenAI
|
7 |
|
8 |
class ToolEnhancedAgent:
|
9 |
def __init__(self):
|
|
|
11 |
if not api_key:
|
12 |
raise ValueError("OPENAI_API_KEY is not set.")
|
13 |
self.client = OpenAI(api_key=api_key)
|
14 |
+
print("✅ ToolEnhancedAgent initialized with GPT-4 + CoT + Tool usage.")
|
15 |
|
16 |
def use_tool(self, tool_name: str, input_text: str) -> str:
|
17 |
try:
|
|
|
20 |
elif tool_name == "date":
|
21 |
return str(datetime.datetime.now().date())
|
22 |
elif tool_name == "wikipedia":
|
23 |
+
return self.search_wikipedia(input_text)
|
|
|
24 |
else:
|
25 |
return "[Tool Error: Unknown Tool]"
|
26 |
except Exception as e:
|
27 |
return f"[Tool Error: {e}]"
|
28 |
|
29 |
+
def search_wikipedia(self, query: str) -> str:
|
30 |
try:
|
31 |
res = requests.get(f"https://en.wikipedia.org/api/rest_v1/page/summary/{query}")
|
32 |
if res.status_code == 200:
|
33 |
return res.json().get("extract", "No summary found.")
|
34 |
else:
|
35 |
+
return f"No Wikipedia summary found for '{query}'."
|
36 |
except Exception as e:
|
37 |
return f"Wiki error: {e}"
|
38 |
|
39 |
def __call__(self, question: str) -> str:
|
40 |
prompt = (
|
41 |
+
"You are a helpful AI assistant. Use tools when needed. "
|
42 |
"Think step-by-step before answering. Respond clearly.\n\n"
|
43 |
f"Question: {question}\n"
|
44 |
"Answer (show thinking steps):"
|
|
|
55 |
max_tokens=700,
|
56 |
)
|
57 |
answer = response.choices[0].message.content.strip()
|
58 |
+
print(f"📤 Agent response: {answer[:100]}...")
|
59 |
return answer
|
60 |
except Exception as e:
|
61 |
print(f"[Agent Error]: {e}")
|