jbbove commited on
Commit
f8ededc
·
verified ·
1 Parent(s): 32031d9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +31 -7
app.py CHANGED
@@ -7,16 +7,40 @@ from tools.final_answer import FinalAnswerTool
7
 
8
  from Gradio_UI import GradioUI
9
 
10
- # Below is an example of a tool that does nothing. Amaze us with your creativity !
 
 
 
 
11
  @tool
12
- def my_custom_tool(arg1:str, arg2:int)-> str: #it's import to specify the return type
13
- #Keep this format for the description / args / args description but feel free to modify the tool
14
- """A tool that does nothing yet
 
15
  Args:
16
- arg1: the first argument
17
- arg2: the second argument
 
 
 
 
 
 
 
 
 
18
  """
19
- return "What magic will you build ?"
 
 
 
 
 
 
 
 
 
 
20
 
21
  @tool
22
  def get_current_time_in_timezone(timezone: str) -> str:
 
7
 
8
  from Gradio_UI import GradioUI
9
 
10
+ API_URL = "https://api-inference.huggingface.co/models/mistralai/Mistral-7B-Instruct-v0.2"
11
+ headers = {
12
+ "Authorization": f"Bearer {os.environ['HF_TOKEN']}",
13
+ }
14
+
15
  @tool
16
+ def extract_knowledge_graph(text: str) -> str:
17
+ """
18
+ Uses a Hugging Face LLM to extract a simple textual knowledge graph from the input text.
19
+
20
  Args:
21
+ text: a paragraph of text
22
+
23
+ Returns:
24
+ A string listing entities and relationships.
25
+ """
26
+ prompt = f"""Extract the entities and their relationships from the following text in the form of a simple knowledge graph with triples.
27
+
28
+ Text: "{text}"
29
+
30
+ Output format:
31
+ (Subject) -[Relation]-> (Object)
32
  """
33
+
34
+ response = requests.post(API_URL, headers=headers, json={"inputs": prompt})
35
+
36
+ if response.status_code != 200:
37
+ return f"API error: {response.status_code} - {response.text}"
38
+
39
+ try:
40
+ outputs = response.json()
41
+ return outputs[0]["generated_text"]
42
+ except Exception as e:
43
+ return f"Could not parse output: {e}"
44
 
45
  @tool
46
  def get_current_time_in_timezone(timezone: str) -> str: