DeepSeek APIを活用したSQL最適化ツールの構築

DeepSeek APIキーの取得手順

1. DeepSeek公式サイトへのアクセス

以下のURLから公式サイトにアクセスします:

https://www.deepseek.com/

2. APIキーの作成

生成されたAPIキーは以下の通りです:

sk-dbd3e5790bab4e5ea244f2a535af7665

3. 本人確認とチャージ

API呼び出しには本人確認手続きとチャージが必要です。ここでは10元をチャージしました。

4. 環境変数の設定

Windows環境での環境変数追加コマンド:

setx DEEPSEEK_API_KEY "sk-dbd3e5790bab4e5ea244f2a535af7665"

AIによるコード生成プロセス

1. プロンプトの内容

Gradioを使用してページを実装し、2つの入力フィールドを設けます。一方はテーブル構造の入力用、もう一方はSQL文の入力用です。DeepSeek APIを呼び出して文を分析し、APIキー変数名はDEEPSEEK_API_KEYで値はsk-dbd3e5790bab4e5ea244f2a535af7665です。出力フィールドには最適化結果を表示します。MySQL接続は不要で、単一ファイルで実装してください。DeepSeek APIの呼び出し方法は以下の通りです:

# OpenAI SDKのインストールが必要:`pip3 install openai`

from openai import OpenAI

client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")

response = client.chat.completions.create(
    model="deepseek-chat",
    messages=[
        {"role": "system", "content": "You are a helpful assistant"},
        {"role": "user", "content": "Hello"},
    ],
    stream=False
)

print(response.choices[0].message.content)

2. 生成されたコード

import gradio as gr
from openai import OpenAI

# DeepSeek APIキーの設定
API_KEY_VALUE = "sk-dbd3e5790bab4e5ea244f2a535af7665"

# OpenAIクライアントの初期化
openai_client = OpenAI(api_key=API_KEY_VALUE, base_url="https://api.deepseek.com")

def refine_query(structure_info, query_text):
    # DeepSeekに送信するメッセージを構築
    message_content = f"テーブル構造:{structure_info}。以下のSQLクエリを最適化してください:{query_text}"
    
    try:
        # DeepSeek APIの呼び出し
        api_response = openai_client.chat.completions.create(
            model="deepseek-chat",
            messages=[
                {"role": "system",
                 "content": "提供されたテーブル構造に基づいてSQLクエリを最適化するアシスタントです。"},
                {"role": "user", "content": message_content}
            ],
            stream=False
        )
        # 最適化されたクエリを抽出
        refined_result = api_response.choices[0].message.content
        return refined_result
    except Exception as error:
        return f"エラーが発生しました: {str(error)}"

# Gradioインターフェースの構築
with gr.Blocks() as interface_app:
    gr.Markdown("### SQL最適化ユーティリティ")
    with gr.Row():
        table_schema_field = gr.Textbox(label="テーブル構造", lines=5, placeholder="テーブル構造情報を入力してください")
        query_field = gr.Textbox(label="SQLクエリ", lines=5, placeholder="SQLクエリを入力してください")
    
    execute_optimization_btn = gr.Button("クエリ最適化")
    result_output = gr.Textbox(label="最適化結果", lines=5)

    # ボタンクリックイベントのバインド
    execute_optimization_btn.click(
        fn=refine_query,
        inputs=[table_schema_field, query_field],
        outputs=result_output
    )

if __name__ == "__main__":
    interface_app.launch()

3. Pythonのインストール

WindowsへのPythonインストール手順:

(1) 公式サイトからインストーラーをダウンロード

https://www.python.org/

(2) インストールの実行

コマンドプロンプトを開き、以下を実行:

python

4. PyCharmのセットアップ

(1) 公式サイトからダウンロード

https://www.jetbrains.com.cn/pycharm/

(2) インストールの実行

5. PyCharmの起動

6. コードの貼り付け

7. アプリケーションの実行

必要な依存関係をインポートしてからコードを実行します。

8. 動作確認

アプリケーションのアクセスURL:

http://127.0.0.1:7860

テストデータ:

CREATE TABLE Users(id INTEGER PRIMARY KEY,name TEXT,age INTEGER);
SELECT * FROM Users WHERE age > 18;

タグ: DeepLearning sql-optimization Gradio openai-api Python

7月9日 18:44 投稿