Ứng dụng chuyển đổi văn bản thành SQL và truy vấn cơ sở dữ liệu

Find AI Tools
No difficulty
No complicated process
Find ai tools

Ứng dụng chuyển đổi văn bản thành SQL và truy vấn cơ sở dữ liệu

Mục lục

  1. Giới thiệu
  2. Cấu trúc ứng dụng
  3. Tạo cơ sở dữ liệu SQLite
  4. Lấy câu truy vấn từ ngôn ngữ tự nhiên
  5. Thực hiện truy vấn SQL
  6. Hiển thị kết quả
  7. Cách sử dụng ứng dụng
  8. Ưu điểm
  9. Nhược điểm
  10. Tổng kết

1. Giới thiệu

Trong dự án này, chúng ta sẽ tạo một ứng dụng sử dụng Google Gemini Pro để chuyển đổi văn bản thành các câu truy vấn SQL và lấy dữ liệu từ cơ sở dữ liệu SQL. Ứng dụng này sẽ giúp giải quyết các vấn đề phổ biến trong các lĩnh vực khác nhau bằng cách sử dụng trí tuệ nhân tạo sinh tự động. Bài viết này sẽ hướng dẫn cách xây dựng ứng dụng từ đầu bằng ngôn ngữ lập trình Python.

2. Cấu trúc ứng dụng

Ứng dụng sẽ gồm các thành phần chính sau:

  • Kết nối với cơ sở dữ liệu SQLite để tạo và quản lý bảng dữ liệu.
  • Sử dụng Google Gemini Pro để chuyển đổi câu hỏi từ ngôn ngữ tự nhiên thành câu truy vấn SQL.
  • Thực thi câu truy vấn SQL và lấy dữ liệu từ cơ sở dữ liệu.
  • Hiển thị kết quả lên giao diện người dùng.

3. Tạo cơ sở dữ liệu SQLite

Trước tiên, chúng ta cần tạo cơ sở dữ liệu SQLite chứa bảng dữ liệu. Bảng dữ liệu sẽ có các cột như tên, lớp, phần và điểm số. Chúng ta có thể tạo cơ sở dữ liệu và chèn các bản ghi mẫu theo cách như sau:

import sqlite3

# Kết nối tới cơ sở dữ liệu SQLite
connection = sqlite3.connect('student.db')

# Tạo con trỏ để thực hiện các truy vấn
cursor = connection.cursor()

# Tạo bảng student với các cột name, class, section và marks
table_info = 'CREATE TABLE student (name TEXT, class TEXT, section TEXT, marks INTEGER)'
cursor.execute(table_info)

# Chèn dữ liệu mẫu
insert_data = "INSERT INTO student VALUES ('Kish', 'Data Science', 'A', 90), ('Sudhansu', 'Data Science', 'B', 100), ('Darius', 'Data Science', 'A', 86)"
cursor.execute(insert_data)

# Lưu các thay đổi vào cơ sở dữ liệu
connection.commit()

# Đóng kết nối
connection.close()

4. Lấy câu truy vấn từ ngôn ngữ tự nhiên

Tiếp theo, chúng ta cần tạo một hàm để lấy câu truy vấn SQL từ câu hỏi được nhập từ người dùng. Để làm điều này, chúng ta sử dụng Google Gemini Pro để sinh câu truy vấn từ mô hình dự đoán. Sau đó, chúng ta truy vấn cơ sở dữ liệu với câu truy vấn được sinh ra và trả về kết quả.

import gen_ai

def get_gemin_response(question, prompt):
    generative_model = gen_ai.GenerativeModel()
    generative_model.load()

    response = generative_model.generate_content(prompt, question)
    return response.text

5. Thực hiện truy vấn SQL

Tiếp theo, chúng ta sẽ viết một hàm để thực thi câu truy vấn SQL và lấy dữ liệu từ cơ sở dữ liệu. Hàm này nhận vào câu truy vấn và tên cơ sở dữ liệu, sau đó thực hiện truy vấn và trả về dữ liệu.

import sqlite3

def read_sql_query(sql, db):
    connection = sqlite3.connect(db)
    cursor = connection.cursor()

    cursor.execute(sql)
    rows = cursor.fetchall()

    connection.commit()
    connection.close()

    return rows

6. Hiển thị kết quả

Sau khi có kết quả từ câu truy vấn SQL, chúng ta sẽ hiển thị kết quả lên giao diện người dùng. Chúng ta có thể sử dụng thư viện Streamlit để tạo giao diện người dùng cho ứng dụng.

import streamlit as st

def main():
    st.title("Ứng dụng chuyển đổi câu hỏi thành câu truy vấn SQL")

    question = st.text_input("Nhập câu hỏi của bạn")
    if st.button("Xác nhận"):
        response = get_gemin_response(question, prompt)
        st.write(response)

        data = read_sql_query(response, 'student.db')
        st.subheader("Kết quả")
        for row in data:
            st.write(row)

if __name__ == "__main__":
    main()

7. Cách sử dụng ứng dụng

Để sử dụng ứng dụng, bạn chỉ cần nhập câu hỏi của mình vào ô văn bản và nhấn nút "Xác nhận". Ứng dụng sẽ sử dụng Google Gemini Pro để chuyển đổi câu hỏi thành câu truy vấn SQL, sau đó hiển thị kết quả từ cơ sở dữ liệu.

8. Ưu điểm

  • Tự động chuyển đổi câu hỏi từ ngôn ngữ tự nhiên thành câu truy vấn SQL, giúp giải quyết các vấn đề phổ biến.
  • Sử dụng trí tuệ nhân tạo sinh tự động để tạo ra các câu truy vấn phức tạp.
  • Giao diện người dùng đơn giản và dễ sử dụng.

9. Nhược điểm

  • Còn một số hạn chế về tính chính xác và hiệu suất của việc chuyển đổi câu hỏi thành câu truy vấn SQL.
  • Ứng dụng chỉ hỗ trợ cơ sở dữ liệu SQLite tại thời điểm hiện tại.

10. Tổng kết

Trong bài viết này, chúng ta đã tạo một ứng dụng sử dụng Google Gemini Pro để chuyển đổi câu hỏi từ ngôn ngữ tự nhiên thành câu truy vấn SQL và lấy dữ liệu từ cơ sở dữ liệu SQL. Chúng ta đã thực hiện việc tạo cơ sở dữ liệu SQLite, lấy câu truy vấn từ ngôn ngữ tự nhiên, thực hiện truy vấn SQL và hiển thị kết quả lên giao diện người dùng. Ứng dụng này có thể giúp giải quyết các vấn đề phổ biến trong các lĩnh vực khác nhau bằng cách sử dụng trí tuệ nhân tạo sinh tự động.

Most people like

Are you spending too much time looking for ai tools?
App rating
4.9
AI Tools
100k+
Trusted Users
5000+
WHY YOU SHOULD CHOOSE TOOLIFY

TOOLIFY is the best ai tool source.