FastGPTは、Circle Cloudチームによって開発されたLLMモデルに基づく知識ベースQ&Aシステムで、すぐに使えるデータ処理やモデルの呼び出しなどを提供します。FastGPTはGithubで19.4kスターを獲得しています。
Silicon FlowのSiliconCloudは、独自のアクセラレーションエンジンを持つ大規模なモデルクラウドサービスプラットフォームであり、SiliconCloudは、ユーザーが低コストかつ高速な方法でオープンソースモデルをテストし、使用するのに役立ちます。実際の経験では、彼らのモデルの速度と安定性は非常に優れており、言語、ベクトル、並べ替え、TTS、STT、マッピング、ビデオ生成などの数十のモデルをカバーする豊富なバリエーションがあり、FastGPTのすべてのモデルニーズを満たすことができます。
この記事は、FastGPTチームによって書かれたチュートリアルで、SiliconCloudモデルのみを使用してローカル開発でFastGPTをデプロイするソリューションを紹介します。
1 SiliconCloud Platform API キーの取得
- シリコンクラウドのウェブサイトを開き、アカウントの登録/サインインを行う。
- 登録完了後、API Keyを開き、新しいAPI Keyを作成し、将来使用するためにキーをクリックしてコピーします。
2 FastGPT 環境変数の変更
OPENAI_BASE_URL=https://api.siliconflow.cn/v1 # 填写 SiliconCloud 控制台提供的 Api Key CHAT_API_KEY=sk-xxxxxx
FastGPT 開発および配備に関する文書: https://doc.fastgpt.cn
3 FastGPT 設定ファイルの変更
SiliconCloudのモデルはFastGPTの構成として選択された。ここでは、Qwen2.5 72bを純粋な言語モデルと視覚モデルで構成し、ベクトルモデルとしてbge-m3を選択し、並べ替えモデルとしてbge-reranker-v2-m3を選択している。音声モデルにはfish-speech-1.5を、音声入力モデルにはSenseVoiceSmallを選択する。
注:ReRankモデルは、APIキーで一度設定する必要があります。
{ "llmModels": [ { "provider": "Other", // 模型提供商,主要用于分类展示,目前已经内置提供商包括:https://github.com/labring/FastGPT/blob/main/packages/global/core/ai/provider.ts, 可 pr 提供新的提供商,或直接填写 Other "model": "Qwen/Qwen2.5-72B-Instruct", // 模型名(对应OneAPI中渠道的模型名) "name": "Qwen2.5-72B-Instruct", // 模型别名 "maxContext": 32000, // 最大上下文 "maxResponse": 4000, // 最大回复 "quoteMaxToken": 30000, // 最大引用内容 "maxTemperature": 1, // 最大温度 "charsPointsPrice": 0, // n积分/1k token(商业版) "censor": false, // 是否开启敏感校验(商业版) "vision": false, // 是否支持图片输入 "datasetProcess": true, // 是否设置为文本理解模型(QA),务必保证至少有一个为true,否则知识库会报错 "usedInClassify": true, // 是否用于问题分类(务必保证至少有一个为true) "usedInExtractFields": true, // 是否用于内容提取(务必保证至少有一个为true) "usedInToolCall": true, // 是否用于工具调用(务必保证至少有一个为true) "usedInQueryExtension": true, // 是否用于问题优化(务必保证至少有一个为true) "toolChoice": true, // 是否支持工具选择(分类,内容提取,工具调用会用到。) "functionCall": false, // 是否支持函数调用(分类,内容提取,工具调用会用到。会优先使用 toolChoice,如果为false,则使用 functionCall,如果仍为 false,则使用提示词模式) "customCQPrompt": "", // 自定义文本分类提示词(不支持工具和函数调用的模型 "customExtractPrompt": "", // 自定义内容提取提示词 "defaultSystemChatPrompt": "", // 对话默认携带的系统提示词 "defaultConfig": {}, // 请求API时,挟带一些默认配置(比如 GLM4 的 top_p) "fieldMap": {} // 字段映射(o1 模型需要把 max_tokens 映射为 max_completion_tokens) }, { "provider": "Other", "model": "Qwen/Qwen2-VL-72B-Instruct", "name": "Qwen2-VL-72B-Instruct", "maxContext": 32000, "maxResponse": 4000, "quoteMaxToken": 30000, "maxTemperature": 1, "charsPointsPrice": 0, "censor": false, "vision": true, "datasetProcess": false, "usedInClassify": false, "usedInExtractFields": false, "usedInToolCall": false, "usedInQueryExtension": false, "toolChoice": false, "functionCall": false, "customCQPrompt": "", "customExtractPrompt": "", "defaultSystemChatPrompt": "", "defaultConfig": {} } ], "vectorModels": [ { "provider": "Other", "model": "Pro/BAAI/bge-m3", "name": "Pro/BAAI/bge-m3", "charsPointsPrice": 0, "defaultToken": 512, "maxToken": 5000, "weight": 100 } ], "reRankModels": [ { "model": "BAAI/bge-reranker-v2-m3", // 这里的model需要对应 siliconflow 的模型名 "name": "BAAI/bge-reranker-v2-m3", "requestUrl": "https://api.siliconflow.cn/v1/rerank", "requestAuth": "siliconflow 上申请的 key" } ], "audioSpeechModels": [ { "model": "fishaudio/fish-speech-1.5", "name": "fish-speech-1.5", "voices": [ { "label": "fish-alex", "value": "fishaudio/fish-speech-1.5:alex", "bufferId": "fish-alex" }, { "label": "fish-anna", "value": "fishaudio/fish-speech-1.5:anna", "bufferId": "fish-anna" }, { "label": "fish-bella", "value": "fishaudio/fish-speech-1.5:bella", "bufferId": "fish-bella" }, { "label": "fish-benjamin", "value": "fishaudio/fish-speech-1.5:benjamin", "bufferId": "fish-benjamin" }, { "label": "fish-charles", "value": "fishaudio/fish-speech-1.5:charles", "bufferId": "fish-charles" }, { "label": "fish-claire", "value": "fishaudio/fish-speech-1.5:claire", "bufferId": "fish-claire" }, { "label": "fish-david", "value": "fishaudio/fish-speech-1.5:david", "bufferId": "fish-david" }, { "label": "fish-diana", "value": "fishaudio/fish-speech-1.5:diana", "bufferId": "fish-diana" } ] } ], "whisperModel": { "model": "FunAudioLLM/SenseVoiceSmall", "name": "SenseVoiceSmall", "charsPointsPrice": 0 } }
4 FastGPT を再起動する
5 経験値テスト
対話と絵の認識テスト
新しいシンプルなアプリケーションを作成し、対応するモデルを選択し、画像のアップロードをオンにしてテストしてください。
ご覧のように、72Bのモデルは、パフォーマンスが非常に高速であり、いくつかのローカル4090がない場合は、環境の構成は言うまでもありませんが、私は出力が30秒かかることを恐れている。
ナレッジベースのインポートとナレッジベースクイズのテスト
新しい知識ベースを作成します(ベクトルモデルが1つしか設定されていないため、ベクトルモデルの選択はページに表示されません)。
ローカルファイルをインポートするには、ファイルを選択し、nextまで進みます。さて、ナレッジベースのクイズをテストしてみよう。
まず、先ほど作成したアプリケーションに戻り、Knowledge Baseを選択し、パラメータを調整してダイアログを開始する。
ダイアログが完了したら、引用の詳細を表示し、特定の検索と並べ替えのスコアを表示するには、下部にある引用をクリックします。
音声再生のテスト
先程のアプリに引き続き、設定の左側にある「Voice Play」を見つけてクリックし、ポップアップウィンドウから音声モデルを選択して試してみてください。
テスト言語入力
先程のアプリの左側の設定から音声入力を見つけてクリックし、ポップアップウィンドウから言語入力を有効にする。
オンにすると、ダイアログの入力ボックスにマイクのアイコンが追加され、それをクリックすることで音声入力が可能になる。
概要
オープンソースモデルを素早く体験したい、FastGPTを素早く使いたい、様々なサービスプロバイダにAPI Keyを申請したくないという方は、SiliconCloudのモデルを選んで素早く体験することができます。