-
Notifications
You must be signed in to change notification settings - Fork 0
/
b_backend.py
35 lines (29 loc) · 1.08 KB
/
b_backend.py
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
# 1. Cargar la bbdd con langchain
from langchain.sql_database import SQLDatabase
db = SQLDatabase.from_uri("sqlite:///pokemon.db")
# 2. Importar las APIs
import a_env_vars
import os
os.environ["OPENAI_API_KEY"] = a_env_vars.OPENAI_API_KEY
# 3. Crear el LLM
from langchain.chat_models import ChatOpenAI
llm = ChatOpenAI(temperature=0,model_name='gpt-3.5-turbo')
# 4. Crear la cadena
#from langchain import SQLDatabaseChain
#from langchain.chains.sql_database.base import SQLDatabaseChain
from langchain_experimental.sql import SQLDatabaseChain
cadena = SQLDatabaseChain(llm = llm, database = db, verbose=False)
# 5. Formato personalizado de respuesta
formato = """
Data una pregunta del usuario:
1. crea una consulta de sqlite3
2. revisa los resultados
3. devuelve el dato
4. si tienes que hacer alguna aclaración o devolver cualquier texto que sea siempre en español
#{question}
"""
# 6. Función para hacer la consulta
def consulta(input_usuario):
consulta = formato.format(question = input_usuario)
resultado = cadena.run(consulta)
return(resultado)