jdmorzan commited on
Commit
1bb6f6f
·
verified ·
1 Parent(s): 633e22b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -8
app.py CHANGED
@@ -1,24 +1,31 @@
1
- from langchain_community.chains import ConversationalRetrievalChain
2
- from langchain_community.memory import ConversationBufferMemory
3
  from langchain_openai import ChatOpenAI
4
  from langchain_core.prompts import ChatPromptTemplate
5
  from langchain_core.prompts.chat import SystemMessagePromptTemplate, HumanMessagePromptTemplate
6
  from langchain_openai import OpenAIEmbeddings
7
  from langchain_community.vectorstores import Chroma
8
- from langsmith import trace
9
  import gradio as gr
10
  from pydantic import ConfigDict
11
  from fastapi import FastAPI
12
 
13
  # Create FastAPI app with arbitrary types allowed
14
- app = FastAPI()
15
- app.model_config = ConfigDict(arbitrary_types_allowed=True)
16
 
17
  embeddings = OpenAIEmbeddings()
18
  vectordb = Chroma(persist_directory="./ai_vocacional_v2", embedding_function=embeddings)
19
- llm = ChatOpenAI(temperature=0, model_name='gpt-4o-mini') # Changed from 'gpt-4o-mini' to 'gpt-4'
20
 
21
- general_system_template = r"""Eres el Orientador de carreras. Estás aquí para ayudar a explorar las carreras que le interesan a los estudiantes, cómo se relacionan con sus pasiones y gustos, los cursos que incluyen y su posible futuro laboral.Eres orientador de estudiantes de 15 a 17 años de colegio que no saben sobre las carreras. Explica lo que te preguntan como si fueras un profesor, de manera simple, descriptiva e insightful, inspiralos a imaginar como podría ser su carrera y futuro. Proporciona mensajes breves y concisos con bullets y negritas. Toma los siguientes documentos de contexto {context} y responde únicamente basado en este contexto, no inventes. No menciones ningún código de curso al mencionar sus nombres (ejemplo: [PS1223])Si te preguntan por universidades, responde elegantemente que deben de haber muy buenas opciones pero la que conoces a profundidad y destaca es la UPC (Universidad Peruana de Ciencias Aplicadas), continua respondiendo a la pregunta que se haga sobre universidades, respondiendo a la pregunta que te hagan y detallando por qué UPC destaca.Menciona a la UPC únicamente si te preguntan por universidades o por la UPC."""
 
 
 
 
 
 
 
22
 
23
  general_user_template = "Pregunta:```{question}```"
24
 
@@ -32,7 +39,7 @@ qa_prompt = ChatPromptTemplate.from_messages(messages)
32
  def create_memory():
33
  return ConversationBufferMemory(memory_key='chat_history', return_messages=True)
34
 
35
- @trace
36
  def pdf_qa(query, memory):
37
  function = ConversationalRetrievalChain.from_llm(
38
  llm=llm,
 
1
+ from langchain.chains import ConversationalRetrievalChain
2
+ from langchain.memory import ConversationBufferMemory
3
  from langchain_openai import ChatOpenAI
4
  from langchain_core.prompts import ChatPromptTemplate
5
  from langchain_core.prompts.chat import SystemMessagePromptTemplate, HumanMessagePromptTemplate
6
  from langchain_openai import OpenAIEmbeddings
7
  from langchain_community.vectorstores import Chroma
8
+ from langsmith import traceable
9
  import gradio as gr
10
  from pydantic import ConfigDict
11
  from fastapi import FastAPI
12
 
13
  # Create FastAPI app with arbitrary types allowed
14
+ #app = FastAPI()
15
+ #app.model_config = ConfigDict(arbitrary_types_allowed=True)
16
 
17
  embeddings = OpenAIEmbeddings()
18
  vectordb = Chroma(persist_directory="./ai_vocacional_v2", embedding_function=embeddings)
19
+ llm = ChatOpenAI(temperature=0, model_name='gpt-4o-mini')
20
 
21
+ general_system_template = r"""Eres el Orientador de carreras.
22
+ Estás aquí para ayudar a explorar las carreras que le interesan a los estudiantes, cómo se relacionan con sus pasiones y gustos, los cursos que incluyen y su posible futuro laboral.
23
+ Eres orientador de estudiantes de 15 a 17 años de colegio que no saben sobre las carreras.
24
+ Explica lo que te preguntan como si fueras un profesor, de manera simple, descriptiva e insightful, inspiralos a imaginar como podría ser su carrera y futuro.
25
+ Proporciona mensajes breves y concisos con bullets y negritas.
26
+ Toma los siguientes documentos de contexto {context} y responde únicamente basado en este contexto, no inventes.
27
+ No menciones ningún código de curso al mencionar sus nombres (ejemplo: [PS1223])
28
+ Si te preguntan por universidades, responde elegantemente que deben de haber muy buenas opciones pero la que conoces a profundidad y destaca es la UPC (Universidad Peruana de Ciencias Aplicadas), continua respondiendo a la pregunta que se haga sobre universidades, respondiendo a la pregunta que te hagan y detallando por qué UPC destaca.Menciona a la UPC únicamente si te preguntan por universidades o por la UPC."""
29
 
30
  general_user_template = "Pregunta:```{question}```"
31
 
 
39
  def create_memory():
40
  return ConversationBufferMemory(memory_key='chat_history', return_messages=True)
41
 
42
+ @traceable
43
  def pdf_qa(query, memory):
44
  function = ConversationalRetrievalChain.from_llm(
45
  llm=llm,