Skip to main content

MOSAICO Solution Agent for IP-related queries.

Project description

MOSAICO IP Agent

GitHub Actions Workflow Status PyPI - Version PyPI - Python Version GitHub Release REUSE status GitHub License

This agent uses an LLM to parse natural language queries about software libraries, extracts package details, and fetches real-time licensing information from the Eclipse Foundation and ClearlyDefined APIs.

Features

  • Provider-Agnostic Extraction: Leverages LiteLLM to accurately extract package names, types (npm, pypi, maven), and versions. While optimized for Ollama, it supports 100+ LLM providers (OpenAI, Anthropic, Azure, etc.) via simple configuration changes.
  • License Verification: Automatically queries the Eclipse Foundation and ClearlyDefined to find the declared license for the extracted package.
  • A2A SDK Integration: Fully compatible with the MOSAICO A2A architecture, handling task states and artifact generation.
  • Observability: Built-in tracing and observability using Langfuse.

Prerequisites

  • Python: 3.10 or higher
  • Package Manager: uv (recommended)
  • LLM Backend:
    • Local: Ollama (Default)
    • Remote: Any LiteLLM-supported provider (OpenAI, Claude, etc.)

Installation

From PyPI

pip install mosaico-ip-agent

From GHCR (Docker)

docker pull ghcr.io/gomes89/mosaico-ip-agent:latest

From Source (Development Only)

git clone https://github.com/gomes89/mosaico-ip-agent.git
cd mosaico-ip-agent
uv sync

# Windows:
.venv\Scripts\activate 
# Linux/macOS:
source .venv/bin/activate

Configuration

The agent is configured using environment variables. You can set these in your terminal or use a .env file if you install a package like python-dotenv later.

Environment Variable Default Value Description
HOST 0.0.0.0 The host IP for the Uvicorn server to bind to.
PORT 9000 The port for the Uvicorn server.
AGENT_CARD_HOST localhost The host for the URL in the Agent Card.
AGENT_CARD_PORT PORT The port for the URL in the Agent Card.
LLM_API_BASE http://localhost:11434 The endpoint where the LLM provider is running.
LLM_API_KEY (None) The API key to access the LLM endpoint.
LLM_CONTEXT_LENGTH (None) Explicit context window size (specifically for Ollama).
LLM_MODEL_NAME ollama/qwen2.5:0.5b The model identifier for LiteLLM to request.
LANGFUSE_HOST https://cloud.langfuse.com The base URL of the Langfuse observability server.
LANGFUSE_PUBLIC_KEY (None/Required) The public key for the Langfuse observability server.
LANGFUSE_SECRET_KEY (None/Required) The secret key for the Langfuse observability server.

Running the Agent

Because the project is installed as a package with defined entry points, you have two simple ways to start the agent:

Option 1: Using the CLI command

mosaico-ip-agent

Option 2: Running the module directly

python -m mosaico_ip_agent

You can verify the agent is running by querying the health check endpoint:

# Linux / macOS Bash:
curl -f http://localhost:9000/health

# Windows PowerShell:
Invoke-RestMethod -Uri "http://localhost:9000/health"

License

This program and the accompanying materials are made available under the terms of the MIT License, which is available at https://opensource.org/license/mit.

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

mosaico_ip_agent-0.1.2.tar.gz (190.1 kB view details)

Uploaded Source

Built Distribution

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

mosaico_ip_agent-0.1.2-py3-none-any.whl (16.8 kB view details)

Uploaded Python 3

File details

Details for the file mosaico_ip_agent-0.1.2.tar.gz.

File metadata

  • Download URL: mosaico_ip_agent-0.1.2.tar.gz
  • Upload date:
  • Size: 190.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mosaico_ip_agent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0f606fc618962cfe79531840caf45cd31ff3563566091467ae903bc0c62eebb6
MD5 d712a4050da29d155111fcd69ded876e
BLAKE2b-256 55e3be08a0c3775332b2c45379e745848d904dcc89c72b3cab85acf1df159cda

See more details on using hashes here.

File details

Details for the file mosaico_ip_agent-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: mosaico_ip_agent-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 16.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for mosaico_ip_agent-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d24c4accf2d6597108432cffaeb083cc2329ebf16ff8576f1bbe8f8697906402
MD5 6e673de9a7bacbef2bc3a1515f5d7b54
BLAKE2b-256 536242e42eff0e2d150d4e4f2bb46b780a9ccf55f0f7551c63eabfb908f976f0

See more details on using hashes here.

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