ドキュメント再編の一環として、このページは段階的に廃止されます。
このカードをクリックして、最新情報が含まれる更新版にリダイレクトしてください。
新しいドキュメントに不一致や改善が必要な箇所を見つけた場合は、ページ下部の「問題を報告」ボタンを使用してください。
validate_provider_credential
を実装する必要はありません。Runtimeは、ユーザーが選択したモデルタイプまたはモデル名に基づいて、対応するモデルレイヤのvalidate_credentials
メソッドを自動的に呼び出して検証します。
llm
やtext_embedding
など)に応じて、コードファイルを作成します。各モデルタイプが独立した論理構造を持つようにすることで、保守と拡張が容易になります。
/provider
パスに、xinference.yaml
ファイルを作成します。
Xinference
は、LLM
、Text Embedding
、Rerank
のモデルタイプをサポートしているため、xinference.yaml
ファイルにこれらのモデルタイプを含める必要があります。
サンプルコード:
provider_credential_schema
フィールドを定義します。Xinference
は、text-generation、embeddings、rerankingモデルをサポートしています。サンプルコードを以下に示します。
model_name
という名前を定義する必要があります。
/models
パスに各モデルタイプの独立したグループを作成し、対応する機能コードファイルを作成する必要があります。
以下では、llmタイプを例に、llm.py
コードファイルの作成方法を説明します。コードを作成する際には、Xinference LLMクラスを作成する必要があります。名前はXinferenceAILargeLanguageModel
とし、__base.large_language_model.LargeLanguageModel
基底クラスを継承し、以下のメソッドを実装します。
yield
キーワードが含まれている場合、その関数はジェネレータ関数として認識され、戻り値の型はGenerator
に固定されます。したがって、同期戻り値とストリーミング戻り値をそれぞれ実装する必要があります。例えば、以下のサンプルコードを参照してください。
この例では、パラメータが簡略化されています。実際のコードを記述する際には、上記のパラメータリストを参照してください。
self._get_num_tokens_by_gpt2(text: str)
メソッドを使用してトークンを計算できます。このメソッドはAIModel
基底クラスにあり、GPT-2のTokenizerを使用して計算を行います。ただし、あくまで代替手段であり、計算結果には誤差が生じる可能性があることに注意してください。
max_tokens
、temperature
、top_p
の3つのモデルパラメータをサポートしています。ただし、サプライヤによっては、モデルごとに異なるパラメータをサポートする場合があります(例:OpenLLM)。
例として、サプライヤOpenLLM
のモデルAはtop_k
パラメータをサポートしていますが、モデルBはサポートしていません。この場合、各モデルに対応するパラメータスキーマを動的に生成する必要があります。以下にサンプルコードを示します。
InvokeError
タイプにマッピングする必要があります。これは、Difyが異なるエラーに対して異なる後続処理を実行できるようにするためです。
Runtime Errors: