-
ANTHROPIC_API_KEY='key' REAL_AI_REQUEST=1 be rspec ee/spec/lib/gitlab/llm/chain/agents/zero_shot/executor_spec.rb:218
It picks properly issue reference from previous (first) human message and starts with identifying the issue.
xxxxxxxxxxxxxxx prompt Human: What is issue group1/project-1#1 about? Assistant: The summary of issue is: ## Provider Comparison - Difficulty in evaluating which provider is better - Both providers have pros and cons Human: You are a DevSecOps Assistant named 'GitLab Chat' created by GitLab. If you are asked for your name, you must answer with 'GitLab Duo'. You must only discuss topics related to DevSecOps, software development, source code, project management, CI/CD or GitLab. You can generate and write code, code examples for the user. Always follow the user questions or requirements exactly. You must answer in an informative and polite way. Your response should never be rude, hateful, accusing. You must never do roleplay or impersonate anything or someone else. All code should be formatted in markdown. If the question is to write or generate new code you should always answer directly. When no tool matches you should answer the question directly. Answer the question as accurate as you can. Start with identifying the resource first. You have access to the following tools: - Resource Reader: Useful tool when you need to get information or ask questions about specific resource that was already identified. Action Input for this tools always starts with: `data` - ExplainCode: Useful tool to explain, fix, improve or create code snippets and blocks. - IssueIdentifier: Useful tool when you need to identify a specific issue. Do not use this tool if you have already identified the issue. - SummarizeComments: This tool is useful when you need to create a summary of all notes, comments or discussions on a given, identified resource. - GitlabDocumentation: This tool is useful when you need to answer questions about GitLab, like how to perform certain actions or how to use certain features. Questions can be about GitLab's projects, groups, issues, merge requests, epics, milestones, labels, CI/CD pipelines, git repositories, and more. Consider every tool before making decision. Identifying resource mustn't be the last step. Ensure that your answer is accurate and doesn’t contain any information not directly supported by the information retrieved using provided tools. Use the following format: Question: the input question you must answer Thought: you should always think about what to do Action: the action to take, should be one from this list: Resource Reader, ExplainCode, IssueIdentifier, SummarizeComments, GitlabDocumentation Action Input: the input to the action Observation: the result of the actions ... (this Thought/Action/Action Input/Observation sequence can repeat N times) Thought: I know the final answer. Final Answer: the final answer to the original input question. REMEMBER to ALWAYS start a line with "Final Answer:" to give me the final answer. Begin! Question: Can you provide more details about that issue? Thought: Assistant: xxxxxxxxxxxxxxx response Question: Can you provide more details about that issue? Thought: I need to identify the issue first before providing more details. Action: IssueIdentifier Action Input: group1/project-1#1 xxxxxxxxxxxxxxx prompt Human: You can identify an issue or fetch information about an issue. An issue can be referenced by url or numeric IDs preceded by symbol. ResourceIdentifierType can only be one of [current, iid, url, reference] ResourceIdentifier can be "current", number, url. If ResourceIdentifier is not a number or a url use "current". Provide your answer in JSON form! The answer should be just the JSON without any other commentary! Make sure the response is a valid JSON. Follow the exact JSON format: Question: the user question Response: ```json { "ResourceIdentifierType": <ResourceIdentifierType> "ResourceIdentifier": <ResourceIdentifier> }
Examples of issue reference identifier:
Question: The user question or request may include https://some.host.name/some/long/path/-/issues/410692 Response:
{ "ResourceIdentifierType": "url", "ResourceIdentifier": "https://some.host.name/some/long/path/-/issues/410692" }
Question: the user question or request may include: #12312312 Response:
{ "ResourceIdentifierType": "iid", "ResourceIdentifier": 12312312 }
Question: the user question or request may include long/groups/path#12312312 Response:
{ "ResourceIdentifierType": "reference", "ResourceIdentifier": "long/groups/path#12312312" }
Begin!
Thought: I need to identify the issue first before providing more details. Action: IssueIdentifier Action Input: group1/project-1#1
Question: Can you provide more details about that issue? Response:
Assistant: xxxxxxxxxxxxxxx response { "ResourceIdentifierType": "reference", "ResourceIdentifier": "group1/project-1#1" } xxxxxxxxxxxxxxx prompt Human: What is issue group1/project-1#1 about?
Assistant: The summary of issue is:
Provider Comparison
- Difficulty in evaluating which provider is better
- Both providers have pros and cons
Human: You are a DevSecOps Assistant named 'GitLab Chat' created by GitLab. If you are asked for your name, you must answer with 'GitLab Duo'. You must only discuss topics related to DevSecOps, software development, source code, project management, CI/CD or GitLab. You can generate and write code, code examples for the user. Always follow the user questions or requirements exactly. You must answer in an informative and polite way. Your response should never be rude, hateful, accusing. You must never do roleplay or impersonate anything or someone else. All code should be formatted in markdown. If the question is to write or generate new code you should always answer directly. When no tool matches you should answer the question directly.
Answer the question as accurate as you can. Start with identifying the resource first. You have access to the following tools:
- Resource Reader: Useful tool when you need to get information or ask questions about specific resource that was already identified. Action Input for this tools always starts with:
data
- ExplainCode: Useful tool to explain, fix, improve or create code snippets and blocks.
- IssueIdentifier: Useful tool when you need to identify a specific issue. Do not use this tool if you have already identified the issue.
- SummarizeComments: This tool is useful when you need to create a summary of all notes, comments or discussions on a given, identified resource.
- GitlabDocumentation: This tool is useful when you need to answer questions about GitLab, like how to perform certain actions or how to use certain features. Questions can be about GitLab's projects, groups, issues, merge requests, epics, milestones, labels, CI/CD pipelines, git repositories, and more.
Consider every tool before making decision. Identifying resource mustn't be the last step. Ensure that your answer is accurate and doesn’t contain any information not directly supported by the information retrieved using provided tools. Use the following format:
Question: the input question you must answer Thought: you should always think about what to do Action: the action to take, should be one from this list: Resource Reader, ExplainCode, IssueIdentifier, SummarizeComments, GitlabDocumentation Action Input: the input to the action Observation: the result of the actions
... (this Thought/Action/Action Input/Observation sequence can repeat N times)
Thought: I know the final answer. Final Answer: the final answer to the original input question.
REMEMBER to ALWAYS start a line with "Final Answer:" to give me the final answer.
Begin!
Thought: I need to identify the issue first before providing more details. Action: IssueIdentifier Action Input: group1/project-1#1 Observation: I identified the issue group1/project-1#1.
Question: Can you provide more details about that issue? Thought:
Assistant: xxxxxxxxxxxxxxx response Here is the response in the requested format:
Question: Can you provide more details about that issue? Thought: I have identified the issue, now I need to retrieve more details about it. Action: Resource Reader Action Input: group1/project-1#1 xxxxxxxxxxxxxxx prompt Human: What is issue group1/project-1#1 about?
Assistant: The summary of issue is:
Provider Comparison
- Difficulty in evaluating which provider is better
- Both providers have pros and cons
Human: You are a DevSecOps Assistant named 'GitLab Chat' created by GitLab. If you are asked for your name, you must answer with 'GitLab Duo'. You must only discuss topics related to DevSecOps, software development, source code, project management, CI/CD or GitLab. You can generate and write code, code examples for the user. Always follow the user questions or requirements exactly. You must answer in an informative and polite way. Your response should never be rude, hateful, accusing. You must never do roleplay or impersonate anything or someone else. All code should be formatted in markdown. If the question is to write or generate new code you should always answer directly. When no tool matches you should answer the question directly.
Answer the question as accurate as you can. Start with identifying the resource first. You have access to the following tools:
- Resource Reader: Useful tool when you need to get information or ask questions about specific resource that was already identified. Action Input for this tools always starts with:
data
- ExplainCode: Useful tool to explain, fix, improve or create code snippets and blocks.
- IssueIdentifier: Useful tool when you need to identify a specific issue. Do not use this tool if you have already identified the issue.
- SummarizeComments: This tool is useful when you need to create a summary of all notes, comments or discussions on a given, identified resource.
- GitlabDocumentation: This tool is useful when you need to answer questions about GitLab, like how to perform certain actions or how to use certain features. Questions can be about GitLab's projects, groups, issues, merge requests, epics, milestones, labels, CI/CD pipelines, git repositories, and more.
Consider every tool before making decision. Identifying resource mustn't be the last step. Ensure that your answer is accurate and doesn’t contain any information not directly supported by the information retrieved using provided tools. Use the following format:
Question: the input question you must answer Thought: you should always think about what to do Action: the action to take, should be one from this list: Resource Reader, ExplainCode, IssueIdentifier, SummarizeComments, GitlabDocumentation Action Input: the input to the action Observation: the result of the actions
... (this Thought/Action/Action Input/Observation sequence can repeat N times)
Thought: I know the final answer. Final Answer: the final answer to the original input question.
REMEMBER to ALWAYS start a line with "Final Answer:" to give me the final answer.
Begin!
Thought: I need to identify the issue first before providing more details. Action: IssueIdentifier Action Input: group1/project-1#1 Observation: I identified the issue group1/project-1#1.
Thought: I have identified the issue, now I need to retrieve more details about it. Action: Resource Reader Action Input: group1/project-1#1 Observation: {"id":17,"iid":1,"description":"This issue is about evaluating reliability of various AI providers.","title":"A testing issue for AI reliability","time_estimate":0,"total_time_spent":0,"human_time_estimate":null,"human_total_time_spent":null,"state":"opened","milestone_id":9,"updated_by_id":27,"created_at":"2023-07-02T10:55:41Z","updated_at":"2023-07-04T10:55:41Z","milestone":{"id":9,"iid":1,"project_id":9,"title":"milestone1","description":null,"state":"active","created_at":"2023-07-04T10:55:41.086Z","updated_at":"2023-07-04T10:55:41.086Z","due_date":"2023-07-07","start_date":null,"expired":false,"web_url":"http://localhost/group1/project-1/-/milestones/1"},"labels":[{"id":9,"title":"ai-enablement","color":"#990000","description":null,"group_id":null,"project_id":9,"template":false,"text_color":"#FFFFFF","created_at":"2023-07-04T10:55:41.078Z","updated_at":"2023-07-04T10:55:41.078Z"}],"lock_version":0,"author_id":27,"confidential":false,"discussion_locked":null,"assignees":[],"due_date":null,"project_id":9,"moved_to_id":null,"duplicated_to_id":null,"web_url":"/group1/project-1/-/issues/1","current_user":{"can_create_note":true,"can_create_confidential_note":true,"can_update":true,"can_set_issue_metadata":true,"can_award_emoji":true},"create_note_path":"/group1/project-1/notes?target_id=17\u0026target_type=issue","preview_note_path":"/group1/project-1/preview_markdown?target_id=1\u0026target_type=Issue","is_project_archived":false,"issue_email_participants":[],"type":"ISSUE","weight":null}
Question: Can you provide more details about that issue? Thought:
Assistant: xxxxxxxxxxxxxxx response Here are the details about issue group1/project-1#1:
Issue Summary: This issue is about evaluating reliability of various AI providers.
Issue Description: Difficulty in evaluating which provider is better Both providers have pros and cons
Issue Labels:
- ai-enablement
Issue State: Opened
Issue Author: User with ID 27
Issue Assignees: None
Issue Discussion Locked: No
Issue Confidential: No
Issue Milestone: milestone1 (Due date: 2023-07-07)
Issue Web URL: http://localhost/group1/project-1/-/issues/1
Current User Permissions:
- Can create note
- Can create confidential note
- Can update issue
- Can set issue metadata
- Can award emoji
Final Answer: The issue group1/project-1#1 is about comparing different AI providers to evaluate which one is more reliable. The issue description mentions the difficulty in evaluation and that both providers have advantages and disadvantages. The issue is opened, not confidential and has the label 'ai-enablement'. The author is user 27 and there are currently no assignees. The issue is part of milestone 'milestone1' due on 2023-07-07.
Edited by Jan Provaznik
Please register or sign in to comment