Erstellen Sie Ihren ersten LLM-Spielplatz
Erstellen Sie einen Playground, um mehrere LLM-Anbieter in weniger als 10 Minuten zu evaluieren. Wenn Sie dies in Produktion sehen möchten, schauen Sie sich unsere Website an.
Wie wird es aussehen?
Wie werden wir das tun?: Wir bauen den Server und verbinden ihn mit unserem Vorlagen-Frontend, was am Ende zu einer funktionierenden Playground-Oberfläche führt!
Stellen Sie vor dem Start sicher, dass Sie die Anleitung zur Umgebungs-Einrichtung befolgt haben. Bitte beachten Sie, dass dieses Tutorial davon ausgeht, dass Sie API-SchlĂĽssel von mindestens einem Modell-Anbieter (z.B. OpenAI) besitzen.
1. Schneller Start​
Stellen wir sicher, dass unsere SchlĂĽssel funktionieren. FĂĽhren Sie dieses Skript in jeder beliebigen Umgebung aus (z.B. Google Colab).
🚨 Vergessen Sie nicht, die Platzhalter-Schlüsselwerte durch Ihre Schlüssel zu ersetzen!
pip install litellm
from litellm import completion
## set ENV variables
os.environ["OPENAI_API_KEY"] = "openai key" ## REPLACE THIS
os.environ["COHERE_API_KEY"] = "cohere key" ## REPLACE THIS
os.environ["AI21_API_KEY"] = "ai21 key" ## REPLACE THIS
messages = [{ "content": "Hello, how are you?","role": "user"}]
# openai call
response = completion(model="gpt-3.5-turbo", messages=messages)
# cohere call
response = completion("command-nightly", messages)
# ai21 call
response = completion("j2-mid", messages)
2. Server einrichten​
Wir bauen eine einfache Flask-App als Backend-Server. Wir geben ihr eine spezielle Route fĂĽr unsere Abschlussaufrufe.
Notizen:
- 🚨 Vergessen Sie nicht, die Platzhalter-Schlüsselwerte durch Ihre Schlüssel zu ersetzen!
completion_with_retries: LLM API-Aufrufe können in der Produktion fehlschlagen. Diese Funktion umschließt den normalen litellm completion()-Aufruf mit tenacity, um den Aufruf im Falle eines Fehlers erneut zu versuchen.
LiteLLM spezifischer Ausschnitt
import os
from litellm import completion_with_retries
## set ENV variables
os.environ["OPENAI_API_KEY"] = "openai key" ## REPLACE THIS
os.environ["COHERE_API_KEY"] = "cohere key" ## REPLACE THIS
os.environ["AI21_API_KEY"] = "ai21 key" ## REPLACE THIS
@app.route('/chat/completions', methods=["POST"])
def api_completion():
data = request.json
data["max_tokens"] = 256 # By default let's set max_tokens to 256
try:
# COMPLETION CALL
response = completion_with_retries(**data)
except Exception as e:
# print the error
print(e)
return response
Der vollständige Code
import os
from flask import Flask, jsonify, request
from litellm import completion_with_retries
## set ENV variables
os.environ["OPENAI_API_KEY"] = "openai key" ## REPLACE THIS
os.environ["COHERE_API_KEY"] = "cohere key" ## REPLACE THIS
os.environ["AI21_API_KEY"] = "ai21 key" ## REPLACE THIS
app = Flask(__name__)
# Example route
@app.route('/', methods=['GET'])
def hello():
return jsonify(message="Hello, Flask!")
@app.route('/chat/completions', methods=["POST"])
def api_completion():
data = request.json
data["max_tokens"] = 256 # By default let's set max_tokens to 256
try:
# COMPLETION CALL
response = completion_with_retries(**data)
except Exception as e:
# print the error
print(e)
return response
if __name__ == '__main__':
from waitress import serve
serve(app, host="0.0.0.0", port=4000, threads=500)
Testen wir es​
Starten Sie den Server
python main.py
FĂĽhren Sie diesen curl-Befehl aus, um ihn zu testen
curl -X POST localhost:4000/chat/completions \
-H 'Content-Type: application/json' \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{
"content": "Hello, how are you?",
"role": "user"
}]
}'
Das sollten Sie sehen
3. Verbindung zu unserer Frontend-Vorlage​
3.1 Vorlage herunterladen​
Für unser Frontend verwenden wir Streamlit – dies ermöglicht es uns, eine einfache Python-Web-App zu erstellen.
Laden wir die von uns (LiteLLM) erstellte Playground-Vorlage herunter
git clone https://github.com/BerriAI/litellm_playground_fe_template.git
3.2 Ausführen​
Stellen Sie sicher, dass unser Server aus Schritt 2 immer noch auf Port 4000 läuft
Wenn Sie einen anderen Port verwendet haben, kein Problem – stellen Sie einfach sicher, dass Sie diese Zeile in der app.py Ihrer Playground-Vorlage ändern.
Lassen Sie uns nun unsere App ausfĂĽhren
cd litellm_playground_fe_template && streamlit run app.py
Wenn Sie Streamlit vermissen – installieren Sie es einfach mit pip (oder werfen Sie einen Blick auf die Installationsrichtlinien)
pip install streamlit
Das sollten Sie sehen
Herzlichen Glückwunsch 🚀
Sie haben Ihren ersten LLM Playground erstellt – mit der Möglichkeit, über 50 LLM-APIs aufzurufen.
Nächste Schritte