Skip to content

Commit

Permalink
feat(prompts): Display basic LLM details on Prompt Details pages (#6104)
Browse files Browse the repository at this point in the history
* feat(prompts): Display basic LLM details on Prompt Details pages

* Remove extraneous export
  • Loading branch information
cephalization authored Jan 17, 2025
1 parent 5b26835 commit 07f548f
Show file tree
Hide file tree
Showing 6 changed files with 162 additions and 9 deletions.
62 changes: 62 additions & 0 deletions app/src/pages/prompt/PromptLLM.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
import React, { PropsWithChildren } from "react";
import { graphql, useFragment } from "react-relay";

import { List, ListItem } from "@arizeai/components";

import {
Disclosure,
DisclosurePanel,
DisclosureTrigger,
Flex,
Text,
View,
} from "@phoenix/components";
import { ModelProviders } from "@phoenix/constants/generativeConstants";
import { PromptLLM__main$key } from "@phoenix/pages/prompt/__generated__/PromptLLM__main.graphql";

const ModelProviderItem = ({
keyName,
children,
}: PropsWithChildren<{
keyName: string;
}>) => (
<ListItem listSize="small">
<View paddingStart="size-100" paddingEnd="size-100">
<Flex direction="row" justifyContent="space-between">
<Text size="XS" color="text-700">
{keyName}
</Text>
<Text size="XS">{children}</Text>
</Flex>
</View>
</ListItem>
);

type PromptLLMProps = {
promptVersion: PromptLLM__main$key;
};

export function PromptLLM({ promptVersion }: PromptLLMProps) {
const data = useFragment<PromptLLM__main$key>(
graphql`
fragment PromptLLM__main on PromptVersion {
model: modelName
provider: modelProvider
}
`,
promptVersion
);
return (
<Disclosure id="llm">
<DisclosureTrigger>LLM</DisclosureTrigger>
<DisclosurePanel>
<List listSize="small">
<ModelProviderItem keyName="Model">{data.model}</ModelProviderItem>
<ModelProviderItem keyName="Provider">
{ModelProviders[data.provider as ModelProvider] ?? data.provider}
</ModelProviderItem>
</List>
</DisclosurePanel>
</Disclosure>
);
}
6 changes: 6 additions & 0 deletions app/src/pages/prompt/PromptModelConfigurationCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import {
} from "@phoenix/components";
import { PromptModelConfigurationCard__main$key } from "@phoenix/pages/prompt/__generated__/PromptModelConfigurationCard__main.graphql";
import { PromptInvocationParameters } from "@phoenix/pages/prompt/PromptInvocationParameters";
import { PromptLLM } from "@phoenix/pages/prompt/PromptLLM";
import { PromptOutputSchema } from "@phoenix/pages/prompt/PromptOutputSchema";
import { PromptTools } from "@phoenix/pages/prompt/PromptTools";

Expand All @@ -22,6 +23,9 @@ export function PromptModelConfigurationCard({
const promptVersion = useFragment<PromptModelConfigurationCard__main$key>(
graphql`
fragment PromptModelConfigurationCard__main on PromptVersion {
model: modelName
provider: modelProvider
...PromptLLM__main
...PromptInvocationParameters__main
...PromptTools__main
...PromptOutputSchemaFragment
Expand All @@ -37,11 +41,13 @@ export function PromptModelConfigurationCard({
>
<DisclosureGroup
defaultExpandedKeys={[
"llm",
"invocation-parameters",
"tools",
"output-schema",
]}
>
<PromptLLM promptVersion={promptVersion} />
<Disclosure id="invocation-parameters">
<DisclosureTrigger>Invocation Parameters</DisclosureTrigger>
<DisclosurePanel>
Expand Down
50 changes: 50 additions & 0 deletions app/src/pages/prompt/__generated__/PromptLLM__main.graphql.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 10 additions & 3 deletions app/src/pages/prompt/__generated__/promptLoaderQuery.graphql.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 07f548f

Please sign in to comment.