Gente, quero implementar no agente uma conexão com um banco de dados MySQL já existente para consultas e retornos. Alguma dica, conselho ou indicação de aula?
Gente, quero implementar no agente uma conexão com um banco de dados MySQL já existente para consultas e retornos. Alguma dica, conselho ou indicação de aula?
Oi, Lizandra! Tudo bem?
Para conectar seu agente a um banco de dados MySQL existente, você pode usar as ferramentas do LangChain para interagir com bancos de dados. Veja um exemplo de como fazer isso:
pip install langchain langchain-community mysql-connector-python
from langchain_community.utilities import SQLDatabase
from langchain.chains import create_sql_query_chain
from langchain_google_genai import ChatGoogleGenerativeAI
import os
# Substitua com suas credenciais
db_user = "seu_usuario"
db_password = "sua_senha"
db_host = "seu_host"
db_name = "seu_banco_de_dados"
db_connection_string = f"mysql+mysqlconnector://{db_user}:{db_password}@{db_host}/{db_name}"
db = SQLDatabase.from_uri(db_connection_string)
def get_table_names(db):
"""Retorna uma lista de nomes de tabelas no banco de dados."""
return db.get_table_names()
def get_column_names(db, table_name):
"""Retorna uma lista de nomes de colunas para uma tabela específica."""
return db.get_columns(table_name)
print("Nomes das tabelas:", get_table_names(db))
print("Nomes das colunas da tabela 'sua_tabela':", get_column_names(db, 'sua_tabela'))
Este código conecta ao MySQL e lista os nomes das tabelas e colunas.
llm = ChatGoogleGenerativeAI(model="gemini-pro", temperature=0.0, google_api_key=os.environ["GOOGLE_API_KEY"])
chain = create_sql_query_chain(llm, db)
pergunta = "Liste os 5 produtos mais caros."
query_sql = chain.invoke({"question": pergunta})
print("Query SQL gerada:", query_sql)
Este código usa o LangChain para gerar uma query SQL a partir de uma pergunta em linguagem natural.
def execute_query(db, query):
"""Executa uma query SQL no banco de dados e retorna os resultados."""
return db.run(query)
resultados = execute_query(db, query_sql)
print("Resultados da query:", resultados)
Este código executa a query SQL no banco de dados e imprime os resultados.
Dica: Adapte as queries e os comandos conforme a estrutura do seu banco de dados.
Espero ter ajudado. Conte com o apoio do Fórum na sua jornada. Fico à disposição.
Abraços e bons estudos!