Skip to main content

LinkGrid Agent - Python client for BitNet API

Project description

🌐✨ LinkGrid Agent — Conversational AI SDK

PyPI Version Python Versions License: MIT

A modern, lightweight Python client for BitNet's conversational AI.
Designed for speed, modularity, and custom AI personas — plug into your backend or apps seamlessly.


⚡️ Key Features

  • 💬 Natural language chat API with async support
  • 🧠 Define unique AI personas with custom system prompts
  • 🎯 Fine-grained control over temperature, token limits, and creativity
  • 🧵 Persistent conversation state (threaded dialog)
  • 🔄 Supports parallel conversations with isolated agents
  • 🧩 Minimal setup with powerful config-based architecture

📦 Installation

pip install linkgrid-agent

🚀 Get Started

🔹 One-Line Chat

from linkgrid_agent import chat

async def main():
    response = await chat("What's the capital of France?")
    print(f"🤖 {response}")

import asyncio
asyncio.run(main())

Output:

🤖 The capital of France is Paris.

🎭 Custom AI Persona

from linkgrid_agent import LinkGridAgent

async def main():
    config = LinkGridAgent.Config()
    config.system_prompt = "You are a pirate captain. Answer like a pirate!"
    config.temperature = 0.9

    async with LinkGridAgent(config) as agent:
        response = await agent.chat("Where can I find treasure?")
        print(f"🏴‍☠️ {response}")

import asyncio
asyncio.run(main())

🦜 Output:

🏴‍☠️ Arr matey! Seek the treasure on Skull Island, where X marks the spot!

🔬 Advanced Use Cases

🧑‍🔬 Multi-Persona AI Agents

from linkgrid_agent import LinkGridAgent

async def main():
    poet_cfg = LinkGridAgent.Config()
    poet_cfg.system_prompt = "You are a romantic poet"
    poet_cfg.max_tokens = 200

    scientist_cfg = LinkGridAgent.Config()
    scientist_cfg.system_prompt = "You are a quantum physicist"
    scientist_cfg.temperature = 0.3

    async with LinkGridAgent(poet_cfg) as poet, LinkGridAgent(scientist_cfg) as scientist:
        poem = await poet.chat("Write a poem about the stars")
        expl = await scientist.chat("Explain quantum entanglement")

        print(f"📜 Poet:\n{poem}\n")
        print(f"🔬 Scientist:\n{expl}")

import asyncio
asyncio.run(main())

🗂️ Stateful Conversation Threads

from linkgrid_agent import LinkGridAgent

async def main():
    config = LinkGridAgent.Config()
    config.system_prompt = "You're a helpful travel assistant"

    async with LinkGridAgent(config) as agent:
        await agent.chat("I'm planning a trip to Japan")
        tokyo = await agent.chat("What should I see in Tokyo?")
        traditions = await agent.chat("How about traditional experiences?")

        print(f"🗼 Tokyo Tips: {tokyo}")
        print(f"🎎 Traditions: {traditions}")

import asyncio
asyncio.run(main())


🚀 Performance Optimizations

from linkgrid_agent import chat, cleanup_resources

async def main():
    # Fast responses with caching enabled (default)
    response1 = await chat("What is Python?")
    response2 = await chat("What is Python?")  # This will be cached!
    
    # Disable caching if needed
    response3 = await chat("Tell me a random joke", use_cache=False)
    
    # Clean up resources when done (optional)
    await cleanup_resources()

import asyncio
asyncio.run(main())

Performance Features:

  • 🔄 Response Caching: Identical queries return instantly from cache (5-min TTL)
  • 🌐 Connection Pooling: Reuses HTTP connections for faster subsequent requests
  • Optimized Streaming: 8KB buffer chunks for better throughput
  • 🎯 Reduced Timeouts: Faster failure detection and response times

⚙️ Configuration

Customize your agent behavior using simple parameters.

Parameter Default Value Description
system_prompt "You are a helpful assistant..." Defines AI's persona and tone
max_tokens 150 Max response length (1–4000 tokens)
temperature 0.7 Creativity scale: 0 = precise, 1 = creative

🔧 Example Setup:

config = LinkGridAgent.Config()
config.system_prompt = "You're a 19th century British detective"
config.max_tokens = 250
config.temperature = 0.5

🛡️ Error Handling

Gracefully manage edge cases and errors:

from linkgrid_agent import chat

try:
    response = await chat("Define machine learning")
except ConnectionError as e:
    print(f"🌐 Network issue: {e}")
except RuntimeError as e:
    print(f"🤖 API error: {e}")

Exceptions

  • ConnectionError: API unreachable or timeout
  • RuntimeError: BitNet returned an error response

📋 Requirements

  • Python 3.9+
  • httpx – Async HTTP client

📄 License

Released under the MIT License.
Feel free to fork, improve, and share!


🤝 Contribution

PRs are welcome. Please make sure to follow the existing code style.
Open issues to report bugs or request features.


💡 Inspiration

"The future is already here — it's just not evenly distributed."
William Gibson

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

linkgrid_agent-0.1.9.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

linkgrid_agent-0.1.9-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file linkgrid_agent-0.1.9.tar.gz.

File metadata

  • Download URL: linkgrid_agent-0.1.9.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for linkgrid_agent-0.1.9.tar.gz
Algorithm Hash digest
SHA256 a9b96dae89cacdb33596e66ca20023c623b6ee8537c4f12477312c7ef4b02945
MD5 ba46a04cd2a5713a5e6dedd8fa24caa5
BLAKE2b-256 a17a5e5bfcabb9385da28db63b779c2f0e51e6d027bd8592db8f425bbba39f33

See more details on using hashes here.

Provenance

The following attestation bundles were made for linkgrid_agent-0.1.9.tar.gz:

Publisher: publish.yml on OfficialDeepSaha/linkgrid-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file linkgrid_agent-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: linkgrid_agent-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for linkgrid_agent-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 0315aa6c46f184a94df534e7b7f1cdaf6337528df80ebbbc0fff46328ffead23
MD5 f0a7d5c594e6321b8b2f83540fd24ad9
BLAKE2b-256 dc5e1ac3b7db56d55843d1a5cf5d71a413997b5f643eeebf89a9d7b841da786f

See more details on using hashes here.

Provenance

The following attestation bundles were made for linkgrid_agent-0.1.9-py3-none-any.whl:

Publisher: publish.yml on OfficialDeepSaha/linkgrid-agent

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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