From a3d9e34b262cf652375e9aed31460b6e50a0d79f Mon Sep 17 00:00:00 2001 From: colegottdank Date: Mon, 8 Jul 2024 13:56:53 -0700 Subject: [PATCH] Fix 2 --- README.md | 1 + docs/my-website/docs/getting_started.md | 1 + docs/my-website/docs/index.md | 1 + .../observability/helicone_integration.md | 36 ++++++++++++------- docs/my-website/sidebars.js | 2 +- docs/my-website/src/pages/index.md | 1 + 6 files changed, 29 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 6d26e92c2..fee0a186b 100644 --- a/README.md +++ b/README.md @@ -120,6 +120,7 @@ from litellm import completion ## set env variables for logging tools os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key" +os.environ["HELICONE_AUTH"] = "your-helicone-auth-key" os.environ["LANGFUSE_PUBLIC_KEY"] = "" os.environ["LANGFUSE_SECRET_KEY"] = "" os.environ["ATHINA_API_KEY"] = "your-athina-api-key" diff --git a/docs/my-website/docs/getting_started.md b/docs/my-website/docs/getting_started.md index edbdf3c00..c5381ed71 100644 --- a/docs/my-website/docs/getting_started.md +++ b/docs/my-website/docs/getting_started.md @@ -87,6 +87,7 @@ from litellm import completion ## set env variables for logging tools os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key" +os.environ["HELICONE_API_KEY"] = "your-helicone-key" os.environ["LANGFUSE_PUBLIC_KEY"] = "" os.environ["LANGFUSE_SECRET_KEY"] = "" diff --git a/docs/my-website/docs/index.md b/docs/my-website/docs/index.md index 762156f46..582be1dad 100644 --- a/docs/my-website/docs/index.md +++ b/docs/my-website/docs/index.md @@ -310,6 +310,7 @@ LiteLLM exposes pre defined callbacks to send data to Lunary, Langfuse, Helicone from litellm import completion ## set env variables for logging tools +os.environ["HELICONE_API_KEY"] = "your-helicone-key" os.environ["LANGFUSE_PUBLIC_KEY"] = "" os.environ["LANGFUSE_SECRET_KEY"] = "" os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key" diff --git a/docs/my-website/docs/observability/helicone_integration.md b/docs/my-website/docs/observability/helicone_integration.md index f7fd330c3..befb770d3 100644 --- a/docs/my-website/docs/observability/helicone_integration.md +++ b/docs/my-website/docs/observability/helicone_integration.md @@ -1,4 +1,4 @@ -# Helicone Tutorial +# 🧠 Helicone - OSS LLM Observability Platform :::tip @@ -7,47 +7,52 @@ https://github.com/BerriAI/litellm ::: - [Helicone](https://helicone.ai/) is an open source observability platform that proxies your OpenAI traffic and provides you key insights into your spend, latency and usage. ## Use Helicone to log requests across all LLM Providers (OpenAI, Azure, Anthropic, Cohere, Replicate, PaLM) -liteLLM provides `success_callbacks` and `failure_callbacks`, making it easy for you to send data to a particular provider depending on the status of your responses. -In this case, we want to log requests to Helicone when a request succeeds. +liteLLM provides `success_callbacks` and `failure_callbacks`, making it easy for you to send data to a particular provider depending on the status of your responses. + +In this case, we want to log requests to Helicone when a request succeeds. + +### Approach 1: Use Callbacks + +Use just 1 line of code, to instantly log your responses **across all providers** with helicone: -### Approach 1: Use Callbacks -Use just 1 line of code, to instantly log your responses **across all providers** with helicone: ```python litellm.success_callback=["helicone"] ``` Complete code + ```python from litellm import completion ## set env variables -os.environ["HELICONE_API_KEY"] = "your-helicone-key" +os.environ["HELICONE_API_KEY"] = "your-helicone-key" os.environ["OPENAI_API_KEY"], os.environ["COHERE_API_KEY"] = "", "" # set callbacks litellm.success_callback=["helicone"] #openai call -response = completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}]) +response = completion(model="gpt-3.5-turbo", messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}]) #cohere call -response = completion(model="command-nightly", messages=[{"role": "user", "content": "Hi 👋 - i'm cohere"}]) +response = completion(model="command-nightly", messages=[{"role": "user", "content": "Hi 👋 - i'm cohere"}]) ``` ### Approach 2: [OpenAI + Azure only] Use Helicone as a proxy + Helicone provides advanced functionality like caching, etc. Helicone currently supports this for Azure and OpenAI. -If you want to use Helicone to proxy your OpenAI/Azure requests, then you can - +If you want to use Helicone to proxy your OpenAI/Azure requests, then you can - -- Set helicone as your base url via: `litellm.api_url` -- Pass in helicone request headers via: `litellm.headers` +- Set helicone as your base url via: `litellm.api_url` +- Pass in helicone request headers via: `litellm.headers` Complete Code + ```python import litellm from litellm import completion @@ -62,3 +67,10 @@ response = litellm.completion( print(response) ``` + +### Group and visualize multi-step LLM interactions. + +Track request flows across multiple traces and gain insights into complex AI workflows by adding only 2 simple headers. + +- `Helicone-Session-Id` - The session id you want to track +- `Helicone-Session-Path` - The path of the session diff --git a/docs/my-website/sidebars.js b/docs/my-website/sidebars.js index 3f52111bd..2eaec7869 100644 --- a/docs/my-website/sidebars.js +++ b/docs/my-website/sidebars.js @@ -186,6 +186,7 @@ const sidebars = { type: "category", label: "Logging & Observability", items: [ + "observability/helicone_integration", "observability/langfuse_integration", "observability/logfire_integration", "debugging/local_debugging", @@ -202,7 +203,6 @@ const sidebars = { "observability/athina_integration", "observability/lunary_integration", "observability/greenscale_integration", - "observability/helicone_integration", "observability/supabase_integration", `observability/telemetry`, ], diff --git a/docs/my-website/src/pages/index.md b/docs/my-website/src/pages/index.md index 126e83688..308ed0831 100644 --- a/docs/my-website/src/pages/index.md +++ b/docs/my-website/src/pages/index.md @@ -304,6 +304,7 @@ LiteLLM exposes pre defined callbacks to send data to Lunary, Langfuse, Helicone from litellm import completion ## set env variables for logging tools +os.environ["HELICONE_API_KEY"] = "your-helicone-key" os.environ["LANGFUSE_PUBLIC_KEY"] = "" os.environ["LANGFUSE_SECRET_KEY"] = "" os.environ["LUNARY_PUBLIC_KEY"] = "your-lunary-public-key"