Uptrainは、生成的AIアプリケーションを評価および改善するためのオープンソース統合プラットフォームです。 20以上の事前に設定された評価(言語、コード、埋め込みユースケース)のグレードを提供し、障害ケースの根本原因分析を実行し、それらを解決する方法に関する洞察を提供します。
Uptrain Dashboardは、ローカルマシンで実行されるWebベースのインターフェイスです。ダッシュボードを使用して、LLMアプリケーションを評価し、結果を表示し、根本原因分析を実行できます。
応答の完全性、事実上の正確性、コンテキストの簡潔さなど、 20以上の事前に構成された評価のサポート。
すべての評価と分析はシステム上でローカルに実行され、データが安全な環境を離れないようにします(モデルグレーディングチェックの使用中のLLM呼び出しを除く)
Text-rembedding-3-Large/Small、Text-embedding-3-ADA、BAAI/BGE-LARGEなどのさまざまな埋め込みモデルを実験します。アップトレインは、エンドポイントでホストされているハギングフェイスモデル、エンドポイントの複製、またはカスタムモデルをサポートします。
ネガティブユーザーフィードバックまたは低評価スコアのいずれかのケースで根本原因分析を実行して、 LLMパイプラインのどの部分が最適ではない結果をもたらしているかを理解できます。サポートされているRCAテンプレートをご覧ください。
任意のスケールでホストされているOpenai、AzureのOpenaiのエンドポイント、または評価者として使用されるオープンソースLLMを使用することができます。
Uptrainは、評価をカスタマイズする方法を提供します。評価方法(Chain vs Classify)、少数のショットの例、およびシナリオの説明をカスタマイズできます。カスタム評価者を作成することもできます。
Uptrainダッシュボードは、LLMアプリケーションを評価できるWebベースのインターフェイスです。これは、地元のマシンで実行される自己ホストのダッシュボードです。ダッシュボードを使用するためにコードを記述する必要はありません。ダッシュボードを使用して、LLMアプリケーションを評価し、結果を表示し、根本原因分析を実行できます。
開始する前に、マシンにDockerをインストールしていることを確認してください。そうでない場合は、ここからインストールできます。
次のコマンドでは、Uptrainダッシュボードをダウンロードして、ローカルマシンで起動します。
# Clone the repository
git clone https://github.com/uptrain-ai/uptrain
cd uptrain
# Run UpTrain
bash run_uptrain.sh注: Uptrainダッシュボードは現在ベータ版です。それを改善するためにあなたのフィードバックが大好きです。
開発者であり、アップトレイン評価をアプリケーションに統合したい場合は、Uptrainパッケージを使用できます。これにより、LLMアプリケーションを評価するためのよりプログラム的な方法が可能になります。
pip install uptrainOpenAI APIキーを提供して評価を実行することにより、オープンソースバージョンを介して応答を評価できます。
from uptrain import EvalLLM , Evals
import json
OPENAI_API_KEY = "sk-***************"
data = [{
'question' : 'Which is the most popular global sport?' ,
'context' : "The popularity of sports can be measured in various ways, including TV viewership, social media presence, number of participants, and economic impact. Football is undoubtedly the world's most popular sport with major events like the FIFA World Cup and sports personalities like Ronaldo and Messi, drawing a followership of more than 4 billion people. Cricket is particularly popular in countries like India, Pakistan, Australia, and England. The ICC Cricket World Cup and Indian Premier League (IPL) have substantial viewership. The NBA has made basketball popular worldwide, especially in countries like the USA, Canada, China, and the Philippines. Major tennis tournaments like Wimbledon, the US Open, French Open, and Australian Open have large global audiences. Players like Roger Federer, Serena Williams, and Rafael Nadal have boosted the sport's popularity. Field Hockey is very popular in countries like India, Netherlands, and Australia. It has a considerable following in many parts of the world." ,
'response' : 'Football is the most popular sport with around 4 billion followers worldwide'
}]
eval_llm = EvalLLM ( openai_api_key = OPENAI_API_KEY )
results = eval_llm . evaluate (
data = data ,
checks = [ Evals . CONTEXT_RELEVANCE , Evals . FACTUAL_ACCURACY , Evals . RESPONSE_COMPLETENESS ]
)
print ( json . dumps ( results , indent = 3 ))ご質問がある場合は、Slackコミュニティに参加してください
ここで電話を予約して、アップトレインのメンテナーと直接相談してください。
| 評価します | 説明 |
|---|---|
| 応答の完全性 | 回答が指定された質問のすべての側面に回答したかどうかを評価します。 |
| 応答の簡潔さ | 生成された応答がどれほど簡潔であるか、または質問に追加の無関係な情報があるかどうかを評価します。 |
| 応答関連 | 生成されたコンテキストが指定された質問にどの程度関連性があるかを評価します。 |
| 応答の妥当性 | 生成された応答が有効かどうかの場合。情報が含まれている場合、応答は有効であると見なされます。 |
| 応答の一貫性 | 等級は、尋ねられた質問と提供されたコンテキストと同様に、応答がどれほど一貫しているか。 |
| 評価します | 説明 |
|---|---|
| コンテキスト関連 | グレードは、指定された質問にコンテキストがどれほど関連していたか。 |
| コンテキスト利用 | コンテキストで提供された情報を考慮して、指定された質問に対して生成された応答がどれほど完全であるかを評価します。 |
| 事実上の正確さ | 生成された応答が事実上正しいかどうかのグレードは、提供されたコンテキストによって接地されています。 |
| コンテキストの簡潔さ | 無関係な情報のために、元のコンテキストから引用された簡潔なコンテキストを評価します。 |
| コンテキストの再ランキング | 再検討されたコンテキストが元のコンテキストと比較されていることを評価します。 |
| 評価します | 説明 |
|---|---|
| 言語機能 | 応答における言語の質と有効性を評価し、明確さ、一貫性、簡潔さ、コミュニケーション全体などの要因に焦点を当てています。 |
| 調性 | 生成された応答が必要なペルソナのトーンと一致するかどうか |
| 評価します | 説明 |
|---|---|
| コード幻覚 | グレード生成された応答に存在するコードがコンテキストに基づいているかどうか。 |
| 評価します | 説明 |
|---|---|
| ユーザーの満足度 | グレードは、ユーザーの懸念に対処され、提供された会話に基づいて満足度を評価します。 |
| 評価します | 説明 |
|---|---|
| カスタムガイドライン | 回答を与える際に、LLMが提供されたガイドラインにどれだけうまく順守するかをガイドラインとグレードを指定できます。 |
| カスタムプロンプト | 独自の評価セットを作成できます。 |
| 評価します | 説明 |
|---|---|
| 応答マッチング | LLMによって生成された応答が、提供されたグラウンドトゥルースとどの程度適切に整合するかを比較します。 |
| 評価します | 説明 |
|---|---|
| 迅速な噴射 | グレードユーザーのプロンプトがLLMにシステムプロンプトを明らかにさせる試みであるかどうか。 |
| 脱獄の検出 | グレードユーザーのプロンプトが脱獄の試みであるかどうか(つまり、違法または有害な応答を生成します)。 |
| 評価します | 説明 |
|---|---|
| サブクエリの完全性 | ユーザーのクエリから生成されたすべてのサブ質問がまとめられ、ユーザーのクエリのすべての側面をカバーするかどうかを評価します |
| マルチクエリの精度 | 生成されたバリアントが元のクエリを正確に表すかどうかを評価します |
| フレームワークを評価します | LLMプロバイダー | LLMパッケージ | サービングフレームワーク | LLMの観測可能性 | ベクターDB |
|---|---|---|---|---|---|
| Openai Evals | Openai | llamaindex | オラマ | langfuse | qdrant |
| azure | 一緒にai | ヘリコン | ファイス | ||
| クロード | 任意のスケール | ゼノ | 彩度 | ||
| ミストラル | 複製します | ||||
| ハギングフェイス |
より多くの統合がまもなく行われます。特定の統合を念頭に置いている場合は、問題を作成してお知らせください。
GPT-4、GPT-3.5-Turbo、Claude-2.1などの最も人気のあるLLMは閉鎖されています。つまり、APIを介して露出しており、フードの下で何が起こるかについてはほとんど可視性がありません。迅速なドリフト(またはGPT-4が怠zyになる)と、モデルの品質の劣化を探求する研究作業の多くの報告された事例があります。このベンチマークは、固定データセットでの応答を評価することにより、モデルの動作の変化を追跡する試みです。
ここでベンチマークを見つけることができます。
過去8年間、MLおよびNLPモデルと協力してきたので、私たちはモデルに多くの隠れた障害に驚かされ、上昇トレインの構築につながりました。 Uptrainは、最初は、精度の回帰を識別するためのチェックを備えたML観測可能性ツールとして開始されました。
しかし、LLM開発者がさらに大きな問題に直面していることをすぐにリリースしました。LLMアプリケーションの精度を測定する良い方法はありません。
また、Openai Evalsのリリースも見られ、モデル応答を評価するためにLLMSの使用を提案しました。さらに、AnthropicがRLAIFをどのように活用し、LLM評価の研究にすぐに潜り込んだかを読んだ後、これにアプローチする自信を得ました(すぐにAwesome Aveluations Researchのリポジトリをリリースします)。
ですから、今日来て、アップトレインはLLMカオスに秩序をもたらし、コミュニティに貢献しようとする私たちの試みです。開発者の大多数は、いくつかのケースをレビューすることで直観に依存し、迅速な変更を生産していますが、「評価と改善」が空間が成熟するにつれてLLMエコシステムの重要な部分になると信じるのに十分な回帰ストーリーを聞いています。
堅牢な評価により、さまざまな構成を体系的に実験し、最良の選択を客観的に選択するのを支援することにより、回帰を防ぐことができます。
エンドユーザーが不満を漏らし、潜在的に解約するずっと前に、システムがどこに間違っているのかを理解し、根本原因を見つけて修正するのに役立ちます。
LLMアプリケーションの安全性とセキュリティを維持するには、迅速な注入や脱獄検出などの評価が不可欠です。
評価は、透明性を提供し、エンドユーザーとの信頼を築くのに役立ちます。特に、企業に販売している場合は特に関連性があります。
評価に関しては、万能のソリューションがないことを理解しています。開発者からの欲求が、評価プロンプトまたは選択肢のセット、またはいくつかのショットの例などを変更することをますます見ています。私たちは、20の異なるパラメーターを公開するのではなく、最高の開発者エクスペリエンスがオープンソースにあると考えています。
里親のイノベーション:LLM評価の分野とLLM-A-A-A-Judgeの使用は、まだかなり初期段階です。私たちは多くのエキサイティングな研究が起こっているのを見ています。ほぼ毎日、オープンソースであることは、私たちとコミュニティに適切なプラットフォームを提供し、それらのテクニックを実装し、より速く革新します。
私たちは継続的にアップトレインの強化に努めています。貢献できる方法はいくつかあります。
改善のための問題や領域に注意してください:何か間違ったものを見つけたり、強化のアイデアを持っている場合は、GitHubリポジトリに問題を作成してください。
直接貢献:問題が発生した場合は、修正またはコードの改善を提案することができます。リポジトリに直接貢献してください。
カスタム評価のリクエスト:アプリケーションがカスタマイズされた評価が必要な場合は、お知らせください。リポジトリに追加します。
ツールとの統合:既存のツールとの統合が必要ですか?手を差し伸べると、私たちはそれに取り組みます。
評価の支援:評価の支援が必要な場合は、Slackチャネルに質問を投稿してください。迅速に解決します。
あなたのサポートを示す:私たちの進歩を追跡するために、Githubで私たちを主演することによってあなたのサポートを見せてください。
言葉を広めます:あなたが私たちが構築したものが好きなら、Twitterで私たちに叫び声を与えてください!
あなたの貢献とサポートは大歓迎です! Uptrain's Journeyに参加してくれてありがとう。
このレポはApache 2.0ライセンスの下で公開されており、Uptrain Open-Sourceリポジトリに機能を追加することにコミットしています。また、より多くのハンドオフエクスペリエンスが必要な場合は、マネージドバージョンもあります。ここでデモ通話を予約してください。
私たちは公共の場で上向きを構築しています。ここであなたのフィードバックを与えることで、私たちが改善するのを手伝ってください。
アップトレインへの貢献を歓迎します。詳細については、寄付ガイドをご覧ください。