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.2.0.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.2.0-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for linkgrid_agent-0.2.0.tar.gz
Algorithm Hash digest
SHA256 07f82156b15933b5b4cd163bea37d4b8c4e451a698dd5f7d8ad802e7c4e9910d
MD5 41ce3ba0b3e1355d1f921244f3f3d9fa
BLAKE2b-256 a163abd5ac079178f7fa090dc7f039837aac5331d2a55fac08be4a58293e5dca

See more details on using hashes here.

Provenance

The following attestation bundles were made for linkgrid_agent-0.2.0.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: linkgrid_agent-0.2.0-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.13.12

File hashes

Hashes for linkgrid_agent-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ec147886673c1afb8ba6a6cdd2c5969cbe7a29a07a008a7f6a5002803e35421c
MD5 f0b40c68e21fdec81f778a318448e6e6
BLAKE2b-256 fbf08facb2e6670ae9efb79ddd05a4c77dfa2be767d03b583daf73c3459ff659

See more details on using hashes here.

Provenance

The following attestation bundles were made for linkgrid_agent-0.2.0-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