Metadata-Version: 2.4
Name: langchain-xynq
Version: 0.1.0
Summary: LangChain integration for XYNQ — decentralized OpenAI-compatible inference.
Project-URL: Homepage, https://xynq.ai
Project-URL: Documentation, https://github.com/visionsXBT/xynq/blob/main/langchain-xynq/README.md
Project-URL: Repository, https://github.com/visionsXBT/xynq
Project-URL: Issues, https://github.com/visionsXBT/xynq/issues
Author-email: XYNQ <dev@xynq.ai>
License-Expression: MIT
Keywords: agents,decentralized,gpu,langchain,llm,openai,xynq
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.10
Requires-Dist: langchain-core>=0.3.0
Requires-Dist: langchain-openai>=0.2.0
Description-Content-Type: text/markdown

# langchain-xynq

LangChain / LangGraph integration for **[XYNQ](https://xynq.ai)** — decentralized, OpenAI-compatible inference.

```bash
pip install langchain-xynq
```

## Quick start

```python
import os

os.environ["XYNQ_API_KEY"] = "xynq_sk_..."  # or export in your shell

from langchain_xynq import ChatXYNQ

llm = ChatXYNQ.smart(temperature=0.7)
print(llm.invoke("Explain backpropagation in two sentences.").content)
```

Get a key at [xynq.ai](https://xynq.ai) → **Account** (1M free tokens/month).

## API

### `ChatXYNQ`

Drop-in `ChatOpenAI` subclass with XYNQ defaults:

| Default | Value | Override |
| --- | --- | --- |
| Base URL | `https://xynq.ai/v1` | `XYNQ_BASE_URL` or `base_url=` |
| API key | `XYNQ_API_KEY` | `api_key=` |
| Model | `xynq-1` | `model=` |

```python
from langchain_xynq import ChatXYNQ, FAST_MODEL, SMART_MODEL

fast = ChatXYNQ.fast()           # xynq-1
smart = ChatXYNQ.smart()         # xynq-glm-5.2
custom = ChatXYNQ(model="xynq-qwen-3.5-27b", temperature=0)
```

Streaming works like any LangChain model:

```python
for chunk in ChatXYNQ.smart().stream("Count to five."):
    print(chunk.content or "", end="", flush=True)
```

## LangGraph

Use `ChatXYNQ` anywhere you would use `ChatOpenAI`:

```python
from langgraph.prebuilt import create_react_agent
from langchain_xynq import ChatXYNQ

agent = create_react_agent(ChatXYNQ.smart(), tools=[...])
agent.invoke({"messages": [("user", "Hello")]})
```

Runnable examples: [`examples/langgraph-xynq/`](../examples/langgraph-xynq/README.md)

## Models

| Alias | Model id |
| --- | --- |
| `ChatXYNQ.fast()` | `xynq-1` |
| `ChatXYNQ.smart()` | `xynq-glm-5.2` |
| — | `xynq-qwen-3.5-27b` |
| — | `xynq-supergemma-4-26b` |

## Node / TypeScript

Use [`@xynqai/langchain`](../langchain/README.md) for the JavaScript equivalent.

## Related

- [XYNQ API reference](../API.md)
- [@xynqai/plugin-eliza](../plugin-eliza/README.md) — ElizaOS integration
- [@xynqai/cli](../cli/README.md) — terminal client

## License

MIT
