Skip to main content

LangChain integration for Xache Protocol - verifiable AI agent memory

Project description

langchain-xache

LangChain integration for Xache Protocol - verifiable AI agent memory with cryptographic receipts, collective intelligence, and portable ERC-8004 reputation.

Installation

pip install langchain-xache

Quick Start

One-Line Memory Replacement

# Before (standard LangChain)
from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()

# After (with Xache - one line change!)
from xache_langchain import XacheMemory
memory = XacheMemory(
    wallet_address="0x...",
    private_key="0x..."
)

# Everything else stays the same
agent = initialize_agent(tools, llm, memory=memory)

Features

Memory Storage

Persistent memory that survives across sessions with cryptographic receipts:

from xache_langchain import XacheMemory

memory = XacheMemory(
    wallet_address="0xYourWallet",
    private_key="0xYourPrivateKey",
    api_url="https://api.xache.xyz",  # optional
    chain="base"  # or "solana"
)

Retrieval (RAG)

Semantic search for retrieval-augmented generation:

from xache_langchain import XacheRetriever
from langchain.chains import RetrievalQA

retriever = XacheRetriever(
    wallet_address="0x...",
    private_key="0x...",
    k=5  # number of documents
)

qa = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)

Collective Intelligence

Query and contribute to shared knowledge:

from xache_langchain import XacheCollectiveContributeTool, XacheCollectiveQueryTool

# Add to your agent's tools
contribute = XacheCollectiveContributeTool(
    wallet_address="0x...",
    private_key="0x..."
)

query = XacheCollectiveQueryTool(
    wallet_address="0x...",
    private_key="0x..."
)

tools = [contribute, query, ...]

Memory Extraction

Auto-extract memories from conversations:

from xache_langchain import XacheExtractor

extractor = XacheExtractor(
    wallet_address="0x...",
    private_key="0x...",
    mode="xache-managed"  # or "api-key" with your LLM key
)

result = extractor.extract(
    trace="User asked about quantum computing...",
    auto_store=True  # automatically store extracted memories
)

print(f"Extracted {len(result.memories)} memories")

Knowledge Graph

Build and query a privacy-preserving knowledge graph of entities and relationships:

from xache_langchain import (
    XacheGraphExtractTool,
    XacheGraphLoadTool,
    XacheGraphQueryTool,
    XacheGraphAskTool,
    XacheGraphAddEntityTool,
    XacheGraphAddRelationshipTool,
    XacheGraphMergeEntitiesTool,
    XacheGraphEntityHistoryTool,
    XacheGraphRetriever,
)

config = {
    "wallet_address": "0x...",
    "private_key": "0x...",
    "llm_provider": "anthropic",
    "llm_api_key": "sk-ant-...",
}

# Extract entities from text
extract_tool = XacheGraphExtractTool(**config)

# Query graph around an entity
query_tool = XacheGraphQueryTool(wallet_address="0x...", private_key="0x...")

# Ask natural language questions
ask_tool = XacheGraphAskTool(**config)

# Load the full graph
load_tool = XacheGraphLoadTool(wallet_address="0x...", private_key="0x...")

# Add entities and relationships manually
add_entity_tool = XacheGraphAddEntityTool(wallet_address="0x...", private_key="0x...")
add_rel_tool = XacheGraphAddRelationshipTool(wallet_address="0x...", private_key="0x...")

# Merge duplicate entities
merge_tool = XacheGraphMergeEntitiesTool(wallet_address="0x...", private_key="0x...")

# View entity version history
history_tool = XacheGraphEntityHistoryTool(wallet_address="0x...", private_key="0x...")

# Use as a retriever for RAG
graph_retriever = XacheGraphRetriever(
    wallet_address="0x...",
    private_key="0x...",
    k=10
)

docs = graph_retriever.get_relevant_documents("engineering team")

Reputation

Check and verify agent reputation:

from xache_langchain import XacheReputationTool, XacheReputationChecker

# As a tool for your agent
rep_tool = XacheReputationTool(
    wallet_address="0x...",
    private_key="0x..."
)

# Or check other agents
checker = XacheReputationChecker(
    wallet_address="0x...",
    private_key="0x..."
)

other_rep = checker.check("did:agent:evm:0xOtherAgent...")
if other_rep.score >= 0.5:
    print("Agent is trustworthy")

Chat History

For more control over message history:

from xache_langchain import XacheChatMessageHistory
from langchain.memory import ConversationBufferMemory

history = XacheChatMessageHistory(
    wallet_address="0x...",
    private_key="0x...",
    session_id="unique-session-id"
)

memory = ConversationBufferMemory(chat_memory=history)

Pricing

All operations use x402 micropayments (auto-handled):

Operation Price
Memory Store $0.002
Memory Retrieve $0.003
Collective Contribute $0.002
Collective Query $0.011
Extraction (managed) $0.011
Graph Operations $0.002
Graph Ask (managed) $0.011

ERC-8004 Portable Reputation

Xache supports ERC-8004 for portable, on-chain reputation. Enable it to make your agent's reputation verifiable across platforms.

Resources

License

MIT

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

langchain_xache-0.5.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

langchain_xache-0.5.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file langchain_xache-0.5.0.tar.gz.

File metadata

  • Download URL: langchain_xache-0.5.0.tar.gz
  • Upload date:
  • Size: 18.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.6

File hashes

Hashes for langchain_xache-0.5.0.tar.gz
Algorithm Hash digest
SHA256 7c0ceb307be18b19e1e7a146791ce48e8e59b70c32d22a6eb724ab038e07cadf
MD5 89c364cadb56c76dd27501af3d41f7e3
BLAKE2b-256 5a321ec5aad2b3a3df68cdb470978785a075c80173d71929e221336bcf0d56c5

See more details on using hashes here.

File details

Details for the file langchain_xache-0.5.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_xache-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 07886a38bcb79fca1531b78be227c4442284c723489184a8a741ff7126749888
MD5 45e77be3457269d91a0b2bd508ff85ab
BLAKE2b-256 62a3bcb5fc989414ac7905d0b9c9c593dad4173b619a30e823abbba106136b8a

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