fix: allow initial_message_sequence to have assistant message (#1729)
Co-authored-by: Sarah Wooders <sarahwooders@gmail.com> Co-authored-by: Kevin Lin <kl2806@columbia.edu> Co-authored-by: Kevin Lin <klin5061@gmail.com>
This commit is contained in:
65
tests/integration_test_initial_sequence.py
Normal file
65
tests/integration_test_initial_sequence.py
Normal file
@@ -0,0 +1,65 @@
|
||||
import os
|
||||
import threading
|
||||
import time
|
||||
|
||||
import pytest
|
||||
from dotenv import load_dotenv
|
||||
from letta_client import Letta, MessageCreate
|
||||
|
||||
|
||||
def run_server():
|
||||
load_dotenv()
|
||||
|
||||
from letta.server.rest_api.app import start_server
|
||||
|
||||
print("Starting server...")
|
||||
start_server(debug=True)
|
||||
|
||||
|
||||
@pytest.fixture(
|
||||
scope="module",
|
||||
)
|
||||
def client(request):
|
||||
# Get URL from environment or start server
|
||||
server_url = os.getenv("LETTA_SERVER_URL", f"http://localhost:8283")
|
||||
if not os.getenv("LETTA_SERVER_URL"):
|
||||
print("Starting server thread")
|
||||
thread = threading.Thread(target=run_server, daemon=True)
|
||||
thread.start()
|
||||
time.sleep(5)
|
||||
print("Running client tests with server:", server_url)
|
||||
|
||||
# create the Letta client
|
||||
yield Letta(base_url=server_url, token=None)
|
||||
|
||||
|
||||
def test_initial_sequence(client: Letta):
|
||||
# create an agent
|
||||
agent = client.agents.create(
|
||||
memory_blocks=[{"label": "human", "value": ""}, {"label": "persona", "value": ""}],
|
||||
model="letta/letta-free",
|
||||
embedding="letta/letta-free",
|
||||
initial_message_sequence=[
|
||||
MessageCreate(
|
||||
role="assistant",
|
||||
content="Hello, how are you?",
|
||||
),
|
||||
MessageCreate(role="user", content="I'm good, and you?"),
|
||||
],
|
||||
)
|
||||
|
||||
# list messages
|
||||
messages = client.agents.messages.list(agent_id=agent.id)
|
||||
response = client.agents.messages.create(
|
||||
agent_id=agent.id,
|
||||
messages=[
|
||||
MessageCreate(
|
||||
role="user",
|
||||
content="hello assistant!",
|
||||
)
|
||||
],
|
||||
)
|
||||
assert len(messages) == 3
|
||||
assert messages[0].message_type == "system_message"
|
||||
assert messages[1].message_type == "assistant_message"
|
||||
assert messages[2].message_type == "user_message"
|
||||
Reference in New Issue
Block a user