Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(prompts)!: prompt template management #5724

Merged
merged 189 commits into from
Feb 19, 2025
Merged

feat(prompts)!: prompt template management #5724

merged 189 commits into from
Feb 19, 2025

Conversation

mikeldking
Copy link
Contributor

resolves #5582

@dosubot dosubot bot added the size:M This PR changes 30-99 lines, ignoring generated files. label Dec 12, 2024
@mikeldking mikeldking marked this pull request as draft December 12, 2024 22:10
@mikeldking mikeldking added the feature branch a feature branch that consolidates multiple features into a single commit on main label Dec 12, 2024
Copy link
Contributor

@RogerHYang RogerHYang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

blocking feature branch

@mikeldking mikeldking force-pushed the prompts branch 4 times, most recently from 6da6bdc to 3c3c5e0 Compare December 28, 2024 07:57
@mikeldking mikeldking force-pushed the prompts branch 2 times, most recently from b34c106 to 4973813 Compare January 9, 2025 20:06
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Copy link

pkg-pr-new bot commented Feb 6, 2025

Open in Stackblitz

npm i https://pkg.pr.new/Arize-ai/phoenix/@arizeai/phoenix-client@5724

commit: 2ecac95

@mikeldking mikeldking changed the title feat(prompts!): prompt template management feat(prompts)!: prompt template management Feb 13, 2025
mikeldking and others added 13 commits February 19, 2025 15:52
* wip

* WIP

* WIP

* add the prompt type

* add initial listing

* feat: temporary prompt

* final changes

* add aria role
…rompt specific playground (#5748)

* feat(prompts): Add prompt selection combobox to playground instances

* Implement prompt/:id/playground route and add link from prompt page

* Rename prompt combobox components for clarity
* feat(prompts): Implement SavePromptForm for creating new prompts

* Rename button to 'save'
* Add prompt table migrations

* Fix typo

* Update migration test

* Address migration feedback

* Use default names for constraints

* Add source prompt id
* cleanup

* feat(prompts): rudimentary prompt details page #5741

* Update app/src/pages/prompt/PromptTabContent.tsx

Co-authored-by: Anthony Powell <apowell@arize.com>

---------

Co-authored-by: Anthony Powell <apowell@arize.com>
* Add PromptVersion query

* Update src/phoenix/server/api/types/PromptVersion.py

* reorganize

* cleanup

* Update the schema

---------

Co-authored-by: Mikyo King <mikyo@arize.com>
* refactor(prompts): URL based routing and loader sharing for prompts

- /prompts/:prompId has been converted to a layout component
- sub-routes of promptId share loader data with promptLoader
- prompt detail page tabs perform navigations

* feat(prompts): Add query fragment to prompt versions sub-route

* feat(prompts): Implement routing, loaders, and fragments for prompt version list

* Add PromptVersion to node query

* fix imports

* Ensure all unset fields are set

* fix comma

* Distinguish prompt version details from one another

* Move truncate component

* Consolidate prompt tab nav logic

---------

Co-authored-by: Dustin Ngo <dustin@arize.com>
…5780)

* feat(prompts): Render model invocation params in propt details view

* Use fragment in PromptInvocationParameters

* temporarily use component styles for lists until we can migrate

* fix scrolling

---------

Co-authored-by: Mikyo King <mikyo@arize.com>
* feat(prompts): Render prompt messages on prompt detail view

* Remove unused import

* Implement copy and paste button on prompt chat messages

* Render chat messages on prompt version details page

* Redirect to latest version when clicking versions tab

Additionally highlight active version in versions list

* Update example data to match template language

* Fix prompt details page width, prompt versions borders / scroll

* Distinguish readOnly TemplateEditor styling from normal TemplateEditor

* Refactor active prompt id into prop

* Replace custom button with styled anchor

* Rename node in promptVersion query
* Flesh out PromptVersionTemplate type

* Return GraphQL objects with the correct type

* Use new types in node query

* Decouple pydantic models and gql types

* Rebuild gql schema

* Rework model names

* Update gql schema

* Propagate name into schema

* Incorporate feedback

* Update schema

* adjust UI to new schema

* cleanup

* Remove `hub` naming and clean up type annotations

---------

Co-authored-by: Mikyo King <mikyo@arize.com>
mikeldking and others added 22 commits February 19, 2025 15:52
* refactor(prompts): unify template format

* migrate the frontend

* build openapi

* refactor python client

* refactor JS

* fix db

* run ruff

* fix tests

* cleanup

* more cleanup

* run ci on prompts

* ruff again

* more fixes to python tests

* restore PromptTemplateFormat

* ruff

* build openapi

* build client

* cleanup

* fix tests

* cleanup
* feat(prompts): initial prompt creation

* add create function

* export function

* add test

* add convenience method

* cleanup

* fix bug

* fix bug

* switch input to be camel case

* add to readme

* add changeset

* actually use the client in the example

* Update js/packages/phoenix-client/README.md
* cleanup

* cleanup

* cleanup

* cleanup

* cleanup

* cleanup
)

* ci: additional integration tests on client for sdk round-tripping

* clean up

* clean up
* fix(prompts): Parse tool result json correctly

Co-authored-by: Mikyo King <mikyo@arize.com>
* Tweak descriptions

* Remove needless import

* ruff

* fix tests

---------

Co-authored-by: Mikyo King <mikyo@arize.com>
* rename google provider

* test prompts

* update the rest of python code

* update frontend

* fix client

* typescript client

* Tweak empty state for invocation params

---------

Co-authored-by: Tony Powell <apowell@arize.com>
@mikeldking mikeldking marked this pull request as ready for review February 19, 2025 22:57
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:M This PR changes 30-99 lines, ignoring generated files. labels Feb 19, 2025
@mikeldking
Copy link
Contributor Author

image

@mikeldking mikeldking merged commit 5be8bf5 into main Feb 19, 2025
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature branch a feature branch that consolidates multiple features into a single commit on main size:XXL This PR changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

🗺 Prompt Management
6 participants