poc: gemini integrated
This commit is contained in:
parent
e984966a9d
commit
d25b3965b9
7 changed files with 122 additions and 33 deletions
|
|
@ -33,7 +33,7 @@ from email.utils import formatdate
|
|||
|
||||
import rhodecode
|
||||
from rhodecode.apps.ai_agents.ai_service import get_ai_service
|
||||
from rhodecode.apps.ai_agents.models.base import Response
|
||||
from rhodecode.apps.ai_agents.models.base import Response, AIServiceError
|
||||
from rhodecode.lib import audit_logger, diffs, codeblocks
|
||||
from rhodecode.lib.celerylib import get_logger, async_task, RequestContextTask, run_task
|
||||
from rhodecode.lib import hooks_base
|
||||
|
|
@ -533,25 +533,34 @@ def start_ai_code_review(pull_request_id):
|
|||
repo=pull_request.target_repo,
|
||||
)
|
||||
|
||||
response = service.code_review(diffset, instructions=instructions)
|
||||
try:
|
||||
response = service.code_review(diffset, instructions=instructions)
|
||||
_add_comments(response, pull_request, log, ai_user)
|
||||
audit_logger.store(
|
||||
"ai.code-review.finish",
|
||||
user=ai_user,
|
||||
action_data={
|
||||
audit_logger.PR_ID: pull_request_id,
|
||||
audit_logger.AI_MODEL: response.model,
|
||||
"error": response.error,
|
||||
"error_message": "",
|
||||
},
|
||||
repo=pull_request.target_repo,
|
||||
)
|
||||
|
||||
error_msg = ""
|
||||
if response.error:
|
||||
error_msg = response.message
|
||||
|
||||
audit_logger.store(
|
||||
"ai.code-review.finish",
|
||||
user=ai_user,
|
||||
action_data={
|
||||
audit_logger.PR_ID: pull_request_id,
|
||||
audit_logger.AI_MODEL: response.model,
|
||||
"error": response.error,
|
||||
"error_message": error_msg,
|
||||
},
|
||||
repo=pull_request.target_repo,
|
||||
)
|
||||
|
||||
_add_comments(response, pull_request, log, ai_user)
|
||||
except AIServiceError as e:
|
||||
log.error("AI service error: %s", e)
|
||||
audit_logger.store(
|
||||
"ai.code-review.finish",
|
||||
user=ai_user,
|
||||
action_data={
|
||||
audit_logger.PR_ID: pull_request_id,
|
||||
audit_logger.AI_MODEL: service.get_model_name(),
|
||||
"error": True,
|
||||
"error_message": str(e),
|
||||
},
|
||||
repo=pull_request.target_repo,
|
||||
)
|
||||
|
||||
|
||||
def _add_comments(response: Response, pull_request: PullRequest, log: Logger | Any, ai_user: User):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue