Memory for AI Agents - Simple natural language SDK
Project description
Antonlytics Python SDK
Memory for AI Agents - Simple natural language SDK.
Installation
pip install antonlytics
Quick Start
from antonlytics import Agent
# Initialize agent
agent = Agent(
api_key="your-api-key",
project_id="your-project-id"
)
# Ingest - agent learns from natural language
agent.ingest("""
Had a call with Sarah Johnson from TechCorp today.
She's interested in our Enterprise plan for 50 users.
Follow up next Tuesday.
""")
# Chat - agent remembers and responds
response = agent.chat("Who should I follow up with?")
print(response["response"])
# => "You should follow up with Sarah Johnson from TechCorp..."
Features
- Natural Language Ingestion - No complex entity creation, just plain English
- AI-Powered Chat - Chat with your agent using our model + your memory
- Memory Access - Get structured memory for your own AI model
- System Prompts - Configure agent behavior and personality
- Simple API - 3 lines of code to get started
Two Usage Options
Option 1: Use Our Model
Full-service AI with your system prompt + memory:
# We handle everything
response = agent.chat("Who should I follow up with?")
print(response["response"])
Option 2: Use Your Model
Just get memory context for your own model:
# Get memory
memory = agent.get_memory()
# Use with your model (OpenAI, Anthropic, etc.)
from openai import OpenAI
client = OpenAI()
response = client.chat.completions.create(
model="gpt-4",
messages=[
{"role": "system", "content": "You are a sales assistant"},
{"role": "system", "content": f"Memory: {memory}"},
{"role": "user", "content": "Who to follow up?"}
]
)
Documentation
Agent Class
__init__(api_key, project_id, base_url=None)
Initialize the agent.
Parameters:
api_key(str): Your Antonlytics API keyproject_id(str): Your project/agent IDbase_url(str, optional): API base URL
ingest(text: str) -> dict
Ingest natural language text and extract entities/relationships.
Parameters:
text(str): Natural language text (conversations, notes, emails)
Returns:
- dict with extracted entities and relationships
Example:
result = agent.ingest("Customer Alice bought Laptop Pro for $999")
print(result["created"]) # {"entities": 2, "relationships": 1}
chat(message: str, history: list = None) -> dict
Chat with your agent. Uses system prompt + full memory context.
Parameters:
message(str): Your question or messagehistory(list, optional): Conversation history
Returns:
- dict with response and relevant entities
Example:
response = agent.chat("Who bought laptops?")
print(response["response"])
print(response["relevant_entities"])
get_memory(query: str = None) -> dict
Get structured memory for your own AI model.
Parameters:
query(str, optional): Natural language query to filter memory
Returns:
- dict with entities and relationships
Example:
memory = agent.get_memory("laptop purchases")
# Use with your own model
set_system_prompt(prompt: str) -> dict
Configure agent behavior and personality.
Parameters:
prompt(str): System prompt text
Example:
agent.set_system_prompt("""
You are a helpful sales assistant.
Be concise and action-oriented.
Focus on follow-ups and next steps.
""")
get_system_prompt() -> str
Get current system prompt.
Returns:
- str: System prompt text
Error Handling
from antonlytics import Agent, AntonlyticsError, APIError, AuthenticationError
try:
agent = Agent(api_key="invalid", project_id="test")
agent.chat("Hello")
except AuthenticationError as e:
print(f"Auth error: {e}")
except APIError as e:
print(f"API error: {e.status_code} - {e}")
except AntonlyticsError as e:
print(f"Error: {e}")
Complete Example
from antonlytics import Agent
# Initialize
agent = Agent(
api_key="your-api-key",
project_id="your-project-id"
)
# Set behavior
agent.set_system_prompt("""
You are a sales assistant.
Focus on follow-ups and next steps.
""")
# Ingest multiple conversations
agent.ingest("""
Call with Mike Rodriguez from StartupXYZ.
He's the founder. Looking at our API for their mobile app.
Has 100K users. Wants custom pricing.
Send proposal by Friday.
""")
agent.ingest("""
Email from Sarah Chen at BigCorp.
VP of Engineering. Interested in Enterprise.
Team of 200 developers. Budget discussion next week.
""")
# Query memory
response = agent.chat("What are my top priorities this week?")
print(response["response"])
# Get all contacts
response = agent.chat("List all people I've talked to")
for entity in response["relevant_entities"]:
if entity["type"] == "Person":
print(f"- {entity['name']}")
Requirements
- Python >= 3.8
- requests >= 2.28.0
Development
# Clone repository
git clone https://github.com/Voidback-Inc/antonlytics-python-sdk
cd antonlytics-python-sdk
# Install dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black .
# Type check
mypy antonlytics
Links
License
MIT License - see LICENSE file for details.
Support
- Email: support@antonlytics.com
- Documentation: https://antonlytics.com/docs
- Issues: https://github.com/Voidback-Inc/antonlytics-python-sdk/issues
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file antonlytics-2.1.0.tar.gz.
File metadata
- Download URL: antonlytics-2.1.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce5ad1f2d648e90e089fc858c332396dce040697a690adbe1d218e0828974f6d
|
|
| MD5 |
ca2714537b9aaa4e0775e96914f84caf
|
|
| BLAKE2b-256 |
30287bb4afbee32031f951b20cac0a3266d27009597771a19a38189121a249f4
|
File details
Details for the file antonlytics-2.1.0-py3-none-any.whl.
File metadata
- Download URL: antonlytics-2.1.0-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.16 {"installer":{"name":"uv","version":"0.9.16","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
713ff8c2cbd22d1815e2733846a88c3689cf409c586e500d1bf086e38a5a24b2
|
|
| MD5 |
25ccf5482173a52f2dab48a2e9987d3e
|
|
| BLAKE2b-256 |
a897610db87f71b9a654bf28fbf2e873eb4ead456b2bd601fd3f73124d19f83d
|