JeanCGuerrero commited on
Commit
a719853
verified
1 Parent(s): e528514

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -14
app.py CHANGED
@@ -1,31 +1,32 @@
1
  from langchain_community.vectorstores import Chroma
2
  from langchain_huggingface import HuggingFaceEmbeddings
3
- from langchain_community.chat_models import ChatOpenAI
4
  from langchain_core.output_parsers import StrOutputParser
5
  from langchain import hub
6
  import gradio as gr
7
- import os
8
 
9
- # Configurar tu clave de OpenAI (puedes usar otra fuente Hugging Face si prefieres)
10
- openai_api_key = os.environ.get("OPENAI_API_KEY", "")
11
-
12
- # Modelo remoto (si prefieres usar otro, aqu铆 se cambia)
13
- llm = ChatOpenAI(openai_api_key=openai_api_key, model="gpt-3.5-turbo", temperature=0)
14
- parser = StrOutputParser()
15
-
16
- # Cargar embeddings (debe ser el mismo modelo que usaste en Colab)
17
  embedding_function = HuggingFaceEmbeddings(
18
  model_name="sentence-transformers/paraphrase-multilingual-mpnet-base-v2",
19
  model_kwargs={"device": "cpu"}
20
  )
21
 
22
- # Cargar vectorstore persistente
23
  vectordb = Chroma(
24
  persist_directory="chroma_db",
25
  embedding_function=embedding_function
26
  )
27
 
28
- # Funci贸n RAG
 
 
 
 
 
 
 
 
 
29
  def responder_pregunta(query):
30
  docs = vectordb.similarity_search_with_score(query, k=5)
31
  prompt = hub.pull("rlm/rag-prompt")
@@ -48,6 +49,6 @@ gr.Interface(
48
  fn=responder_pregunta,
49
  inputs=gr.Textbox(label="Pregunta sobre nutrici贸n"),
50
  outputs="text",
51
- title="Sistema de Preguntas sobre Nutrici贸n",
52
- description="Pregunta sobre el contenido del manual cl铆nico. Basado en RAG con LangChain y Hugging Face."
53
  ).launch()
 
1
  from langchain_community.vectorstores import Chroma
2
  from langchain_huggingface import HuggingFaceEmbeddings
3
+ from langchain_community.chat_models import ChatHuggingFace
4
  from langchain_core.output_parsers import StrOutputParser
5
  from langchain import hub
6
  import gradio as gr
 
7
 
8
+ # Cargar embeddings (debe coincidir con los usados en Colab)
 
 
 
 
 
 
 
9
  embedding_function = HuggingFaceEmbeddings(
10
  model_name="sentence-transformers/paraphrase-multilingual-mpnet-base-v2",
11
  model_kwargs={"device": "cpu"}
12
  )
13
 
14
+ # Cargar la base de vectores persistida
15
  vectordb = Chroma(
16
  persist_directory="chroma_db",
17
  embedding_function=embedding_function
18
  )
19
 
20
+ # Cargar modelo de lenguaje gratuito y usable sin clave
21
+ llm = ChatHuggingFace(
22
+ repo_id="mistralai/Mistral-7B-Instruct-v0.1",
23
+ task="text-generation",
24
+ model_kwargs={"temperature": 0.7, "max_new_tokens": 512}
25
+ )
26
+
27
+ # Crear la cadena de procesamiento
28
+ parser = StrOutputParser()
29
+
30
  def responder_pregunta(query):
31
  docs = vectordb.similarity_search_with_score(query, k=5)
32
  prompt = hub.pull("rlm/rag-prompt")
 
49
  fn=responder_pregunta,
50
  inputs=gr.Textbox(label="Pregunta sobre nutrici贸n"),
51
  outputs="text",
52
+ title="Sistema RAG sobre Nutrici贸n Cl铆nica",
53
+ description="Haz preguntas sobre el manual cl铆nico procesado con RAG, embeddings y Mistral 7B."
54
  ).launch()