Sitzungsprotokolle
Gruppieren Sie Anfragen in Sitzungen. Dies ermöglicht es Ihnen, zusammengehörige Anfragen zu gruppieren.
Verwendung
/chat/completions
Um mehrere Anfragen zu einer einzigen Sitzung zu gruppieren, übergeben Sie dieselbe litellm_session_id im Metadaten für jede Anfrage. Hier ist, wie das geht:
- OpenAI Python v1.0.0+
- Langchain
- Curl
- LiteLLM Python SDK
Anfrage 1 Erstellen Sie eine neue Sitzung mit einer eindeutigen ID und stellen Sie die erste Anfrage. Die Sitzungs-ID wird verwendet, um alle zusammengehörigen Anfragen zu verfolgen.
import openai
import uuid
# Create a session ID
session_id = str(uuid.uuid4())
client = openai.OpenAI(
api_key="<your litellm api key>",
base_url="http://0.0.0.0:4000"
)
# First request in session
response1 = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": "Write a short story about a robot"
}
],
extra_body={
"metadata": {
"litellm_session_id": session_id # Pass the session ID
}
}
)
Anfrage 2 Stellen Sie eine weitere Anfrage mit derselben Sitzungs-ID, um sie mit der vorherigen Anfrage zu verknüpfen. Dies ermöglicht die gemeinsame Verfolgung von zusammengehörigen Anfragen.
# Second request using same session ID
response2 = client.chat.completions.create(
model="gpt-4o",
messages=[
{
"role": "user",
"content": "Now write a poem about that robot"
}
],
extra_body={
"metadata": {
"litellm_session_id": session_id # Reuse the same session ID
}
}
)
Anfrage 1 Initialisieren Sie eine neue Sitzung mit einer eindeutigen ID und erstellen Sie eine Chat-Modellinstanz zum Stellen von Anfragen. Die Sitzungs-ID ist in der Konfiguration des Modells eingebettet.
from langchain.chat_models import ChatOpenAI
import uuid
# Create a session ID
session_id = str(uuid.uuid4())
chat = ChatOpenAI(
openai_api_base="http://0.0.0.0:4000",
api_key="<your litellm api key>",
model="gpt-4o",
extra_body={
"metadata": {
"litellm_session_id": session_id # Pass the session ID
}
}
)
# First request in session
response1 = chat.invoke("Write a short story about a robot")
Anfrage 2 Verwenden Sie dieselbe Chat-Modellinstanz, um eine weitere Anfrage zu stellen, wobei der Sitzungskontext automatisch über die zuvor konfigurierte Sitzungs-ID beibehalten wird.
# Second request using same chat object and session ID
response2 = chat.invoke("Now write a poem about that robot")
Anfrage 1 Generieren Sie eine neue Sitzungs-ID und stellen Sie den ersten API-Aufruf. Die Sitzungs-ID in den Metadaten wird verwendet, um diese Konversation zu verfolgen.
# Create a session ID
SESSION_ID=$(uuidgen)
# Store your API key
API_KEY="<your litellm api key>"
# First request in session
curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $API_KEY" \
--data '{
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Write a short story about a robot"
}
],
"metadata": {
"litellm_session_id": "'$SESSION_ID'"
}
}'
Anfrage 2 Stellen Sie eine Folgeanfrage mit derselben Sitzungs-ID, um den Konversationskontext und die Nachverfolgung beizubehalten.
# Second request using same session ID
curl --location 'http://0.0.0.0:4000/chat/completions' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $API_KEY" \
--data '{
"model": "gpt-4o",
"messages": [
{
"role": "user",
"content": "Now write a poem about that robot"
}
],
"metadata": {
"litellm_session_id": "'$SESSION_ID'"
}
}'
Anfrage 1 Beginnen Sie eine neue Sitzung, indem Sie eine eindeutige ID erstellen und die erste Anfrage stellen. Diese Sitzungs-ID wird verwendet, um zusammengehörige Anfragen zu gruppieren.
import litellm
import uuid
# Create a session ID
session_id = str(uuid.uuid4())
# First request in session
response1 = litellm.completion(
model="gpt-4o",
messages=[{"role": "user", "content": "Write a short story about a robot"}],
api_base="http://0.0.0.0:4000",
api_key="<your litellm api key>",
metadata={
"litellm_session_id": session_id # Pass the session ID
}
)
Anfrage 2 Setzen Sie die Konversation fort, indem Sie eine weitere Anfrage mit derselben Sitzungs-ID stellen und sie mit der vorherigen Interaktion verknüpfen.
# Second request using same session ID
response2 = litellm.completion(
model="gpt-4o",
messages=[{"role": "user", "content": "Now write a poem about that robot"}],
api_base="http://0.0.0.0:4000",
api_key="<your litellm api key>",
metadata={
"litellm_session_id": session_id # Reuse the same session ID
}
)
/responses
Verwenden Sie für den Endpunkt /responses previous_response_id, um Anfragen in einer Sitzung zu gruppieren. Die previous_response_id wird in der Antwort jeder Anfrage zurückgegeben.
- OpenAI Python v1.0.0+
- Curl
- LiteLLM Python SDK
Anfrage 1 Stellen Sie die erste Anfrage und speichern Sie die Antwort-ID, um Folgeanfragen zu verknüpfen.
from openai import OpenAI
client = OpenAI(
api_key="<your litellm api key>",
base_url="http://0.0.0.0:4000"
)
# First request in session
response1 = client.responses.create(
model="anthropic/claude-3-sonnet-20240229-v1:0",
input="Write a short story about a robot"
)
# Store the response ID for the next request
response_id = response1.id
Anfrage 2 Stellen Sie eine Folgeanfrage mit der vorherigen Antwort-ID, um den Konversationskontext beizubehalten.
# Second request using previous response ID
response2 = client.responses.create(
model="anthropic/claude-3-sonnet-20240229-v1:0",
input="Now write a poem about that robot",
previous_response_id=response_id # Link to previous request
)
Anfrage 1 Stellen Sie die erste Anfrage. Die Antwort enthält eine ID, die verwendet werden kann, um Folgeanfragen zu verknüpfen.
# Store your API key
API_KEY="<your litellm api key>"
# First request in session
curl https://:4000/v1/responses \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $API_KEY" \
--data '{
"model": "anthropic/claude-3-sonnet-20240229-v1:0",
"input": "Write a short story about a robot"
}'
# Response will include an 'id' field that you'll use in the next request
Anfrage 2 Stellen Sie eine Folgeanfrage mit der vorherigen Antwort-ID, um den Konversationskontext beizubehalten.
# Second request using previous response ID
curl https://:4000/v1/responses \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $API_KEY" \
--data '{
"model": "anthropic/claude-3-sonnet-20240229-v1:0",
"input": "Now write a poem about that robot",
"previous_response_id": "resp_abc123..." # Replace with actual response ID from previous request
}'
Anfrage 1 Stellen Sie die erste Anfrage und speichern Sie die Antwort-ID, um Folgeanfragen zu verknüpfen.
import litellm
# First request in session
response1 = litellm.responses(
model="anthropic/claude-3-sonnet-20240229-v1:0",
input="Write a short story about a robot",
api_base="http://0.0.0.0:4000",
api_key="<your litellm api key>"
)
# Store the response ID for the next request
response_id = response1.id
Anfrage 2 Stellen Sie eine Folgeanfrage mit der vorherigen Antwort-ID, um den Konversationskontext beizubehalten.
# Second request using previous response ID
response2 = litellm.responses(
model="anthropic/claude-3-sonnet-20240229-v1:0",
input="Now write a poem about that robot",
api_base="http://0.0.0.0:4000",
api_key="<your litellm api key>",
previous_response_id=response_id # Link to previous request
)