From 5c33d1c9af880dfe20821e6a0ee7458c19015ec1 Mon Sep 17 00:00:00 2001 From: Krish Dholakia Date: Thu, 3 Oct 2024 18:02:28 -0400 Subject: [PATCH] Litellm Minor Fixes & Improvements (10/03/2024) (#6049) * fix(proxy_server.py): remove spendlog fixes from proxy startup logic Moves https://github.com/BerriAI/litellm/pull/4794 to `/db_scripts` and cleans up some caching-related debug info (easier to trace debug logs) * fix(langfuse_endpoints.py): Fixes https://github.com/BerriAI/litellm/issues/6041 * fix(azure.py): fix health checks for azure audio transcription models Fixes https://github.com/BerriAI/litellm/issues/5999 * Feat: Add Literal AI Integration (#5653) * feat: add Literal AI integration * update readme * Update README.md * fix: address comments * fix: remove literalai sdk * fix: use HTTPHandler * chore: add test * fix: add asyncio lock * fix(literal_ai.py): fix linting errors * fix(literal_ai.py): fix linting errors * refactor: cleanup --------- Co-authored-by: Willy Douhard --- db_scripts/create_views.py | 2 + db_scripts/update_unassigned_teams.py | 27 ++ .../observability/literalai_integration.md | 119 +++++++ docs/my-website/img/literalai.png | Bin 0 -> 304639 bytes litellm/__init__.py | 1 + litellm/caching.py | 6 - litellm/integrations/literal_ai.py | 318 ++++++++++++++++++ litellm/litellm_core_utils/litellm_logging.py | 13 + litellm/llms/AzureOpenAI/azure.py | 4 +- litellm/proxy/_new_secret_config.yaml | 3 +- litellm/proxy/proxy_server.py | 7 - litellm/proxy/utils.py | 28 -- .../vertex_ai_endpoints/langfuse_endpoints.py | 1 + tests/local_testing/test_literalai.py | 72 ++++ 14 files changed, 557 insertions(+), 44 deletions(-) create mode 100644 db_scripts/update_unassigned_teams.py create mode 100644 docs/my-website/docs/observability/literalai_integration.md create mode 100644 docs/my-website/img/literalai.png create mode 100644 litellm/integrations/literal_ai.py create mode 100644 tests/local_testing/test_literalai.py diff --git a/db_scripts/create_views.py b/db_scripts/create_views.py index 1444ab96d..c42f67124 100644 --- a/db_scripts/create_views.py +++ b/db_scripts/create_views.py @@ -4,6 +4,7 @@ python script to pre-create all views required by LiteLLM Proxy Server import asyncio import os +from update_unassigned_teams import apply_db_fixes # Enter your DATABASE_URL here @@ -204,6 +205,7 @@ async def check_view_exists(): print("Last30dTopEndUsersSpend Created!") # noqa + await apply_db_fixes(db=db) return diff --git a/db_scripts/update_unassigned_teams.py b/db_scripts/update_unassigned_teams.py new file mode 100644 index 000000000..dc65e4c20 --- /dev/null +++ b/db_scripts/update_unassigned_teams.py @@ -0,0 +1,27 @@ +from prisma import Prisma + + +async def apply_db_fixes(db: Prisma): + try: + sql_query = """ + UPDATE "LiteLLM_SpendLogs" + SET team_id = ( + SELECT vt.team_id + FROM "LiteLLM_VerificationToken" vt + WHERE vt.token = "LiteLLM_SpendLogs".api_key + ) + WHERE team_id IS NULL + AND EXISTS ( + SELECT 1 + FROM "LiteLLM_VerificationToken" vt + WHERE vt.token = "LiteLLM_SpendLogs".api_key + ); + """ + response = await db.query_raw(sql_query) + print( + "Updated unassigned teams, Response=%s", + response, + ) + except Exception as e: + raise Exception(f"Error apply_db_fixes: {str(e)}") + return diff --git a/docs/my-website/docs/observability/literalai_integration.md b/docs/my-website/docs/observability/literalai_integration.md new file mode 100644 index 000000000..5a643ad47 --- /dev/null +++ b/docs/my-website/docs/observability/literalai_integration.md @@ -0,0 +1,119 @@ +import Image from '@theme/IdealImage'; + +# Literal AI - Log, Evaluate, Monitor + +[Literal AI](https://literalai.com) is a collaborative observability, evaluation and analytics platform for building production-grade LLM apps. + + + +## Pre-Requisites + +Ensure you have the `literalai` package installed: + +```shell +pip install literalai litellm +``` + +## Quick Start + +```python +import litellm +import os + +os.environ["LITERAL_API_KEY"] = "" +os.environ['OPENAI_API_KEY']= "" + +litellm.success_callback = ["literalai"] # Log Input/Output to LiteralAI +litellm.failure_callback = ["literalai"] # Log Errors to LiteralAI + +# openai call +response = litellm.completion( + model="gpt-3.5-turbo", + messages=[ + {"role": "user", "content": "Hi 👋 - i'm openai"} + ] +) +``` + +## Multi Step Traces + +This integration is compatible with the Literal AI SDK decorators, enabling conversation and agent tracing + +```py +import litellm +from literalai import LiteralClient +import os + +os.environ["LITERAL_API_KEY"] = "" +os.environ['OPENAI_API_KEY']= "" + +litellm.input_callback = ["literalai"] # Support other Literal AI decorators and prompt templates +litellm.success_callback = ["literalai"] # Log Input/Output to LiteralAI +litellm.failure_callback = ["literalai"] # Log Errors to LiteralAI + +literalai_client = LiteralClient() + +@literalai_client.run +def my_agent(question: str): + # agent logic here + response = litellm.completion( + model="gpt-3.5-turbo", + messages=[ + {"role": "user", "content": question} + ] + ) + return response + +my_agent("Hello world") + +# Waiting to send all logs before exiting, not needed in a production server +literalai_client.flush() +``` + +Learn more about [Literal AI logging capabilities](https://docs.literalai.com/guides/logs). + +## Bind a Generation to its Prompt Template + +This integration works out of the box with prompts managed on Literal AI. This means that a specific LLM generation will be bound to its template. + +Learn more about [Prompt Management](https://docs.literalai.com/guides/prompt-management#pull-a-prompt-template-from-literal-ai) on Literal AI. + +## OpenAI Proxy Usage + +If you are using the Lite LLM proxy, you can use the Literal AI OpenAI instrumentation to log your calls. + +```py +from literalai import LiteralClient +from openai import OpenAI + +client = OpenAI( + api_key="anything", # litellm proxy virtual key + base_url="http://0.0.0.0:4000" # litellm proxy base_url +) + +literalai_client = LiteralClient(api_key="") + +# Instrument the OpenAI client +literalai_client.instrument_openai() + +settings = { + "model": "gpt-3.5-turbo", # model you want to send litellm proxy + "temperature": 0, + # ... more settings +} + +response = client.chat.completions.create( + messages=[ + { + "content": "You are a helpful bot, you always reply in Spanish", + "role": "system" + }, + { + "content": message.content, + "role": "user" + } + ], + **settings + ) + +``` diff --git a/docs/my-website/img/literalai.png b/docs/my-website/img/literalai.png new file mode 100644 index 0000000000000000000000000000000000000000..eb7b82b962b2e700aa16b1ceca2723dbc8647540 GIT binary patch literal 304639 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