gnosticdev commited on
Commit
0fed4fb
verified
1 Parent(s): ee4b751

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -30
app.py CHANGED
@@ -1,8 +1,9 @@
1
  import pandas as pd
2
 
3
-
4
  df = pd.read_csv('./medical_data.csv')
5
 
 
6
  context_data = []
7
  for i in range(len(df)):
8
  context = ""
@@ -13,50 +14,49 @@ for i in range(len(df)):
13
  context += " "
14
  context_data.append(context)
15
 
16
-
17
  import os
 
 
 
18
 
19
- # Get the secret key from the environment
20
  groq_key = os.environ.get('groq_api_keys')
21
 
22
- ## LLM used for RAG
23
- from langchain_groq import ChatGroq
24
-
25
- llm = ChatGroq(model="llama-3.1-70b-versatile",api_key=groq_key)
26
 
27
- ## Embedding model!
28
- from langchain_huggingface import HuggingFaceEmbeddings
29
  embed_model = HuggingFaceEmbeddings(model_name="mixedbread-ai/mxbai-embed-large-v1")
30
 
31
- # create vector store!
32
- from langchain_chroma import Chroma
33
-
34
  vectorstore = Chroma(
35
- collection_name="medical_dataset_store",
36
  embedding_function=embed_model,
37
  )
38
 
39
- # add data to vector nstore
40
  vectorstore.add_texts(context_data)
41
 
 
42
  retriever = vectorstore.as_retriever()
43
 
44
- from langchain_core.prompts import PromptTemplate
45
-
46
- template = ("""tu eres un experto en mecanica automotriz, puedes hablar de mas cosas, cuando te pregunten por algo relacionado a los vehiculos o motores
47
- debes responder pidiendo la marva y modelo de auto, luego pediras la fecha, y pediras que te digan los sintomas, tu les daras soluciones.
48
-
49
  Context: {context}
50
-
51
  Question: {question}
52
-
53
  Answer:""")
54
 
 
55
  rag_prompt = PromptTemplate.from_template(template)
56
 
 
57
  from langchain_core.output_parsers import StrOutputParser
 
 
58
  from langchain_core.runnables import RunnablePassthrough
59
 
 
60
  rag_chain = (
61
  {"context": retriever, "question": RunnablePassthrough()}
62
  | rag_prompt
@@ -64,23 +64,23 @@ rag_chain = (
64
  | StrOutputParser()
65
  )
66
 
 
67
  import gradio as gr
68
 
 
69
  def rag_memory_stream(message, history):
70
  partial_text = ""
71
  for new_text in rag_chain.stream(message):
72
  partial_text += new_text
73
  yield partial_text
74
 
 
75
  examples = [
76
- "I feel dizzy",
77
- "what is the possible sickness for fatigue?"
78
  ]
79
-
80
- description = "Real-time AI App with Groq API and LangChain to Answer medical questions"
81
-
82
-
83
- title = "Medical Expert :) Try me!"
84
  demo = gr.ChatInterface(fn=rag_memory_stream,
85
  type="messages",
86
  title=title,
@@ -90,6 +90,6 @@ demo = gr.ChatInterface(fn=rag_memory_stream,
90
  theme="glass",
91
  )
92
 
93
-
94
  if __name__ == "__main__":
95
- demo.launch()
 
1
  import pandas as pd
2
 
3
+ # Carga los datos de entrenamiento
4
  df = pd.read_csv('./medical_data.csv')
5
 
6
+ # Crea un arreglo con los contextos
7
  context_data = []
8
  for i in range(len(df)):
9
  context = ""
 
14
  context += " "
15
  context_data.append(context)
16
 
17
+ # Importa las bibliotecas necesarias
18
  import os
19
+ from langchain_groq import ChatGroq
20
+ from langchain_huggingface import HuggingFaceEmbeddings
21
+ from langchain_chroma import Chroma
22
 
23
+ # Obtiene la clave de API de Groq
24
  groq_key = os.environ.get('groq_api_keys')
25
 
26
+ # Crea un objeto ChatGroq con el modelo de lenguaje
27
+ llm = ChatGroq(model="llama-3.1-70b-versatile", api_key=groq_key)
 
 
28
 
29
+ # Crea un objeto HuggingFaceEmbeddings con el modelo de embeddings
 
30
  embed_model = HuggingFaceEmbeddings(model_name="mixedbread-ai/mxbai-embed-large-v1")
31
 
32
+ # Crea un objeto Chroma con el nombre de la colecci贸n
 
 
33
  vectorstore = Chroma(
34
+ collection_name="mecanica_automotriz",
35
  embedding_function=embed_model,
36
  )
37
 
38
+ # Agrega los textos a la colecci贸n
39
  vectorstore.add_texts(context_data)
40
 
41
+ # Crea un objeto retriever con la colecci贸n
42
  retriever = vectorstore.as_retriever()
43
 
44
+ # Crea un objeto PromptTemplate con el prompt
45
+ template = ("""Tu eres un experto en mec谩nica automotriz, puedes responder preguntas sobre coches y motores.
 
 
 
46
  Context: {context}
 
47
  Question: {question}
 
48
  Answer:""")
49
 
50
+ # Crea un objeto rag_prompt con el prompt
51
  rag_prompt = PromptTemplate.from_template(template)
52
 
53
+ # Crea un objeto StrOutputParser para parsear la salida
54
  from langchain_core.output_parsers import StrOutputParser
55
+
56
+ # Crea un objeto RunnablePassthrough para ejecutar el modelo
57
  from langchain_core.runnables import RunnablePassthrough
58
 
59
+ # Crea un objeto rag_chain con el modelo y el prompt
60
  rag_chain = (
61
  {"context": retriever, "question": RunnablePassthrough()}
62
  | rag_prompt
 
64
  | StrOutputParser()
65
  )
66
 
67
+ # Importa la biblioteca Gradio
68
  import gradio as gr
69
 
70
+ # Crea una funci贸n para procesar la entrada del usuario
71
  def rag_memory_stream(message, history):
72
  partial_text = ""
73
  for new_text in rag_chain.stream(message):
74
  partial_text += new_text
75
  yield partial_text
76
 
77
+ # Crea un objeto Gradio con la funci贸n y el t铆tulo
78
  examples = [
79
+ "Mi coche no arranca, 驴qu茅 puedo hacer?",
80
+ "驴C贸mo puedo cambiar el aceite de mi coche?"
81
  ]
82
+ description = "Aplicaci贸n de IA en tiempo real para responder preguntas sobre mec谩nica automotriz"
83
+ title = "Experto en Mec谩nica Automotriz :)"
 
 
 
84
  demo = gr.ChatInterface(fn=rag_memory_stream,
85
  type="messages",
86
  title=title,
 
90
  theme="glass",
91
  )
92
 
93
+ # Lanza la aplicaci贸n
94
  if __name__ == "__main__":
95
+ demo.launch()