Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,6 @@ public void withChatCompletionCreateParams(
AgentSpan span, ChatCompletionCreateParams params, boolean stream) {
span.setResourceName(CHAT_COMPLETIONS_CREATE);
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/chat/completions");
if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
if (params == null) {
return;
}
Expand All @@ -45,6 +40,12 @@ public void withChatCompletionCreateParams(
.asString()
.ifPresent(str -> span.setTag(CommonTags.OPENAI_REQUEST_MODEL, str));

if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);

span.setTag(
CommonTags.INPUT,
params.messages().stream()
Expand Down Expand Up @@ -97,13 +98,14 @@ private static LLMObs.LLMMessage llmMessage(ChatCompletionMessageParam m) {
}

public void withChatCompletion(AgentSpan span, ChatCompletion completion) {
if (!llmObsEnabled) {
return;
}
String modelName = completion.model();
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
span.setTag(CommonTags.MODEL_NAME, modelName);

if (!llmObsEnabled) {
return;
}

List<LLMObs.LLMMessage> output =
completion.choices().stream()
.map(ChatCompletionDecorator::llmMessage)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,6 @@ public class CompletionDecorator {
public void withCompletionCreateParams(AgentSpan span, CompletionCreateParams params) {
span.setResourceName(COMPLETIONS_CREATE);
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/completions");
if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
if (params == null) {
return;
}
Expand All @@ -37,6 +32,12 @@ public void withCompletionCreateParams(AgentSpan span, CompletionCreateParams pa
._value()
.asString()
.ifPresent(str -> span.setTag(CommonTags.OPENAI_REQUEST_MODEL, str));

if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
params
.prompt()
.flatMap(p -> p.string())
Expand All @@ -61,14 +62,14 @@ public void withCompletionCreateParams(AgentSpan span, CompletionCreateParams pa
}

public void withCompletion(AgentSpan span, Completion completion) {
if (!llmObsEnabled) {
return;
}

String modelName = completion.model();
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
span.setTag(CommonTags.MODEL_NAME, modelName);

if (!llmObsEnabled) {
return;
}

List<LLMObs.LLMMessage> output =
completion.choices().stream()
.map(v -> LLMObs.LLMMessage.from(null, v.text()))
Expand All @@ -86,10 +87,6 @@ public void withCompletion(AgentSpan span, Completion completion) {
}

public void withCompletions(AgentSpan span, List<Completion> completions) {
if (!llmObsEnabled) {
return;
}

if (completions.isEmpty()) {
return;
}
Expand All @@ -99,6 +96,10 @@ public void withCompletions(AgentSpan span, List<Completion> completions) {
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
span.setTag(CommonTags.MODEL_NAME, modelName);

if (!llmObsEnabled) {
return;
}

Map<Long, StringBuilder> textByChoiceIndex = new HashMap<>();
for (Completion completion : completions) {
completion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,6 @@ public class EmbeddingDecorator {
public void withEmbeddingCreateParams(AgentSpan span, EmbeddingCreateParams params) {
span.setResourceName(EMBEDDINGS_CREATE);
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/embeddings");
if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_EMBEDDING_SPAN_KIND);
if (params == null) {
return;
}
Expand All @@ -39,6 +34,12 @@ public void withEmbeddingCreateParams(AgentSpan span, EmbeddingCreateParams para
.asString()
.ifPresent(str -> span.setTag(CommonTags.OPENAI_REQUEST_MODEL, str));

if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_EMBEDDING_SPAN_KIND);

span.setTag(CommonTags.INPUT, embeddingDocuments(params.input()));

Map<String, Object> metadata = new HashMap<>();
Expand All @@ -59,14 +60,14 @@ private List<LLMObs.Document> embeddingDocuments(EmbeddingCreateParams.Input inp
}

public void withCreateEmbeddingResponse(AgentSpan span, CreateEmbeddingResponse response) {
if (!llmObsEnabled) {
return;
}

String modelName = response.model();
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
span.setTag(CommonTags.MODEL_NAME, modelName);

if (!llmObsEnabled) {
return;
}

if (!response.data().isEmpty()) {
int embeddingCount = response.data().size();
Embedding firstEmbedding = response.data().get(0);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,11 +37,6 @@ public class ResponseDecorator {
public void withResponseCreateParams(AgentSpan span, ResponseCreateParams params) {
span.setResourceName(RESPONSES_CREATE);
span.setTag(CommonTags.OPENAI_REQUEST_ENDPOINT, "/v1/responses");
if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);
if (params == null) {
return;
}
Expand All @@ -51,6 +46,12 @@ public void withResponseCreateParams(AgentSpan span, ResponseCreateParams params
String modelName = extractResponseModel(params._model());
span.setTag(CommonTags.OPENAI_REQUEST_MODEL, modelName);

if (!llmObsEnabled) {
return;
}

span.setTag(CommonTags.SPAN_KIND, Tags.LLMOBS_LLM_SPAN_KIND);

List<LLMObs.LLMMessage> inputMessages = new ArrayList<>();

params
Expand Down Expand Up @@ -369,10 +370,6 @@ public void withResponse(AgentSpan span, Response response) {
}

public void withResponseStreamEvents(AgentSpan span, List<ResponseStreamEvent> events) {
if (!llmObsEnabled) {
return;
}

for (ResponseStreamEvent event : events) {
if (event.isCompleted()) {
Response response = event.asCompleted().response();
Expand All @@ -388,14 +385,14 @@ public void withResponseStreamEvents(AgentSpan span, List<ResponseStreamEvent> e
}

private void withResponse(AgentSpan span, Response response, boolean stream) {
if (!llmObsEnabled) {
return;
}

String modelName = extractResponseModel(response._model());
span.setTag(CommonTags.OPENAI_RESPONSE_MODEL, modelName);
span.setTag(CommonTags.MODEL_NAME, modelName);

if (!llmObsEnabled) {
return;
}

List<LLMObs.LLMMessage> outputMessages = extractResponseOutputMessages(response.output());
if (!outputMessages.isEmpty()) {
span.setTag(CommonTags.OUTPUT, outputMessages);
Expand Down