ホームページ >テクノロジー周辺機器 >AI >LMQLの紹介:SQLと大規模な言語モデルの間のブリッジ

LMQLの紹介:SQLと大規模な言語モデルの間のブリッジ

Lisa Kudrow
Lisa Kudrowオリジナル
2025-03-08 10:54:14841ブラウズ

An Introduction to LMQL: The Bridge Between SQL and Large Language Models

構造化されたクエリ言語であるSQLは、データベース管理の基礎であり、効率的なデータストレージ、検索、および操作を可能にします。 その広範な採用は、広大なデータセットの処理におけるシンプルさと有効性に由来しています。ただし、進化するデータランドスケープは新しい課題を導入します

人工知能モデルと大規模な言語モデル(LLMS)の台頭は強力なツールを提供しますが、それらとの対話は面倒です。 これは、LMQLが介入する場所です。

EthZürichのSRI Labによって開発されたLMQLは、開発者とLLMの間の橋渡しとして機能します。 SQLの構造化されたクエリパワーを言語モデルの世界にもたらし、相互作用を合理化し、効率を向上させます。 このチュートリアルカバー:

lmqlとは?

なぜLMQL?

を使用するのか
    lmql
  • のセットアップ
  • 実用的なlmqlアプリケーション
  • lmql制限
  • ベストプラクティス
  • lmqlとは?
  • LMQL、またはLanguage Models Query Languageは、LLMS向けに設計された新しいプログラミング言語です。 宣言的なSQLのような機能と命令的なスクリプト構文を組み合わせて、LLMSからの情報抽出と応答生成に対してより構造化されたアプローチを提供します。
  • 重要なことに、LMQLはPythonを拡張し、新しい機能を追加し、その機能を拡大します。 これにより、開発者はテキストとコードを組み込んだ自然言語プロンプトを作成し、クエリの柔軟性と表現力を高めることができます。 クリエイターが述べているように、LMQLはLLMインタラクションをプログラムコードにシームレスに統合し、従来のテンプレートを超えて移動します。 「言語モデルプロンプト」(LMP)のソリューションとして、「プロンプトはプログラミング:大規模な言語モデルのクエリ言語」(LMP)として紹介されました。
llmsは、質問の回答やコード生成などのタスクで優れており、入力確率に基づいて論理シーケンスを生成します。 LMPは、言語の指示または例を使用してタスクをトリガーすることにより、これを活用します。 高度な手法では、ユーザー、モデル、および外部ツール間の相互作用も可能になります。

この課題は、最適なパフォーマンスを達成したり、特定のタスクのLLMを調整することにあります。多くの場合、アドホックの相互作用に依存する可能性のある複雑でタスク固有のプログラムが必要です。 LMQLは、テキストプロンプトとスクリプトの直感的なブレンドを提供し、ユーザーがLLM出力の制約を定義できるようにすることにより、これに対処します。

なぜLMQL?

を使用するのか

最新のLLMは概念的に促すことができますが、潜在能力を最大化し、新しいモデルに適応するには、内部の仕組みとベンダー固有のツールを深く理解する必要があります。 特定の単語やフレーズへの出力を制限するなどのタスクは、トークン化により複雑になる可能性があります。 さらに、LLMを使用することは、ローカルでもAPI経由でも、サイズのために高価です。

lmqlはこれらの問題を軽減します。事前定義された動作と検索制約を活用することにより、LLMコールを削減します。 また、ユーザーとモデルまたは特殊なインターフェイス間の反復通信を伴うことが多いプロンプトテクニックを簡素化します。 LMQLの制約機能は、生産環境にとって重要であり、予測可能で処理可能な出力を確保しています。 たとえば、センチメント分析では、LMQLは、より冗長ではなく、「ポジティブ」、「ネガティブ」、または「ニュートラル」などの一貫した出力を保証します。 人間の読み取り可能な制約は、モデルトークンで直接作業する必要性を置き換えます。

lmql

のセットアップ

lmqlはローカルにインストールしたり、オンラインの遊び場IDEを介してアクセスできます。トランスまたはllama.cppを使用した自己ホストモデルには、ローカルインストールが必要です。

インストールと環境のセットアップ

ローカルインストールは簡単です:

Pytorch> = 1.11:

を使用したGPUサポートの場合
pip install lmql
仮想環境を使用することをお勧めします。

LMQLプログラムを実行する3つの方法が存在します:

pip install lmql[hf]

プレイグラウンド:

ブラウザベースのIDE(node.jsが必要)を起動します。アクセス
    https://www.php.cn/link/4a914e5c38172ae9b61780ffbd0b2ff90
  1. 自動的に起動していない場合 command-line:lmql playgroundlocalファイルを実行します。
  2. python統合:インポートlmql runを使用して、.lmqlまたは
  3. デコレーターを使用します。
  4. 遊び場またはコマンドラインでローカル変圧器モデルを使用する場合、lmql。 LMQL Syntaxを理解lmql.run@lmql.query
  5. LMQLプログラムには5つの重要な部分があります

lmql serve-modelクエリ:

ユーザーとLLMの間の主要な通信方法。 生成されたテキストには

、および可変検索には

に使用します。

デコーダー:
    デコードアルゴリズム(たとえば、ビーム検索)を指定します。クエリ内または外部(pythonで)内で定義できます。
  • モデル:[varname]lmqlはさまざまなモデル(Openai、llama.cpp、Huggingface Transformers)をサポートしています。 モデルは{varname}を使用してロードされ、外部的または
  • 句を使用してクエリに渡されます。
  • 制約:さまざまな制約(停止フレーズ、データ型、文字/トークンの長さ、regex、カスタム制約)を使用したLLM出力を制御します。
  • 配布:出力形式と構造を定義します lmql.model(...) lmqlの制限とコミュニティサポートfrom
  • LMQLの相対的な新しさは、小さなコミュニティと包括的なドキュメントにつながります。 Openai APIの制限は、ChatGPTなどの特定のモデルで完全な使用率を制限します。 ただし、進行中の開発により改善が約束されています

    結論

    LMQLは、LLMとの相互作用に対する強力でSQLに触発されたアプローチを提供します。 Pythonの統合と制約機能により、さまざまなアプリケーションにとって貴重なツールになります。 さらに学習するには、Llamaindex、ChatGpt Alternatives、Pytorch、Langchain、およびCohere APIでのLLMトレーニングのリソースを探索します。

以上がLMQLの紹介:SQLと大規模な言語モデルの間のブリッジの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。