跳至主要內容

Helicone

概觀

屬性詳細資訊
說明Helicone 是一個 AI 閘道與可觀測性平台,提供與 OpenAI 相容的端點,具備進階監控、快取與分析功能。
LiteLLM 上的提供者路由helicone/
提供者文件連結Helicone 文件 ↗
Base URLhttps://ai-gateway.helicone.ai/
支援的操作/chat/completions, /completions, /embeddings

我們支援透過 Helicone 的 AI Gateway 使用 所有可用模型。傳送請求時,請使用 helicone/ 作為前綴。

什麼是 Helicone?

Helicone 是一個適用於 LLM 應用程式的開源可觀測性平台,提供:

  • 請求監控:追蹤所有 LLM 請求,並提供詳細指標
  • 快取:透過智慧快取降低成本與延遲
  • 速率限制:依使用者/金鑰控制請求速率
  • 成本追蹤:監控跨模型與使用者的支出
  • 自訂屬性:使用中繼資料標記請求,方便篩選與分析
  • 提示管理:為提示進行版本控制

必要變數

Environment Variables
os.environ["HELICONE_API_KEY"] = ""  # your Helicone API key

請從您的 Helicone 儀表板 取得 Helicone API 金鑰。

用法 - LiteLLM Python SDK

非串流

Helicone Non-streaming Completion
import os
import litellm
from litellm import completion

os.environ["HELICONE_API_KEY"] = "" # your Helicone API key

messages = [{"content": "What is the capital of France?", "role": "user"}]

# Helicone call - routes through Helicone gateway to OpenAI
response = completion(
model="helicone/gpt-4",
messages=messages
)

print(response)

串流

Helicone Streaming Completion
import os
import litellm
from litellm import completion

os.environ["HELICONE_API_KEY"] = "" # your Helicone API key

messages = [{"content": "Write a short poem about AI", "role": "user"}]

# Helicone call with streaming
response = completion(
model="helicone/gpt-4",
messages=messages,
stream=True
)

for chunk in response:
print(chunk)

含中繼資料(Helicone 自訂屬性)

Helicone with Custom Properties
import os
import litellm
from litellm import completion

os.environ["HELICONE_API_KEY"] = "" # your Helicone API key

response = completion(
model="helicone/gpt-4o-mini",
messages=[{"role": "user", "content": "What's the weather like?"}],
metadata={
"Helicone-Property-Environment": "production",
"Helicone-Property-User-Id": "user_123",
"Helicone-Property-Session-Id": "session_abc"
}
)

print(response)

文字補全

Helicone Text Completion
import os
import litellm

os.environ["HELICONE_API_KEY"] = "" # your Helicone API key

response = litellm.completion(
model="helicone/gpt-4o-mini", # text completion model
prompt="Once upon a time"
)

print(response)

重試與備援機制

import litellm

litellm.api_base = "https://ai-gateway.helicone.ai/"
litellm.metadata = {
"Helicone-Retry-Enabled": "true",
"helicone-retry-num": "3",
"helicone-retry-factor": "2",
}

response = litellm.completion(
model="helicone/gpt-4o-mini/openai,claude-3-5-sonnet-20241022/anthropic", # Try OpenAI first, then fallback to Anthropic, then continue with other models,
messages=[{"role": "user", "content": "Hello"}]
)

支援的 OpenAI 參數

Helicone 支援所有標準的 OpenAI 相容參數:

參數類型說明
messagesarray必填。具有 'role' 和 'content' 的訊息物件陣列
modelstring必填。模型 ID(例如,gpt-4、claude-3-opus 等)
streamboolean選填。啟用串流回應
temperaturefloat選填。抽樣溫度
top_pfloat選填。Nucleus 抽樣參數
max_tokensinteger選填。要生成的最大 tokens 數
frequency_penaltyfloat選填。對常見 tokens 加以懲罰
presence_penaltyfloat選填。根據出現次數對 tokens 加以懲罰
stopstring/array選填。停止序列
ninteger選填。要生成的完成數
toolsarray選填。可用工具/函式清單
tool_choicestring/object選填。控制工具/函式呼叫
response_formatobject選填。回應格式規格
userstring選填。使用者識別碼

Helicone 特定標頭

將這些作為 metadata 傳入,以運用 Helicone 功能:

標頭說明
Helicone-Property-*用於篩選的自訂屬性(例如,Helicone-Property-User-Id
Helicone-Cache-Enabled為此請求啟用快取
Helicone-User-Id用於追蹤的使用者識別碼
Helicone-Session-Id用於分組請求的工作階段識別碼
Helicone-Prompt-Id用於版本管理的提示詞識別碼
Helicone-Rate-Limit-Policy速率限制政策名稱

標頭範例:

Helicone with Custom Headers
import litellm

response = litellm.completion(
model="helicone/gpt-4",
messages=[{"role": "user", "content": "Hello"}],
metadata={
"Helicone-Cache-Enabled": "true",
"Helicone-Property-Environment": "production",
"Helicone-Property-User-Id": "user_123",
"Helicone-Session-Id": "session_abc",
"Helicone-Prompt-Id": "prompt_v1"
}
)

進階用法

與不同提供者搭配使用

Helicone 充當閘道,並支援多個提供者:

Helicone with Anthropic
import litellm

# Set both Helicone and Anthropic keys
os.environ["HELICONE_API_KEY"] = "your-helicone-key"

response = litellm.completion(
model="helicone/claude-3.5-haiku/anthropic",
messages=[{"role": "user", "content": "Hello"}]
)

快取

啟用快取以降低成本與延遲:

Helicone Caching
import litellm

response = litellm.completion(
model="helicone/gpt-4",
messages=[{"role": "user", "content": "What is 2+2?"}],
metadata={
"Helicone-Cache-Enabled": "true"
}
)

# Subsequent identical requests will be served from cache
response2 = litellm.completion(
model="helicone/gpt-4",
messages=[{"role": "user", "content": "What is 2+2?"}],
metadata={
"Helicone-Cache-Enabled": "true"
}
)

功能

請求監控

  • 追蹤所有請求與詳細指標
  • 檢視請求/回應配對
  • 監控延遲與錯誤
  • 依自訂屬性篩選

成本追蹤

  • 依模型追蹤成本
  • 依使用者追蹤成本
  • 成本警示與預算
  • 歷史成本分析

速率限制

  • 依使用者設定速率限制
  • 依 API 金鑰設定速率限制
  • 自訂速率限制政策
  • 自動執行

分析

  • 請求量趨勢
  • 成本趨勢
  • 延遲百分位數
  • 錯誤率

請造訪 Helicone 定價 以取得詳細資訊。

其他資源