Генеративный ИИ с базой данных SQL: Персональный чатбот разработчика SQL
Написание множества SQL-запросов для получения информации из базы данных отнимает много времени и сил.
Теперь искусственный интеллект способен экспоненциально повысить уровень производительности SQL-разработчиков.
В этой статье я покажу вам, как можно создать собственный чат-бот с искусственным интеллектом, который, получив запрос (что вы хотите), напишет и выполнит SQL-запрос и предоставит вам результаты из базы данных.
Я постараюсь сделать все как можно проще.
Импорт зависимостей
from langchain.sql_database import SQLDatabase
from langchain_experimental.sql import SQLDatabaseChain
from langchain.llms import OpenAI
from langchain.agents import Tool
from sqlalchemy import create_engine, MetaData, Table, select
Подключение к базе данных My SQL
Настройте учетные данные My SQL и интегрируйте его с python. Создайте строку соединения с бд и передайте ее в функцию create_engine.
username = 'user_name'
password = 'your_password'
host = 'localhost'
port = 'port_name'
database_name = 'your_db'
connection_string = f"mysql+mysqlconnector://{username}:{password}@{host}:{port}/{database_name}”
engine = create_engine(connection_string)
metadata = MetaData()
metadata.reflect(bind=engine)
Интеграция SQL с LLM с помощью LangChain
Настройте модель LLM. Передайте объект engine классу Langchain SQLDatabase. Используйте SQLDatabaseChain для сбора всех данных.
llm = OpenAI(model_name='gpt-3.5-turbo', openai_api_key='your_api_key', temperature = 0.7)
db = SQLDatabase(engine)
sql_chain = SQLDatabaseChain(llm=llm, database=db, verbose=True)
Сформировать запрос
Вы можете задать запрос, который вернет полученную информацию, а также SQL-запрос.
sql_chain.run("Can you please tell me the phone number of Anas")
Разве это не здорово? Дайте мне знать в разделе комментариев ниже.
Эта штука открывает столько возможностей, которые раньше были недоступны. Следите за мной здесь, вы будете получать уведомления о каждой моей публикации.
🙏 Спасибо, что читаете 👀. До скорой встречи👋.