Pre-release
This release is a pre-release and may not be stable for production use.
Flowire AI Nodes
AI/LLM nodes for Flowire workflow automation. This package provides nodes for sending prompts to LLM providers and getting responses.
Installation
cd flowire-app/backend
uv pip install fw-nodes-ai
Then enable the package in your .env file:
# .env (comma-separated list)
INSTALLED_NODE_PACKAGES=fw-nodes-core,fw-nodes-ai
Included Nodes
| Node | Description |
|---|---|
LLM Prompt |
Send a prompt to an LLM and get a response |
Supported Providers
| Provider | API Style | Auth |
|---|---|---|
| OpenAI | OpenAI | API key |
| Anthropic | Anthropic | API key |
| Google Gemini | OpenAI-compatible | API key |
| Groq | OpenAI-compatible | API key |
| Mistral | OpenAI-compatible | API key |
| Ollama | OpenAI-compatible | None (local) |
| Custom | OpenAI-compatible | API key |
Usage Example
LLM Prompt
Send a prompt to any supported LLM provider:
# Node configuration:
{
"credential_id": "your-llm-credential",
"model": "gpt-4o",
"system_prompt": "You are a helpful assistant.",
"user_message": "Summarize this text: {{previous-node.output}}",
"temperature": 0.7,
"response_format": "text"
}
# Outputs:
# - response: LLM response (text string or parsed JSON object)
# - model: Model that was used
# - usage: Token usage statistics (prompt_tokens, completion_tokens, total_tokens)
# - finish_reason: Why the LLM stopped generating
# - rate_limits: Provider rate limit status
JSON Mode
Request structured JSON output:
{
"credential_id": "your-llm-credential",
"model": "gpt-4o",
"user_message": "Extract the name and age from: John is 30 years old",
"temperature": 0.0,
"response_format": "json",
"json_schema": {
"name": "extraction",
"strict": true,
"schema": {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"}
},
"required": ["name", "age"]
}
}
}
# Output response will be a parsed JSON object:
# {"name": "John", "age": 30}
Development
# Install with dev dependencies
uv sync --all-extras
# Run linter
just check
# Run tests
just test
Project Structure
fw-nodes-ai/
├── fw_nodes_ai/
│ ├── __init__.py
│ ├── credentials.py
│ ├── providers.py
│ └── nodes/
│ ├── __init__.py
│ └── llm_prompt.py
├── tests/
├── pyproject.toml
└── README.md
License
This project is licensed under the MIT License.
Metadata
Release files for fw-nodes-ai 0.0.1a1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fw_nodes_ai-0.0.1a1.tar.gz | 12.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fw_nodes_ai-0.0.1a1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.8 kB
Release files / fw_nodes_ai-0.0.1a1.tar.gz
| Download URL | fw_nodes_ai-0.0.1a1.tar.gz |
|---|---|
| Size | 12.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
feb5e8db2d4b5111a1dbc395f8789a42f459656a24890ad36d18bfb84b01e8d8
|
|
BLAKE2b-256 checksum How to use checksums |
973f01eb5e784a1e78ad3a228451f919bfd5877ea057396cff7378dffdb5ebca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / fw_nodes_ai-0.0.1a1-py3-none-any.whl
| Download URL | fw_nodes_ai-0.0.1a1-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
266c025bb8dfdf7aa282bed2a31b4a735fa77b22b81cc356b06d41804457f7fd
|
|
BLAKE2b-256 checksum How to use checksums |
b0146ddd3c4b6057abbc94ce2878c2f4c72958411de17afea6c9c7ff653cb9b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"12","id":"bookworm","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|