Spaces:
Running
Running
File size: 2,876 Bytes
a786c9d d16d3b3 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb a786c9d 0fed4fb dfd696d a786c9d 0fed4fb 8837a99 a786c9d 3f51add a786c9d 0fed4fb 7c89955 0fed4fb 7c89955 0fed4fb 7df1bda 4c6d55a 1f23827 983182b dfd696d 0fed4fb dfd696d 0fed4fb |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
import pandas as pd
# Carga los datos de entrenamiento
df = pd.read_csv('./medical_data.csv')
# Crea un arreglo con los contextos
context_data = []
for i in range(len(df)):
context = ""
for j in range(3):
context += df.columns[j]
context += ": "
context += df.iloc[i][j]
context += " "
context_data.append(context)
# Importa las bibliotecas necesarias
import os
from langchain_groq import ChatGroq
from langchain_huggingface import HuggingFaceEmbeddings
from langchain_chroma import Chroma
# Obtiene la clave de API de Groq
groq_key = os.environ.get('groq_api_keys')
# Crea un objeto ChatGroq con el modelo de lenguaje
llm = ChatGroq(model="llama-3.1-70b-versatile", api_key=groq_key)
# Crea un objeto HuggingFaceEmbeddings con el modelo de embeddings
embed_model = HuggingFaceEmbeddings(model_name="mixedbread-ai/mxbai-embed-large-v1")
# Crea un objeto Chroma con el nombre de la colecci贸n
vectorstore = Chroma(
collection_name="mecanica_automotriz",
embedding_function=embed_model,
)
# Agrega los textos a la colecci贸n
vectorstore.add_texts(context_data)
# Crea un objeto retriever con la colecci贸n
retriever = vectorstore.as_retriever()
# Crea un objeto PromptTemplate con el prompt
template = ("""Tu eres un experto en mec谩nica automotriz, puedes responder preguntas sobre coches y motores.
Context: {context}
Question: {question}
Answer:""")
# Crea un objeto rag_prompt con el prompt
rag_prompt = PromptTemplate.from_template(template)
# Crea un objeto StrOutputParser para parsear la salida
from langchain_core.output_parsers import StrOutputParser
# Crea un objeto RunnablePassthrough para ejecutar el modelo
from langchain_core.runnables import RunnablePassthrough
# Crea un objeto rag_chain con el modelo y el prompt
rag_chain = (
{"context": retriever, "question": RunnablePassthrough()}
| rag_prompt
| llm
| StrOutputParser()
)
# Importa la biblioteca Gradio
import gradio as gr
# Crea una funci贸n para procesar la entrada del usuario
def rag_memory_stream(message, history):
partial_text = ""
for new_text in rag_chain.stream(message):
partial_text += new_text
yield partial_text
# Crea un objeto Gradio con la funci贸n y el t铆tulo
examples = [
"Mi coche no arranca, 驴qu茅 puedo hacer?",
"驴C贸mo puedo cambiar el aceite de mi coche?"
]
description = "Aplicaci贸n de IA en tiempo real para responder preguntas sobre mec谩nica automotriz"
title = "Experto en Mec谩nica Automotriz :)"
demo = gr.ChatInterface(fn=rag_memory_stream,
type="messages",
title=title,
description=description,
fill_height=True,
examples=examples,
theme="glass",
)
# Lanza la aplicaci贸n
if __name__ == "__main__":
demo.launch() |