MCPcopy Index your code
hub / github.com/openai/openai-agents-python / main

Function main

examples/memory/mongodb_session_example.py:20–67  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

18
19
20async def main():
21 agent = Agent(
22 name="Assistant",
23 instructions="Reply very concisely.",
24 )
25
26 # One client shared across all sessions (production pattern).
27 client: AsyncMongoClient[Any] = AsyncMongoClient(MONGO_URI)
28
29 try:
30 await client.admin.command("ping")
31 except Exception:
32 print("MongoDB is not available on localhost:27017")
33 print("Start it with: docker run -d -p 27017:27017 mongo")
34 return
35
36 session_a = MongoDBSession("conversation_a", client=client, database=DATABASE)
37 session_b = MongoDBSession("conversation_b", client=client, database=DATABASE)
38
39 # Clean slate for the demo.
40 await session_a.clear_session()
41 await session_b.clear_session()
42
43 # --- Session A: multi-turn conversation ---
44 print("=== Session A ===")
45 result = await Runner.run(agent, "What city is the Golden Gate Bridge in?", session=session_a)
46 print(f"Turn 1: {result.final_output}")
47
48 result = await Runner.run(agent, "What state is it in?", session=session_a)
49 print(f"Turn 2: {result.final_output}")
50
51 result = await Runner.run(agent, "What's the population of that state?", session=session_a)
52 print(f"Turn 3: {result.final_output}")
53
54 # --- Session B: independent conversation on the same client ---
55 print("\n=== Session B ===")
56 result = await Runner.run(agent, "What is the capital of France?", session=session_b)
57 print(f"Turn 1: {result.final_output}")
58
59 # Show isolation.
60 a_items = await session_a.get_items()
61 b_items = await session_b.get_items()
62 print(f"\nSession A items: {len(a_items)}, Session B items: {len(b_items)}")
63
64 # Cleanup.
65 await session_a.clear_session()
66 await session_b.clear_session()
67 await client.close()
68
69
70if __name__ == "__main__":

Callers 1

Calls 7

clear_sessionMethod · 0.95
get_itemsMethod · 0.95
AgentClass · 0.90
MongoDBSessionClass · 0.90
commandMethod · 0.45
runMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected