Skip to content
Merged

Dev #24

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 0 additions & 37 deletions .github/workflows/deploy-docs-simple.yml

This file was deleted.

9 changes: 5 additions & 4 deletions app/providers/anthropic/provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,25 @@ def __init__(self, api_key: str):
self.api_key = api_key
self.client = anthropic.AsyncAnthropic(api_key=self.api_key)

def _prepare_messages_for_anthropic(self, messages: List[Dict[str, str]]) -> List[Dict[str, str]]:
def _prepare_messages_for_anthropic(self, messages: List) -> List[Dict[str, str]]:
Copy link

Copilot AI Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The parameter type hint is now a generic List; consider using List[ChatMessage] to make the expected input explicit.

Suggested change
def _prepare_messages_for_anthropic(self, messages: List) -> List[Dict[str, str]]:
def _prepare_messages_for_anthropic(self, messages: List[ChatMessage]) -> List[Dict[str, str]]:

Copilot uses AI. Check for mistakes.
"""
Prepare messages for Anthropic API format.

Anthropic's Messages API uses a similar format to OpenAI, but we need to
ensure proper structure and handle any system messages appropriately.

Args:
messages: List of messages in OpenAI format.
messages: List of ChatMessage objects.

Returns:
List of messages formatted for Anthropic API.
"""
anthropic_messages = []

for message in messages:
role = message["role"]
content = message["content"]
# Access Pydantic model attributes
Copy link

Copilot AI Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] This inline comment is redundant given the clear attribute access; consider removing it to keep the code concise.

Suggested change
# Access Pydantic model attributes

Copilot uses AI. Check for mistakes.
role = message.role
content = message.content

# Anthropic supports user, assistant, and system roles
# System messages can be passed directly
Expand Down
11 changes: 6 additions & 5 deletions app/providers/google/provider.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,24 +25,25 @@ def __init__(self, api_key: str):
self.api_key = api_key
genai.configure(api_key=self.api_key)

def _translate_messages_to_google(self, messages: List[Dict[str, str]]) -> List[Dict[str, str]]:
def _translate_messages_to_google(self, messages: List) -> List[Dict[str, str]]:
Copy link

Copilot AI Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The parameter type hint uses an untyped List; consider specifying List[ChatMessage] for clarity and type safety.

Suggested change
def _translate_messages_to_google(self, messages: List) -> List[Dict[str, str]]:
def _translate_messages_to_google(self, messages: List[ChatMessage]) -> List[Dict[str, str]]:

Copilot uses AI. Check for mistakes.
Copy link

Copilot AI Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The return type List[Dict[str, str]] doesn’t match the actual structure (parts is a List[str]); update to reflect Dict[str, List[str]] or a proper model.

Suggested change
def _translate_messages_to_google(self, messages: List) -> List[Dict[str, str]]:
def _translate_messages_to_google(self, messages: List) -> List[Dict[str, List[str]]]:

Copilot uses AI. Check for mistakes.
"""
Translate OpenAI-format messages to Google Gemini format.

OpenAI uses: [{"role": "user", "content": "..."}, {"role": "assistant", "content": "..."}]
Google uses: [{"role": "user", "parts": ["..."]}, {"role": "model", "parts": ["..."]}]

Args:
messages: List of messages in OpenAI format.
messages: List of ChatMessage objects.

Returns:
List of messages in Google Gemini format.
"""
translated_messages = []

for message in messages:
role = message["role"]
content = message["content"]
# Access Pydantic model attributes
Copy link

Copilot AI Jul 7, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] This comment adds little value and could be removed to reduce noise; the code is self-explanatory.

Suggested change
# Access Pydantic model attributes

Copilot uses AI. Check for mistakes.
role = message.role
content = message.content

# Map OpenAI roles to Google roles
if role == "user":
Expand Down Expand Up @@ -131,7 +132,7 @@ async def create_completion(self, request: ChatCompletionRequest) -> dict:
google_messages = self._translate_messages_to_google(request.messages)

# Estimate prompt tokens (rough approximation)
prompt_text = " ".join([msg["content"] for msg in request.messages])
prompt_text = " ".join([msg.content for msg in request.messages])
prompt_tokens = len(prompt_text.split())

# Configure generation parameters
Expand Down
Loading