mirror of https://github.com/aliasrobotics/cai.git
change gpt-4o and install in .yml
This commit is contained in:
parent
58a0aaaae8
commit
bd33d3fd67
|
|
@ -9,6 +9,7 @@
|
|||
<<: *use_base_container
|
||||
script:
|
||||
- pip3 install -e .
|
||||
- pip install inline-snapshot pytest-asyncio graphviz pytest-mock
|
||||
- pytest -s $TEST_PATH
|
||||
tags:
|
||||
- p40
|
||||
|
|
|
|||
|
|
@ -31,7 +31,8 @@ from cai.sdk.agents import (
|
|||
generation_span,
|
||||
)
|
||||
from cai.sdk.agents.models.fake_id import FAKE_RESPONSES_ID
|
||||
|
||||
import os
|
||||
cai_model = os.getenv('CAI_MODEL', "qwen2.5:14b")
|
||||
|
||||
@pytest.mark.allow_call_model_methods
|
||||
@pytest.mark.asyncio
|
||||
|
|
@ -57,7 +58,7 @@ async def test_get_response_with_text_message(monkeypatch) -> None:
|
|||
return chat
|
||||
|
||||
monkeypatch.setattr(OpenAIChatCompletionsModel, "_fetch_response", patched_fetch_response)
|
||||
model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
resp: ModelResponse = await model.get_response(
|
||||
system_instructions=None,
|
||||
input="",
|
||||
|
|
@ -105,7 +106,7 @@ async def test_get_response_with_refusal(monkeypatch) -> None:
|
|||
return chat
|
||||
|
||||
monkeypatch.setattr(OpenAIChatCompletionsModel, "_fetch_response", patched_fetch_response)
|
||||
model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
resp: ModelResponse = await model.get_response(
|
||||
system_instructions=None,
|
||||
input="",
|
||||
|
|
@ -154,7 +155,7 @@ async def test_get_response_with_tool_call(monkeypatch) -> None:
|
|||
return chat
|
||||
|
||||
monkeypatch.setattr(OpenAIChatCompletionsModel, "_fetch_response", patched_fetch_response)
|
||||
model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
resp: ModelResponse = await model.get_response(
|
||||
system_instructions=None,
|
||||
input="",
|
||||
|
|
@ -208,7 +209,7 @@ async def test_fetch_response_non_stream(monkeypatch) -> None:
|
|||
)
|
||||
completions = DummyCompletions()
|
||||
dummy_client = DummyClient(completions)
|
||||
model = OpenAIChatCompletionsModel(model="gpt-4", openai_client=dummy_client) # type: ignore
|
||||
model = OpenAIChatCompletionsModel(model=cai_model, openai_client=dummy_client) # type: ignore
|
||||
# Execute the private fetch with a system instruction and simple string input.
|
||||
with generation_span(disabled=True) as span:
|
||||
result = await model._fetch_response(
|
||||
|
|
@ -227,7 +228,7 @@ async def test_fetch_response_non_stream(monkeypatch) -> None:
|
|||
kwargs = completions.kwargs
|
||||
assert kwargs["stream"] is False
|
||||
assert kwargs["store"] is True
|
||||
assert kwargs["model"] == "gpt-4"
|
||||
assert kwargs["model"] == cai_model
|
||||
assert kwargs["messages"][0]["role"] == "system"
|
||||
assert kwargs["messages"][0]["content"] == "sys"
|
||||
assert kwargs["messages"][1]["role"] == "user"
|
||||
|
|
@ -265,7 +266,7 @@ async def test_fetch_response_stream(monkeypatch) -> None:
|
|||
|
||||
completions = DummyCompletions()
|
||||
dummy_client = DummyClient(completions)
|
||||
model = OpenAIChatCompletionsModel(model="gpt-4", openai_client=dummy_client) # type: ignore
|
||||
model = OpenAIChatCompletionsModel(model=cai_model, openai_client=dummy_client) # type: ignore
|
||||
with generation_span(disabled=True) as span:
|
||||
response, stream = await model._fetch_response(
|
||||
system_instructions=None,
|
||||
|
|
@ -285,7 +286,7 @@ async def test_fetch_response_stream(monkeypatch) -> None:
|
|||
# Response is a proper openai Response
|
||||
assert isinstance(response, Response)
|
||||
assert response.id == FAKE_RESPONSES_ID
|
||||
assert response.model == "gpt-4"
|
||||
assert response.model == cai_model
|
||||
assert response.object == "response"
|
||||
assert response.output == []
|
||||
# We returned the async iterator produced by our dummy.
|
||||
|
|
|
|||
|
|
@ -22,6 +22,8 @@ from cai.sdk.agents.models.interface import ModelTracing
|
|||
from cai.sdk.agents.models.openai_chatcompletions import OpenAIChatCompletionsModel
|
||||
from cai.sdk.agents.models.openai_provider import OpenAIProvider
|
||||
|
||||
import os
|
||||
cai_model = os.getenv('CAI_MODEL', "qwen2.5:14b")
|
||||
|
||||
@pytest.mark.allow_call_model_methods
|
||||
@pytest.mark.asyncio
|
||||
|
|
@ -69,7 +71,7 @@ async def test_stream_response_yields_events_for_text_content(monkeypatch) -> No
|
|||
return resp, fake_stream()
|
||||
|
||||
monkeypatch.setattr(OpenAIChatCompletionsModel, "_fetch_response", patched_fetch_response)
|
||||
model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
output_events = []
|
||||
async for event in model.stream_response(
|
||||
system_instructions=None,
|
||||
|
|
@ -158,7 +160,7 @@ async def test_stream_response_yields_events_for_refusal_content(monkeypatch) ->
|
|||
return resp, fake_stream()
|
||||
|
||||
monkeypatch.setattr(OpenAIChatCompletionsModel, "_fetch_response", patched_fetch_response)
|
||||
model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
output_events = []
|
||||
async for event in model.stream_response(
|
||||
system_instructions=None,
|
||||
|
|
@ -245,7 +247,7 @@ async def test_stream_response_yields_events_for_tool_call(monkeypatch) -> None:
|
|||
return resp, fake_stream()
|
||||
|
||||
monkeypatch.setattr(OpenAIChatCompletionsModel, "_fetch_response", patched_fetch_response)
|
||||
model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
output_events = []
|
||||
async for event in model.stream_response(
|
||||
system_instructions=None,
|
||||
|
|
|
|||
|
|
@ -9,22 +9,25 @@ from cai.sdk.agents.models.openai_provider import OpenAIProvider
|
|||
from cai.sdk.agents.models.openai_responses import OpenAIResponsesModel
|
||||
|
||||
|
||||
import os
|
||||
cai_model = os.getenv('CAI_MODEL', "qwen2.5:14b")
|
||||
|
||||
def test_cc_no_default_key_errors(monkeypatch):
|
||||
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
|
||||
with pytest.raises(openai.OpenAIError):
|
||||
OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
|
||||
|
||||
def test_cc_set_default_openai_key():
|
||||
set_default_openai_key("test_key")
|
||||
chat_model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
chat_model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
assert chat_model._client.api_key == "test_key" # type: ignore
|
||||
|
||||
|
||||
def test_cc_set_default_openai_client():
|
||||
client = openai.AsyncOpenAI(api_key="test_key")
|
||||
set_default_openai_client(client)
|
||||
chat_model = OpenAIProvider(use_responses=False).get_model("gpt-4")
|
||||
chat_model = OpenAIProvider(use_responses=False).get_model(cai_model)
|
||||
assert chat_model._client.api_key == "test_key" # type: ignore
|
||||
|
||||
|
||||
|
|
@ -32,33 +35,33 @@ def test_resp_no_default_key_errors(monkeypatch):
|
|||
monkeypatch.delenv("OPENAI_API_KEY", raising=False)
|
||||
assert os.getenv("OPENAI_API_KEY") is None
|
||||
with pytest.raises(openai.OpenAIError):
|
||||
OpenAIProvider(use_responses=True).get_model("gpt-4")
|
||||
OpenAIProvider(use_responses=True).get_model(cai_model)
|
||||
|
||||
|
||||
def test_resp_set_default_openai_key():
|
||||
set_default_openai_key("test_key")
|
||||
resp_model = OpenAIProvider(use_responses=True).get_model("gpt-4")
|
||||
resp_model = OpenAIProvider(use_responses=True).get_model(cai_model)
|
||||
assert resp_model._client.api_key == "test_key" # type: ignore
|
||||
|
||||
|
||||
def test_resp_set_default_openai_client():
|
||||
client = openai.AsyncOpenAI(api_key="test_key")
|
||||
set_default_openai_client(client)
|
||||
resp_model = OpenAIProvider(use_responses=True).get_model("gpt-4")
|
||||
resp_model = OpenAIProvider(use_responses=True).get_model(cai_model)
|
||||
assert resp_model._client.api_key == "test_key" # type: ignore
|
||||
|
||||
|
||||
def test_set_default_openai_api():
|
||||
assert isinstance(OpenAIProvider().get_model("gpt-4"), OpenAIResponsesModel), (
|
||||
assert isinstance(OpenAIProvider().get_model(cai_model), OpenAIResponsesModel), (
|
||||
"Default should be responses"
|
||||
)
|
||||
|
||||
set_default_openai_api("chat_completions")
|
||||
assert isinstance(OpenAIProvider().get_model("gpt-4"), OpenAIChatCompletionsModel), (
|
||||
assert isinstance(OpenAIProvider().get_model(cai_model), OpenAIChatCompletionsModel), (
|
||||
"Should be chat completions model"
|
||||
)
|
||||
|
||||
set_default_openai_api("responses")
|
||||
assert isinstance(OpenAIProvider().get_model("gpt-4"), OpenAIResponsesModel), (
|
||||
assert isinstance(OpenAIProvider().get_model(cai_model), OpenAIResponsesModel), (
|
||||
"Should be responses model"
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue