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())

🧠 Embedding Model

from linkgrid_agent.agent import get_embedding_model
import asyncio

async def main():
    model = await get_embedding_model()
    sentences = ["Hello world", "Another sentence"]
    embeddings = model.encode(sentences)
    print(embeddings)

asyncio.run(main())

⚙️ 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
api_url "https://bitnet-demo.azurewebsites.net/completion" BitNet API endpoint

🔧 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
  • sentence-transformers – Text embedding models
  • torch – PyTorch backend for sentence-transformers

📄 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.5.tar.gz (5.5 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.5-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: linkgrid_agent-0.1.5.tar.gz
  • Upload date:
  • Size: 5.5 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.5.tar.gz
Algorithm Hash digest
SHA256 8d82c888f285a2c356a9e95419fc904e5a40d01c8fa17c3e08e379263628c0ce
MD5 3c7e47f264a4ab0eff427dcda0819f41
BLAKE2b-256 658ad2d80905ad27498defe3d0f159dcca47753b0d2172354c810239b668dab0

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: linkgrid_agent-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 6.1 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 3b75cbc6a4aec365256a84940ffa0c2958af2ad4991fc61d725900e5e8f91768
MD5 db6cf9d22c13c0e2c99315bbf8b25f78
BLAKE2b-256 dfd1f003ce6c80ec99fb1c77aa067ba8adffff31aa669f46ed0d13870f2b30b6

See more details on using hashes here.

Provenance

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