Skip to main content

chat

The chat function provides interactive conversation sessions.

Import

from openstackai import chat

Basic Usage

# Start chat session
session = chat()

# Send messages
response = session.send("Hello!")
response = session.send("What's your name?")

Quick Start

from openstackai import chat

# Create session
session = chat()

# Conversation
print(session.send("Hi, I need help with Python"))
print(session.send("How do I read a file?"))
print(session.send("Can you show an example?"))

# Session maintains context

Parameters

ParameterTypeDefaultDescription
systemstrNoneSystem prompt
modelstrNoneModel to use
temperaturefloat0.7Response creativity
memoryboolTrueRemember conversation

Examples

Basic Chat

from openstackai import chat

session = chat()

while True:
user_input = input("You: ")
if user_input.lower() == "quit":
break
response = session.send(user_input)
print(f"AI: {response}")

With System Prompt

session = chat(
system="You are a helpful Python tutor. Explain concepts simply."
)

response = session.send("What is a decorator?")

With Custom Model

session = chat(
model="gpt-4",
temperature=0.5
)

response = session.send("Help me design an API")

Context Manager

from openstackai import chat

with chat() as session:
print(session.send("Hello"))
print(session.send("Tell me a joke"))
# Session automatically cleaned up

Conversation History

session = chat()
session.send("My name is Alice")
session.send("I work at Acme Corp")

# Later in conversation
response = session.send("What's my name?")
# "Your name is Alice"

# Access history
for msg in session.history:
print(f"{msg['role']}: {msg['content']}")

Clear and Reset

session = chat()
session.send("Remember: secret code is 1234")

# Clear history
session.clear()

session.send("What's the secret code?")
# Won't remember

Streaming Responses

session = chat()

# Stream response
for chunk in session.stream("Write a long story"):
print(chunk, end="", flush=True)
print()

Async Usage

import asyncio
from openstackai import chat

async def main():
session = chat()
response = await session.send_async("Hello!")
print(response)

asyncio.run(main())

Session Methods

MethodDescription
send(message)Send message and get response
stream(message)Stream response
clear()Clear conversation history
save(path)Save session to file
load(path)Load session from file

Persistence

session = chat()
session.send("Important context here")

# Save session
session.save("session.json")

# Later, restore session
restored = chat.load("session.json")
restored.send("Do you remember?")

See Also

  • [[ask]] - Single question answering
  • [[Agent]] - Full agent framework
  • [[Voice-Module]] - Voice chat