Supabase Tutorial
Dies wird von der Community gepflegt. Bitte melden Sie einen Fehler, wenn Sie auf einen stoßen https://github.com/BerriAI/litellm
Supabase ist eine Open-Source-Firebase-Alternative. Starten Sie Ihr Projekt mit einer Postgres-Datenbank, Authentifizierung, sofortigen APIs, Edge Functions, Echtzeit-Abos, Speicher und Vektor-Embeddings.
Verwenden Sie Supabase, um Anfragen zu protokollieren und die Gesamtausgaben über alle LLM-Anbieter hinweg anzuzeigen (OpenAI, Azure, Anthropic, Cohere, Replicate, PaLM)
liteLLM bietet success_callbacks und failure_callbacks, wodurch Sie ganz einfach Daten an einen bestimmten Anbieter senden können, abhängig vom Status Ihrer Antworten.
In diesem Fall möchten wir Anfragen in beiden Szenarien an Supabase protokollieren – wenn sie erfolgreich sind und wenn sie fehlschlagen.
Supabase-Tabelle erstellen
Gehen Sie zu Ihrem Supabase-Projekt > navigieren Sie zum Supabase SQL Editor und erstellen Sie eine neue Tabelle mit dieser Konfiguration.
Hinweis: Sie können den Tabellennamen ändern. Ändern Sie nur nicht die Spaltennamen.
create table
public.request_logs (
id bigint generated by default as identity,
created_at timestamp with time zone null default now(),
model text null default ''::text,
messages json null default '{}'::json,
response json null default '{}'::json,
end_user text null default ''::text,
status text null default ''::text,
error json null default '{}'::json,
response_time real null default '0'::real,
total_cost real null,
additional_details json null default '{}'::json,
litellm_call_id text unique,
primary key (id)
) tablespace pg_default;
Callbacks verwenden
Verwenden Sie nur 2 Codezeilen, um sofort Kosten anzuzeigen und Ihre Antworten **über alle Anbieter** hinweg mit Supabase zu protokollieren.
litellm.success_callback=["supabase"]
litellm.failure_callback=["supabase"]
Vollständiger Code
from litellm import completion
## set env variables
### SUPABASE
os.environ["SUPABASE_URL"] = "your-supabase-url"
os.environ["SUPABASE_KEY"] = "your-supabase-key"
## LLM API KEY
os.environ["OPENAI_API_KEY"] = ""
# set callbacks
litellm.success_callback=["supabase"]
litellm.failure_callback=["supabase"]
# openai call
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}],
user="ishaan22" # identify users
)
# bad call, expect this call to fail and get logged
response = completion(
model="chatgpt-test",
messages=[{"role": "user", "content": "Hi 👋 - i'm a bad call to test error logging"}]
)
Zusätzliche Steuerelemente
Endbenutzer identifizieren
Übergeben Sie user an litellm.completion, um Ihren LLM-Aufruf einem Endbenutzer zuzuordnen.
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}],
user="ishaan22" # identify users
)
Anderer Tabellenname
Wenn Sie Ihren Tabellennamen geändert haben, erfahren Sie hier, wie Sie den neuen Namen übergeben.
litellm.modify_integration("supabase",{"table_name": "litellm_logs"})
Support & Sprechen Sie mit den Gründern
- Demo buchen 👋
- Community Discord 💭
- Unsere Nummern 📞 +1 (770) 8783-106 / +1 (412) 618-6238
- Unsere E-Mails ✉️ ishaan@berri.ai / krrish@berri.ai