Supabase 教程
tip
这是社区维护的内容,如果您遇到错误,请提交问题 https://github.com/BerriAI/litellm
Supabase 是一个开源的 Firebase 替代品。 使用 Postgres 数据库、身份验证、即时 API、边缘函数、实时订阅、存储和向量嵌入启动您的项目。
使用 Supabase 记录请求并查看所有 LLM 提供商的总花费(OpenAI、Azure、Anthropic、Cohere、Replicate、PaLM)
liteLLM 提供了 success_callbacks
和 failure_callbacks
,使您能够根据响应的状态轻松将数据发送到特定提供商。
在这种情况下,我们希望在成功和失败的情况下都将请求记录到 Supabase。
创建一个 Supabase 表
转到您的 Supabase 项目 > 转到 Supabase SQL 编辑器 并使用此配置创建一个新表。
注意:您可以更改表名。只需不要更改列名。
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;
使用回调
只需两行代码,即可立即查看成本并使用 Supabase 记录您的响应 跨所有提供商:
litellm.success_callback=["supabase"]
litellm.failure_callback=["supabase"]
完整代码
from litellm import completion
## 设置环境变量
### SUPABASE
os.environ["SUPABASE_URL"] = "your-supabase-url"
os.environ["SUPABASE_KEY"] = "your-supabase-key"
## LLM API KEY
os.environ["OPENAI_API_KEY"] = ""
# 设置回调
litellm.success_callback=["supabase"]
litellm.failure_callback=["supabase"]
# openai 调用
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}],
user="ishaan22" # 识别用户
)
# 错误的调用,预期此调用会失败并被记录
response = completion(
model="chatgpt-test",
messages=[{"role": "user", "content": "Hi 👋 - i'm a bad call to test error logging"}]
)
额外控制
识别最终用户
将 user
传递给 litellm.completion
以将您的 LLM 调用映射到最终用户
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}],
user="ishaan22" # 识别用户
)
不同的表名
如果您修改了表名,请按如下方式传递新名称。
litellm.modify_integration("supabase",{"table_name": "litellm_logs"})
支持并与创始人交流
- 安排演示 👋
- 社区 Discord 💭
- 我们的电话号码 📞 +1 (770) 8783-106 / +1 (412) 618-6238
- 我们的电子邮件 ✉️ ishaan@berri.ai / krrish@berri.ai