可能な限り最小の LLM API。独自のコンテンツへの質問と回答のインターフェイスを数分で構築します。 Langchain 経由で OpenAI エンベディング、gpt-3.5 および Faiss を使用します。
source.json
という名前の単一の JSON ファイルを作成します。次のようになります。 [
{
"source" : " Reference to the source of your content. Typically a title. " ,
"url" : " URL for your source. This key is optional. " ,
"content" : " Your content as a single string. If there's a title or summary, put these first, separated by new lines. "
},
...
]
例については、 example.source.json
参照してください。
pip install microllama
OpenAI API キーを取得して環境に追加します (例: export OPENAI_API_KEY=sk-etc
。インデックス作成とクエリには OpenAI クレジットが必要ですが、これは無料ではないことに注意してください。
microllama
を使用してサーバーを実行します。ベクトル検索インデックスが存在しない場合は、 source.json
から作成され、保存されます。
/api/ask?your question でドキュメントをクエリします。
Microllama には、 microllama make-front-end
で生成されるオプションの Web フロントエンドが含まれています。このコマンドは、編集可能な単一のindex.html
ファイルを作成します。 /で提供されます。
Microllama は環境変数を通じて構成され、デフォルトは次のとおりです。
OPENAI_API_KEY
: 必須FAISS_INDEX_PATH
: "faiss_index"SOURCE_JSON
: "source.json"MAX_RELATED_DOCUMENTS
: "5"EXTRA_CONTEXT
: 「回答は 3 文以内にしてください。回答が文脈に含まれていない場合は、「申し訳ありませんが、私の情報源にはこれに対する回答がありません。」と言ってください。UVICORN_HOST
: "0.0.0.0"UVICORN_PORT
: "8080" microllama make-dockerfile
を使用して Dockerfile を作成します。それから:
Fly.io アカウントにサインアップし、flyctl をインストールします。それから:
fly launch # answer no to Postgres, Redis and deploying now
fly secrets set OPENAI_API_KEY=sk-etc
fly deploy
gcloud run deploy --source . --set-env-vars= " OPENAI_API_KEY=sk-etc "
Cloud Run やその他のサーバーレス プラットフォームの場合は、起動時間を短縮するために、コンテナのビルド時に FAISS インデックスを生成する必要があります。 Dockerfile
の 2 つのコメント行を参照してください。
これらのコマンドはmicrollama deploy
使用して生成することもできます。
SpacyTextSplitter(chunk_size=700, chunk_overlap=200, separator=" ")