KorRyu3 / TriPal

LLM service that offers travel plans
3 stars 0 forks source link

Azure SQL DBに入出力とtokenを記録する #34

Closed KorRyu3 closed 8 months ago

KorRyu3 commented 8 months ago

概要

Azure SQL DBに会話の入出力と各セッションのtokenを記録し、ユーザーの動向を調査できるようにしました。

ログ自体は、Azure SQL DBの"クエリ エディター"から見ることができます。

変更点

Microsoft ODBCのドライバをインストール

Azure SQL DBに接続するために必要なパッケージ・ドライバを追加したので、pip install -r requirements.txtを行ってください。

また、プログラムをローカルで動かす場合は、環境毎のMicrosoft ODBCドライバをインストールする必要があります。 ドライバのバージョンは、18です。 https://learn.microsoft.com/ja-jp/azure/azure-sql/database/connect-query-python?view=azuresql

# macOS
https://learn.microsoft.com/ja-jp/sql/connect/odbc/linux-mac/install-microsoft-odbc-driver-sql-server-macos?view=sql-server-ver16

# Homebrewがない場合
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
# 共通
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools18

# Windows
# CPUアーキテクチャに合わせてインストーラを選択してください
https://learn.microsoft.com/ja-jp/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16

# Linux
# Linuxディストリビューションに合わせてインストーラを選択してください
https://learn.microsoft.com/ja-jp/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=alpine18-install%2Calpine17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline

入出力とtokenをINSERTするためのクエリを記述

Azure SQL DBではTQL(Transact-SQL)が使われているので、それに合わせてINSERTするクエリを書きました。

テーブルの構造自体はlog_ER.drawioに描いてあるので、確認しておいてください。

DockerのDebian用にドライバをインストール

DockerからMS ODBCに接続できるように、色々インストールしています。

公式通りやっても上手く行かなかったので、issueとか見ながらやりました。

その他