Skip to main content

A simple library to add memory to AI chatbots

Project description

StateCall

A simple Python library that adds memory to AI chatbots. StateCall remembers your conversations so AI can reference previous messages.

What it does

Most AI chatbots forget everything when you start a new conversation. StateCall saves your chat history so the AI can remember what you talked about before.

Features

  • Works with any AI service (OpenAI, Groq, Claude, etc.)
  • Built-in Groq support
  • Saves conversations locally on your computer
  • No database or internet connection needed
  • Simple to use

Installation

pip install statecall

Quick start

Basic usage

from statecall.memory import append_to_history, load_context
import openai

openai.api_key = "your-openai-api-key"
session_id = "my-chat"

# Save a message
append_to_history(session_id, "user", "Tell me a joke.")
history = load_context(session_id)

# Get AI response
response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo",
    messages=history
)

assistant_msg = response["choices"][0]["message"]["content"]
append_to_history(session_id, "assistant", assistant_msg)

print("AI:", assistant_msg)

Using Groq

from statecall.groq_client import GroqClient
from statecall.memory import append_to_history, get_session_history

session_id = "groq-chat"
client = GroqClient(api_key="your-groq-api-key")

append_to_history(session_id, "user", "Who won the World Cup in 2022?")
history = get_session_history(session_id)
response = client.chat(history)

append_to_history(session_id, "assistant", response)
print("AI:", response)

How it works

StateCall saves your conversations in two files on your computer:

  • .statecall_history.json - stores all your messages
  • .statecall_sessions.json - tracks your chat sessions

This way your conversations are saved between app restarts without needing a database.

Examples

Check the examples/ folder:

  • custom_llm_openai_example.py - using OpenAI
  • groq_chat_example.py - using Groq

To run an example:

python examples/groq_chat_example.py

License

MIT License # StateCall

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

statecall-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

statecall-0.1.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file statecall-0.1.0.tar.gz.

File metadata

  • Download URL: statecall-0.1.0.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for statecall-0.1.0.tar.gz
Algorithm Hash digest
SHA256 af1b0064eb99cb96e495896872bb55be42e1e4d7dcba0e9ac550c414f81c60e1
MD5 24b69350ee44d03867750f95841b426b
BLAKE2b-256 c503ab8c2931f69ff8593989ed086cb75e25509b722433200774f8d57ca0591b

See more details on using hashes here.

File details

Details for the file statecall-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: statecall-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for statecall-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 615feecbaf1b7dc88bee08e9c0f5c07e35f2d8a83fda2784e8298ec27a31aaac
MD5 ce83b97a7125ae24e199ac4fbe69b5b4
BLAKE2b-256 1a7f0cea32a74abf56ae26357e6902ad5148bdae5fbfcaf4e02d77841564d8f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page