-
Notifications
You must be signed in to change notification settings - Fork 63
Feature/improve evaluation prompts #147
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
base: main
Are you sure you want to change the base?
Feature/improve evaluation prompts #147
Conversation
Summary of ChangesHello @CHERRY-ui8, 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 significantly enhances the knowledge graph evaluation capabilities by introducing robust multi-language support for prompts and providing more comprehensive and detailed evaluation criteria. The changes aim to improve the clarity, specificity, and accuracy of the evaluation process, making it more effective for assessing knowledge graph quality across different linguistic contexts. 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 significantly improves the evaluation prompts by making them more detailed and adding support for both English and Chinese. The refactoring of prompt templates into a language-keyed dictionary is a clean solution for internationalization. The use of a language detection utility to select the appropriate prompt is also a great addition. My main feedback concerns the hardcoding of the language to 'zh' for conflict detection logic. While the reasoning is noted in comments, making this configurable would greatly improve the flexibility and maintainability of the evaluator. Overall, these are valuable enhancements to the project's evaluation capabilities.
| prompt = ENTITY_TYPE_CONFLICT_PROMPT.format( | ||
| # Use default language (zh) for conflict detection prompts | ||
| # as they compare multiple chunks which may have different languages | ||
| lang = "zh" # Default to Chinese, can be made configurable |
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.
Hardcoding the language to 'zh' here is not ideal. It makes the evaluator less flexible and might produce poor results if the content being evaluated is in another language. The comment indicates this could be configurable, which is the right direction. To improve maintainability and avoid magic strings, consider defining this default language as a constant at the module level (e.g., DEFAULT_CONFLICT_LANG = 'zh') or, even better, making it a configurable instance attribute set in the __init__ method (e.g., self.default_lang). This would allow for easier changes in the future.
|
|
||
| prompt = ENTITY_DESCRIPTION_CONFLICT_PROMPT.format( | ||
| # Use default language (zh) for conflict detection prompts | ||
| lang = "zh" # Default to Chinese, can be made configurable |
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.
Similar to the entity type consistency check, the language for conflict detection is hardcoded to 'zh'. This reduces flexibility and maintainability. This should be made configurable to handle content in other languages correctly. Using a module-level constant or a class attribute would be a better practice than a magic string.
|
|
||
| prompt = RELATION_CONFLICT_PROMPT.format( | ||
| # Use default language (zh) for conflict detection prompts | ||
| lang = "zh" # Default to Chinese, can be made configurable |
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.
No description provided.