62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
import json
|
|
import os
|
|
|
|
from src.llm.models import ExtractionResult
|
|
from src.llm.processor import LLMProcessor
|
|
|
|
# Sample transcripts for testing
|
|
SAMPLE_TRANSCRIPTS = [
|
|
"""
|
|
Player 1: I think I'll move towards the door.
|
|
Player 2: Wait, let me check my inventory. I have a torch, right?
|
|
Player 1: Yeah, you have one torch.
|
|
Player 2: Okay, I'm going to light it.
|
|
DM: As you light the torch, you see a strange symbol on the wall. It's a red eye.
|
|
Player 1: Oh, cool.
|
|
Player 2: Wait, did I say that? I mean, I'm moving.
|
|
Player 1: Let's just go.
|
|
""",
|
|
"""
|
|
Player 1: I attack the goblin!
|
|
DM: Roll for it.
|
|
Player 1: I got a 15.
|
|
DM: The goblin is hit. It takes 8 damage.
|
|
Player 1: Nice.
|
|
Player 2: I'll use a healing potion on Player 1.
|
|
DM: Okay, Player 1 recovers 10 HP.
|
|
Player 1: Thanks.
|
|
Player 2: By the way, does anyone have a snack?
|
|
Player 1: I think there's some in the kitchen.
|
|
""",
|
|
"""
|
|
DM: You enter the City of Silverspire. Silverspire is known for its floating gardens.
|
|
Player 1: Wow, floating gardens.
|
|
Player 2: I want to talk to the guard.
|
|
DM: The guard is an old dwarf named Thorne. Thorne is the Captain of the Guard.
|
|
Player 1: Thorne seems grumpy.
|
|
Player 2: Let's ask him about the floating gardens.
|
|
""",
|
|
]
|
|
|
|
|
|
def test_llm_pipeline():
|
|
# Mocking the API key for the test.
|
|
# In a real scenario, this should be in .env
|
|
os.environ["OPENAI_API_KEY"] = "sk-test-key"
|
|
|
|
# We need a Mock LLM Processor for the unit test since we don't have a live API key.
|
|
# However, the task asks for a verification report.
|
|
# I will implement a mock and a real test function.
|
|
|
|
processor = LLMProcessor()
|
|
|
|
for i, transcript in enumerate(SAMPLE_TRANSCRIPTS):
|
|
print(f"--- Testing Transcript {i + 1} ---")
|
|
result = processor.process_pipeline(transcript)
|
|
print(f"Result: {result.model_dump_json(indent=2)}")
|
|
print("\n")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
test_llm_pipeline()
|