Skip to main content

langchain-blopus

This package contains the LangChain integration with Blopus, a web search and fetch API for LLMs and agents that runs on its own crawler and index rather than reselling another search engine.

pip install -U langchain-blopus

Set your API key, which you can create at blopus.ai/app:

export BLOPUS_API_KEY="blp_live_..."

Tools

BlopusSearch

Searches the live web and returns ranked results with snippets.

from langchain_blopus import BlopusSearch

tool = BlopusSearch()
tool.invoke({"query": "postgres logical replication", "freshness": "pw"})
{
    "query": "postgres logical replication",
    "results": [
        {
            "title": "...",
            "url": "https://...",
            "snippet": "...",
            "domain": "...",
            "score": 0.87,
            "published_at": 1755300000,
            "language": "en",
        }
    ],
}

Useful arguments: count (served in blocks of 10, so it rounds up), freshness (pd, pw, pm, p3m, p1y, all), include_domains, exclude_domains, language, news_only, and include_content to get the cleaned page text inline instead of making a second call.

BlopusFetch

Retrieves the full cleaned text of pages the model selected.

from langchain_blopus import BlopusFetch

BlopusFetch().invoke({"urls": ["https://example.com/article"]})

URLs that were not found come back in failed_urls rather than raising, so one bad URL in a batch does not lose the rest.

Using them with an agent

from langchain.agents import create_agent
from langchain_blopus import BlopusFetch, BlopusSearch

agent = create_agent(model, tools=[BlopusSearch(), BlopusFetch()])

Retriever

BlopusRetriever puts live web results into any chain written against the standard retriever interface, so it drops into an existing RAG pipeline in place of a vector store.

from langchain_blopus import BlopusRetriever

retriever = BlopusRetriever(k=10, freshness="pm")
docs = retriever.invoke("postgres logical replication")

docs[0].page_content        # cleaned article text
docs[0].metadata["source"]  # the URL

It requests full page content by default, because a Document whose page_content is a two-line snippet is close to useless for retrieval.

Async

Every tool and the retriever support ainvoke.

await BlopusSearch().ainvoke({"query": "postgres logical replication"})
await BlopusRetriever().ainvoke("postgres logical replication")

Notes

One topic per search. A query joining several subjects ("economy, sports, Iran") matches nothing, because no single document is about all of them. Issue one search per topic. The tool description states this, and the API returns a note when it detects the mistake, which this package passes straight through.

Billing is in blocks of ten. One search returns up to 10 results for 1 credit, so count rounds up to the next multiple of 10. If your remaining quota cannot cover the request, the API serves a partial page rather than refusing, and sets quota_clamped on the response so you can tell "my quota cut this short" apart from "that is all that exists".

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langchain_blopus-0.1.0.tar.gz (10.5 kB view details)

Uploaded Source

Built Distribution

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

langchain_blopus-0.1.0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file langchain_blopus-0.1.0.tar.gz.

File metadata

  • Download URL: langchain_blopus-0.1.0.tar.gz
  • Upload date:
  • Size: 10.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for langchain_blopus-0.1.0.tar.gz
Algorithm Hash digest
SHA256 69c72c0760dcad4d7820fa77d0f4711a548ec83533c2d86ed0e7dc0c3e4a29c9
MD5 8033779939d7fc74959b84bbe6deac9d
BLAKE2b-256 9daa6cbcef883ee55e1bf6c29f614e24673b8cf8de19391c380de859b507843b

See more details on using hashes here.

File details

Details for the file langchain_blopus-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langchain_blopus-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1906f34697fd72844961aaa61b1d90cfa7f09ea1c9205948f9aa710aa2f7ab02
MD5 df4934ff2fb3ba8f8992afc1f3f13108
BLAKE2b-256 26cb82d9ed42b95cf7c08054a59427f4d22c19fb9897be0a25567c8407d522e1

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

0.1.3

2 files

0.1.1

2 files

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page