Fix OpenAI Responses REST API implementation (#529)

Signed-off-by: Glenn Jocher <[email protected]>
Co-authored-by: UltralyticsAssistant <[email protected]>
This commit is contained in:
Glenn Jocher
2025-09-30 18:46:53 +01:00
committed by GitHub
co-authored by UltralyticsAssistant
parent 74e79c44b6
commit d8865bfae5
3 changed files with 30 additions and 6 deletions
+1 -1
View File
@@ -22,4 +22,4 @@
# ├── test_summarize_pr.py
# └── ...
__version__ = "0.0.98"
__version__ = "0.0.99"
+11 -1
View File
@@ -58,7 +58,17 @@ def get_completion(
r = requests.post(url, json=data, headers=headers)
r.raise_for_status()
content = r.json()["output_text"].strip()
response_data = r.json()
# Extract text from output array
content = ""
for item in response_data.get("output", []):
if item.get("type") == "message":
for content_item in item.get("content", []):
if content_item.get("type") == "output_text":
content += content_item.get("text", "")
content = content.strip()
content = remove_outer_codeblocks(content)
for x in remove:
content = content.replace(x, "")
+18 -4
View File
@@ -25,10 +25,17 @@ def test_remove_outer_codeblocks():
@patch("requests.post")
def test_get_completion(mock_post):
"""Test OpenAI Responses API completion function with mocked response."""
# Setup mock response
# Setup mock response with Responses API structure
mock_response = MagicMock()
mock_response.status_code = 200
mock_response.json.return_value = {"output_text": "Test response from OpenAI"}
mock_response.json.return_value = {
"output": [
{
"type": "message",
"content": [{"type": "output_text", "text": "Test response from OpenAI"}],
}
]
}
mock_post.return_value = mock_response
# Test with basic messages
@@ -47,10 +54,17 @@ def test_get_completion(mock_post):
@patch("actions.utils.openai_utils.check_links_in_string")
def test_get_completion_with_link_check(mock_check_links, mock_post):
"""Test get_completion with link checking."""
# Setup mocks
# Setup mocks with Responses API structure
mock_response = MagicMock()
mock_response.status_code = 200
mock_response.json.return_value = {"output_text": "Response with https://example.com link"}
mock_response.json.return_value = {
"output": [
{
"type": "message",
"content": [{"type": "output_text", "text": "Response with https://example.com link"}],
}
]
}
mock_post.return_value = mock_response
mock_check_links.return_value = True