Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
import pandas as pd
|
2 |
-
from langchain_groq import ChatGroq
|
3 |
from langchain_huggingface import HuggingFaceEmbeddings
|
4 |
from langchain_chroma import Chroma
|
5 |
from langchain_core.prompts import PromptTemplate
|
6 |
from langchain_core.output_parsers import StrOutputParser
|
7 |
from langchain_core.runnables import RunnablePassthrough
|
8 |
import gradio as gr
|
|
|
9 |
|
10 |
# Carga los datos de entrenamiento
|
11 |
df = pd.read_csv('./botreformasconstrucciones.csv')
|
@@ -13,25 +13,20 @@ df = pd.read_csv('./botreformasconstrucciones.csv')
|
|
13 |
# Crea un arreglo con los contextos
|
14 |
context_data = []
|
15 |
for i in range(len(df)):
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
# Importa las bibliotecas necesarias
|
25 |
-
import os
|
26 |
-
from langchain_groq import ChatGroq
|
27 |
-
from langchain_huggingface import HuggingFaceEmbeddings
|
28 |
-
from langchain_chroma import Chroma
|
29 |
|
30 |
-
#
|
31 |
-
|
|
|
32 |
|
33 |
-
# Crea un
|
34 |
-
llm =
|
35 |
|
36 |
# Crea un objeto HuggingFaceEmbeddings con el modelo de embeddings
|
37 |
embed_model = HuggingFaceEmbeddings(model_name="mixedbread-ai/mxbai-embed-large-v1")
|
@@ -51,7 +46,7 @@ retriever = vectorstore.as_retriever()
|
|
51 |
# Crea un objeto PromptTemplate con el prompt
|
52 |
template = ("""tu eres un experto asistente de gnostic dev, desarrollo web, experto en wordpress, paginas web, plataformas,
|
53 |
ecommerce, aplicaciones con ia, debes responder cuestiones tecnicas a los posinles clientes,
|
54 |
-
y recordarles que para cualquier duda puede contactar conmigo mediante el chat que encontraras debajo a la derecha de la pantalla y me pondre contacto contigo lo antes posible, darle razones por las que soy la mejor opcion para contratar el desarrollo web, desde precios muy asequibles comparados con lo que les costaria en un estudio o empresa de desarrollo, gracias a ser freelancer ofrezco un soporte
|
55 |
Context: {context}
|
56 |
Question: {question}
|
57 |
Answer:""")
|
@@ -60,22 +55,19 @@ y recordarles que para cualquier duda puede contactar conmigo mediante el chat q
|
|
60 |
rag_prompt = PromptTemplate.from_template(template)
|
61 |
|
62 |
# Crea un objeto StrOutputParser para parsear la salida
|
63 |
-
|
64 |
|
65 |
# Crea un objeto RunnablePassthrough para ejecutar el modelo
|
66 |
-
|
67 |
|
68 |
# Crea un objeto rag_chain con el modelo y el prompt
|
69 |
rag_chain = (
|
70 |
-
{"context": retriever, "question":
|
71 |
| rag_prompt
|
72 |
| llm
|
73 |
-
|
|
74 |
)
|
75 |
|
76 |
-
# Importa la biblioteca Gradio
|
77 |
-
import gradio as gr
|
78 |
-
|
79 |
# Crea una funci贸n para procesar la entrada del usuario
|
80 |
def rag_memory_stream(message, history):
|
81 |
partial_text = ""
|
@@ -85,7 +77,7 @@ def rag_memory_stream(message, history):
|
|
85 |
|
86 |
# Crea un objeto Gradio con la funci贸n y el t铆tulo
|
87 |
examples = [
|
88 |
-
"驴C贸mo instalar wordpress por FTP?"
|
89 |
"驴Como limpiar un wordpress hackeado?",
|
90 |
"驴C贸mo importar productos en wooocommerce?"
|
91 |
]
|
@@ -102,4 +94,4 @@ demo = gr.ChatInterface(fn=rag_memory_stream,
|
|
102 |
|
103 |
# Lanza la aplicaci贸n
|
104 |
if __name__ == "__main__":
|
105 |
-
demo.launch()
|
|
|
1 |
import pandas as pd
|
|
|
2 |
from langchain_huggingface import HuggingFaceEmbeddings
|
3 |
from langchain_chroma import Chroma
|
4 |
from langchain_core.prompts import PromptTemplate
|
5 |
from langchain_core.output_parsers import StrOutputParser
|
6 |
from langchain_core.runnables import RunnablePassthrough
|
7 |
import gradio as gr
|
8 |
+
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
|
9 |
|
10 |
# Carga los datos de entrenamiento
|
11 |
df = pd.read_csv('./botreformasconstrucciones.csv')
|
|
|
13 |
# Crea un arreglo con los contextos
|
14 |
context_data = []
|
15 |
for i in range(len(df)):
|
16 |
+
context = ""
|
17 |
+
for j in range(3):
|
18 |
+
context += df.columns[j]
|
19 |
+
context += ": "
|
20 |
+
context += df.iloc[i, j] # Cambia esto
|
21 |
+
context += " "
|
22 |
+
context_data.append(context)
|
|
|
|
|
|
|
|
|
|
|
|
|
23 |
|
24 |
+
# Crea el tokenizer y el modelo de Llama-2
|
25 |
+
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-chat-hf")
|
26 |
+
model = AutoModelForCausalLM.from_pretrained("meta-llama/Llama-2-7b-chat-hf")
|
27 |
|
28 |
+
# Crea un pipeline para la generaci贸n de texto
|
29 |
+
llm = pipeline("text-generation", model=model, tokenizer=tokenizer)
|
30 |
|
31 |
# Crea un objeto HuggingFaceEmbeddings con el modelo de embeddings
|
32 |
embed_model = HuggingFaceEmbeddings(model_name="mixedbread-ai/mxbai-embed-large-v1")
|
|
|
46 |
# Crea un objeto PromptTemplate con el prompt
|
47 |
template = ("""tu eres un experto asistente de gnostic dev, desarrollo web, experto en wordpress, paginas web, plataformas,
|
48 |
ecommerce, aplicaciones con ia, debes responder cuestiones tecnicas a los posinles clientes,
|
49 |
+
y recordarles que para cualquier duda puede contactar conmigo mediante el chat que encontraras debajo a la derecha de la pantalla y me pondre contacto contigo lo antes posible, darle razones por las que soy la mejor opcion para contratar el desarrollo web, desde precios muy asequibles comparados con lo que les costaria en un estudio o empresa de desarrollo, gracias a ser freelancer ofrezco un soporte tecnico personal e ilimitado en soporte tecnico, y de regalo la version apk como aplicacion para android por cada web, ademas de un chatbot y asistente,
|
50 |
Context: {context}
|
51 |
Question: {question}
|
52 |
Answer:""")
|
|
|
55 |
rag_prompt = PromptTemplate.from_template(template)
|
56 |
|
57 |
# Crea un objeto StrOutputParser para parsear la salida
|
58 |
+
output_parser = StrOutputParser()
|
59 |
|
60 |
# Crea un objeto RunnablePassthrough para ejecutar el modelo
|
61 |
+
runnable_passthrough = RunnablePassthrough()
|
62 |
|
63 |
# Crea un objeto rag_chain con el modelo y el prompt
|
64 |
rag_chain = (
|
65 |
+
{"context": retriever, "question": runnable_passthrough}
|
66 |
| rag_prompt
|
67 |
| llm
|
68 |
+
| output_parser
|
69 |
)
|
70 |
|
|
|
|
|
|
|
71 |
# Crea una funci贸n para procesar la entrada del usuario
|
72 |
def rag_memory_stream(message, history):
|
73 |
partial_text = ""
|
|
|
77 |
|
78 |
# Crea un objeto Gradio con la funci贸n y el t铆tulo
|
79 |
examples = [
|
80 |
+
"驴C贸mo instalar wordpress por FTP?",
|
81 |
"驴Como limpiar un wordpress hackeado?",
|
82 |
"驴C贸mo importar productos en wooocommerce?"
|
83 |
]
|
|
|
94 |
|
95 |
# Lanza la aplicaci贸n
|
96 |
if __name__ == "__main__":
|
97 |
+
demo.launch()
|