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:
co-authored by
UltralyticsAssistant
parent
74e79c44b6
commit
d8865bfae5
+1
-1
@@ -22,4 +22,4 @@
|
||||
# ├── test_summarize_pr.py
|
||||
# └── ...
|
||||
|
||||
__version__ = "0.0.98"
|
||||
__version__ = "0.0.99"
|
||||
|
||||
@@ -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, "")
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user