hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Enables natural language queries to MySQL databases, allowing users to fetch data, list available tables, and read table contents using natural language commands, powered by XiYanSQL text-to-SQL technology.
Supports use of OpenAI models like GPT-3.5-turbo for processing natural language queries to SQL databases, configurable through the server settings.
目次
特徴
- 🌐 XiYanSQLを通じて自然言語でデータを取得する
- 🤖 一般的な LLM (GPT、qwenmax)、Text-to-SQL SOTA モデルをサポート
- 💻 純粋なローカル モードをサポートします (高いセキュリティ!)
- 📝 MySQL と PostgreSQL をサポートします。
- 🖱️ 利用可能なテーブルをリソースとして一覧表示する
- 🔧 表の内容を読む
プレビュー
建築
このサーバーをプロジェクトに統合する方法は2つあります。以下をご覧ください。左はリモートモードで、デフォルトのモードです。サービスプロバイダーからxiyanSQL-qwencoder-32BモデルにアクセスするにはAPIキーが必要です(設定を参照)。右はより安全なローカルモードで、APIキーは必要ありません。
ベストプラクティスとレポート
「コードを1行も書かずに、MCP + Modelscope API-Inferenceを使用してローカルデータアシスタントを構築する」
MCPBenchでの評価
以下の図は、MCPBenchベンチマークで測定したXiYan MCPサーバーのパフォーマンスを示しています。XiYan MCPサーバーは、MySQL MCPサーバーとPostgreSQL MCPサーバーの両方と比較して優れたパフォーマンスを示し、2~22パーセントポイントのリードを獲得しました。詳細な実験結果は、 MCPBenchおよびレポート「MCPサーバー評価レポート」でご覧いただけます。
ツールプレビュー
get_data
ツールは、データベースからデータを取得するための自然言語インターフェースを提供します。このサーバーは、組み込みモデルを使用して入力された自然言語をSQLに変換し、データベースを呼び出してクエリ結果を返します。{dialect}://{table_name}
リソースを使用すると、特定の table_name を指定すると、モデル参照用にデータベースからサンプル データの一部を取得できます。{dialect}://
リソースは現在のデータベースの名前をリストします
インストール
pipからインストールする
Python 3.11以降が必要です。pipを使ってサーバーをインストールすると、最新バージョンがインストールされます。
その後、次の方法でサーバーを直接実行できます。
ただし、以下の設定を完了するまでは、何も機能しません。ymlファイルが作成されます。その後、以下のコマンドでサーバーを起動できます。
Smithery.aiからのインストール
@XGenerationLab/xiyan_mcp_serverをご覧ください
完全にはテストされていません。
構成
サーバーを設定するには、YAML 設定ファイルが必要です。デフォルトの設定ファイルは config_demo.yml に用意されており、以下のような内容になっています。
LLM 構成
Name
は使用するモデルの名前、 key
はモデルのAPIキー、 url
モデルのAPI URLです。以下のモデルをサポートしています。
バージョン | 一般的なLLM(GPT、qwenmax) | ModelscopeによるSOTAモデル | DashscopeによるSOTAモデル | 地元の法学修士課程 |
---|---|---|---|---|
説明 | 基本的で使いやすい | 最高のパフォーマンス、安定、推奨 | 最高のパフォーマンス、トライアル用 | 遅い、高セキュリティ |
名前 | 公式モデル名(例:gpt-3.5-turbo、qwen-max) | XGenerationLab/XiYanSQL-QwenCoder-32B-2412 | xiyansql-qwencoder-32b | xiyansql-qwencoder-3b |
鍵 | サービスプロバイダーのAPIキー(例:OpenAI、Alibaba Cloud) | モデルスコープのAPIキー | APIキーをメールで受け取る | 「」 |
URL | サービスプロバイダーのエンドポイント(例:" https://api.openai.com/v1 ") | https://api-inference.modelscope.cn/v1/ | https://xiyan-stream.biz.aliyun.com/service/api/xiyan-sql | http://localhost:5090 |
一般法学修士
gpt3.5 などの一般的な LLM を使用する場合は、次のように直接設定できます。
Alibaba の Qwen (例: Qwen-max) を使用する場合は、次の設定を使用できます。
テキストからSQLへのSOTAモデル
テキストからSQLへの変換におけるSOTAモデルであるXiYanSQL-qwencoder-32B( https://github.com/XGenerationLab/XiYanSQL-QwenCoder )をお勧めします。Birdベンチマークを参照してください。このモデルの使用方法は2つあります。どちらでも使用できます。(1) Modelscope 、(2) Alibaba Cloud DashScope。
(1)モデルスコープ版
Modelscope から API 推論のkey
を適用する必要があります ( https://www.modelscope.cn/docs/model-service/API-Inference/intro )。その後、次の構成を使用できます。
詳細についてはモデルの説明をお読みください。
(2)ダッシュスコープバージョン
Alibaba Cloud DashScope にモデルをデプロイしたので、次の環境変数を設定する必要があります。 key
を取得するには、メールを送信してください。( godot.lzl@alibaba-inc.com ) メールには、次の情報を添付してください。
メールアドレスにkey
をお送りします。 key
ymlファイルに入力してください。 key
1ヶ月または200クエリ、もしくはその他の法的制限により有効期限が切れます。
注: このモデル サービスは試用版です。本番環境で使用する必要がある場合は、お問い合わせください。
あるいは、モデルXiYanSQL-qwencoder-32B を独自のサーバーにデプロイすることもできます。
ローカルモデル
注:ローカルモデルは遅いです(私のMacBookでは1クエリあたり約12秒)。安定した高速なサービスをご希望の場合は、modelscope版のご利用をお勧めします。
xiyan_mcp_serverをローカルモードで実行するには、
- 少なくとも16GBのRAMを搭載したPC/Mac
- 6GBのディスク容量
ステップ1: 追加のPythonパッケージをインストールする
ステップ2: (オプション) モデルを手動でダウンロードするxiyansql-qwencoder-3bを推奨します。モデルを手動でダウンロードするには、
6GBのディスク容量が必要になります。
ステップ 3: スクリプトをダウンロードしてサーバーを実行します。src/xiyan_mcp_server/local_xiyan_server.py
サーバーはhttp://localhost:5090/で実行されます。
ステップ 4: 構成を準備し、xiyan_mcp_server を実行します。config.yml は次のようになります。
現在、ローカルモードは準備ができています。
データベース構成
host
、 port
、 user
、 password
、 database
、データベースの接続情報です。
ローカルデータベースまたはリモートデータベースを使用できます。現在、MySQLとPostgreSQLをサポートしています(今後、他の言語にも対応予定です)。
MySQL
PostgreSQL
ステップ1: Pythonパッケージをインストールする
ステップ 2: config.yml を次のように準備します。
postgresql の場合、 dialect
はpostgresql
にする必要があることに注意してください。
打ち上げ
クロードデスクトップ
Claude Desktop の設定ファイルにこれを追加します。Claude Desktop の設定例を参照してください。
クライン
Claude Desktopのような設定を準備する
ガチョウ
設定に次のコマンドを追加します。Goose 設定例を参照してください。
カーソル
Gooseと同じコマンドを使用します。
ウィッツィー
コマンドに以下を追加します:
env: キーはYML、値はymlファイルへのパスを追加します。Witsyの設定例を参照してください。
それは機能しません!
連絡先: Ding Group钉钉群| Weibo でフォローしてください
引用
私たちの仕事が役に立つと思われたなら、遠慮なく引用してください。
This server cannot be installed
XiYanSQL テキストから SQL へのテクノロジを活用し、MySQL データベースへの自然言語クエリを可能にするモデル コンテキスト プロトコル サーバー。