Die kleinstmögliche LLM-API. Erstellen Sie in wenigen Minuten eine Frage- und Antwortschnittstelle für Ihre eigenen Inhalte. Verwendet OpenAI-Einbettungen, gpt-3.5 und Faiss, über Langchain.
source.json
. Es sollte so aussehen: [
{
"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. "
},
...
]
Ein Beispiel finden Sie unter example.source.json
.
pip install microllama
Holen Sie sich einen OpenAI-API-Schlüssel und fügen Sie ihn der Umgebung hinzu, z. B. export OPENAI_API_KEY=sk-etc
. Beachten Sie, dass für die Indizierung und Abfrage OpenAI-Credits erforderlich sind, die nicht kostenlos sind.
Betreiben Sie Ihren Server mit microllama
. Wenn kein Vektorsuchindex vorhanden ist, wird er aus Ihrer source.json
erstellt und gespeichert.
Fragen Sie Ihre Dokumente unter /api/ask?your questions ab.
Microllama enthält ein optionales Web-Frontend, das mit microllama make-front-end
generiert wird. Dieser Befehl erstellt eine einzelne index.html
Datei, die Sie bearbeiten können. Es wird um / serviert.
Microllama wird über Umgebungsvariablen mit den folgenden Standardeinstellungen konfiguriert:
OPENAI_API_KEY
: erforderlichFAISS_INDEX_PATH
: „faiss_index“SOURCE_JSON
: „source.json“MAX_RELATED_DOCUMENTS
: „5“EXTRA_CONTEXT
: „Antworten Sie in nicht mehr als drei Sätzen. Wenn die Antwort nicht im Kontext enthalten ist, sagen Sie „Entschuldigung, das ist in meinen Quellen keine Antwort darauf.““UVICORN_HOST
: „0.0.0.0“UVICORN_PORT
: „8080“ Erstellen Sie eine Docker-Datei mit microllama make-dockerfile
. Dann:
Eröffnen Sie ein Fly.io-Konto und installieren Sie flyctl. Dann:
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 "
Für Cloud Run und andere serverlose Plattformen sollten Sie den FAISS-Index zum Zeitpunkt der Containererstellung generieren, um die Startzeit zu verkürzen. Siehe die beiden kommentierten Zeilen in Dockerfile
.
Sie können diese Befehle auch mit microllama deploy
generieren.
SpacyTextSplitter(chunk_size=700, chunk_overlap=200, separator=" ")