poc: gemini integrated

This commit is contained in:
ievgenii vdovenko 2025-09-10 15:33:00 +02:00
parent e984966a9d
commit d25b3965b9
7 changed files with 122 additions and 33 deletions

View file

@ -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):