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.3.tar.gz (191.0 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.3-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mosaico_ip_agent-0.1.3.tar.gz
  • Upload date:
  • Size: 191.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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.3.tar.gz
Algorithm Hash digest
SHA256 dea1d7a46df953f6735c4a0873f678154e5ce259f9864133daa61cee4d2f51c6
MD5 87bb08891245a9d4064e37888b1dfec2
BLAKE2b-256 140ff90306f2d480878a80d57cf4b88db0b044a1a04297c60f0f8b7ab9f0b8f0

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mosaico_ip_agent-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 17.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 431b80b329eebb6bfafc64ce48caced61faf46fe2cc66c8e95b5e5418f59e020
MD5 7f86e6cdd0d4ddf285d93439ab2b8d06
BLAKE2b-256 8808a41f69f533398ed275449dfa06ea36fb46df1b1f376497008e8353214550

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