Spaces:
Configuration error
Configuration error
# Helicone Tutorial | |
[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. | |
### Approach 1: Use Callbacks | |
Use just 1 line of code, to instantly log your responses **across all providers** with helicone: | |
``` | |
litellm.success_callback=["helicone"] | |
``` | |
Complete code | |
```python | |
from litellm import completion | |
## set env variables | |
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"}]) | |
#cohere call | |
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 - | |
- Set helicone as your base url via: `litellm.api_url` | |
- Pass in helicone request headers via: `litellm.headers` | |
Complete Code | |
``` | |
import litellm | |
from litellm import completion | |
litellm.api_base = "https://oai.hconeai.com/v1" | |
litellm.headers = {"Helicone-Auth": f"Bearer {os.getenv('HELICONE_API_KEY')}"} | |
response = litellm.completion( | |
model="gpt-3.5-turbo", | |
messages=[{"role": "user", "content": "how does a court case get to the Supreme Court?"}] | |
) | |
print(response) | |
``` | |