-
Notifications
You must be signed in to change notification settings - Fork 137
fix(server): fix and improve conversation title generation #1719
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
Conversation
Signed-off-by: Radek Ježek <[email protected]>
Summary of ChangesHello @jezekra1, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refines the conversation title generation process by introducing a mechanism to provide hints to the title generation model, making the generated titles more accurate and relevant. It also includes minor fixes for title validation and ensures that empty titles generated by the model are properly handled. Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request improves conversation title generation by adding support for a titleHint, making the response handling from the LLM more robust, and adding error checking for empty titles. The changes are well-implemented. I have one suggestion to fix a minor bug in the title truncation logic to ensure it correctly enforces the maximum character limit.
| ) | ||
| title = resp["choices"][0]["message"]["content"].strip().strip("\"'") # pyright: ignore [reportIndexIssue] | ||
| title = (resp.choices[0].message.content or "").strip().strip("\"'") | ||
| title = f"{title[:100]}..." if len(title) > 100 else title |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The current title truncation logic can result in a title longer than 100 characters. For example, if the original title is 101 characters long, it will be truncated to 100 characters and ... will be appended, resulting in a 103-character string. This may violate the 'max 100 characters' constraint mentioned in the prompt and potentially cause issues with database field length limits.
To fix this, you can adjust the truncation to account for the length of the ellipsis.
| title = f"{title[:100]}..." if len(title) > 100 else title | |
| title = (title[:97] + "...") if len(title) > 100 else title |
Summary
Resolves #1703
Linked Issues
Documentation
If this PR adds new feature or changes existing. Make sure documentation is adjusted accordingly. If the docs is not needed, please explain why.