jcmachicao commited on
Commit
9010fee
verified
1 Parent(s): 869e72a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +35 -16
app.py CHANGED
@@ -1,29 +1,52 @@
1
  import networkx as nx
2
  import matplotlib.pyplot as plt
3
  import json
4
- import textwrap
5
  import requests
6
  import pandas as pd
7
  import os
8
  import gradio as gr
9
 
10
- students = ["Alice", "Bob", "Charlie"]
11
-
12
- # Initialize graph before launching UI
13
- inicializar_grafo()
14
 
15
- api_key = os.getenv("AIRT_KEY")
16
- AIRT_DBASEx = os.getenv("AIRT_DBASE")
17
- AIRT_TABLEx = os.getenv("AIRT_TABLE")
18
-
19
- G = nx.DiGraph()
20
 
21
- url = f"https://api.airtable.com/v0/{AIRT_DBASEx}/{AIRT_TABLEx}"
22
  headers = {
23
- "Authorization": f"Bearer {api_key}",
24
  "Content-Type": "application/json"
25
  }
26
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  def cargar_desde_airtable():
28
  response = requests.get(url, headers=headers)
29
 
@@ -76,10 +99,6 @@ def visualizar_grafo():
76
  plt.close()
77
  return "graph.png"
78
 
79
-
80
-
81
-
82
-
83
  def chat_interface(student, message):
84
  """Handles chat messages, processes them, and updates AirTable."""
85
  graph_image = create_graph(student, message)
 
1
  import networkx as nx
2
  import matplotlib.pyplot as plt
3
  import json
 
4
  import requests
5
  import pandas as pd
6
  import os
7
  import gradio as gr
8
 
9
+ # Load OpenAI API Key
10
+ API_KEY = os.getenv("OAIK")
11
+ client = openai.OpenAI(api_key=API_KEY)
 
12
 
13
+ api_key_airt = os.getenv("AIRT")
14
+ AIRT_DBASE = 'appUuBVTJR5ju0y6J'
15
+ AIRT_TABLE = 'foros_postdoc'
 
 
16
 
17
+ url = f"https://api.airtable.com/v0/{AIRT_DBASE}/{AIRT_TABLE}"
18
  headers = {
19
+ "Authorization": f"Bearer {api_key_airt}",
20
  "Content-Type": "application/json"
21
  }
22
 
23
+ # Sample vocabulary for concept extraction
24
+ VOCABULARY = ["algoritmos", "inteligencia artificial", "pol铆ticas p煤blicas",
25
+ "educaci贸n a distancia", "gobernanza", "educaci贸n superior"]
26
+
27
+ students = ["Alice", "Bob", "Charlie"]
28
+
29
+ G = nx.DiGraph()
30
+
31
+ def extract_concepts(text):
32
+
33
+ instrucciones = "Eres un experto en educaci贸n superior a distancia con conocimiento de pol铆ticas p煤blicas, \
34
+ tanto para educaci贸n superior como la adopci贸n de inteligencia artificial"
35
+ prompt = f"""Dado el siguiente mensaje: '{text}', identifica cu谩les de los siguientes conceptos est谩n mencionados \
36
+ seg煤n su significado, no solo las palabras exactas: {', '.join(VOCABULARY)}. \
37
+ Devuelve los conceptos coincidentes como una lista separada por comas."""
38
+
39
+ version_model = 'gpt-3.5-turbo-0125'
40
+ response = client.chat.completions.create(
41
+ model=version_model,
42
+ messages=[{"role": "system", "content": instrucciones},
43
+ {"role": "user", "content": prompt}],
44
+ temperature=0.8,
45
+ max_tokens=300,
46
+ )
47
+ extract_concepts = response.choices[0].message.content.split(',')
48
+ return extract_concepts
49
+
50
  def cargar_desde_airtable():
51
  response = requests.get(url, headers=headers)
52
 
 
99
  plt.close()
100
  return "graph.png"
101
 
 
 
 
 
102
  def chat_interface(student, message):
103
  """Handles chat messages, processes them, and updates AirTable."""
104
  graph_image = create_graph(student, message)