Falta pouco!

0 dias

0 horas

0 min

0 seg

1
resposta

Agente acessando banco de dados MySQL existente

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?

1 resposta

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:

  • Instale as bibliotecas necessárias:

pip install langchain langchain-community mysql-connector-python
  • Configure a conexão com o banco de dados MySQL:

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.

  • Crie uma query SQL usando o LangChain:

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.

  • Execute a query no banco de dados e retorne os resultados:

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado