Skip to main content

llama-index llms openrouter integration

Project description

LlamaIndex Llms Integration: Openrouter

Installation

To install the required packages, run:

%pip install llama-index-llms-openrouter
!pip install llama-index

Setup

Initialize OpenRouter

You need to set either the environment variable OPENROUTER_API_KEY or pass your API key directly in the class constructor. Replace <your-api-key> with your actual API key:

from llama_index.llms.openrouter import OpenRouter
from llama_index.core.llms import ChatMessage

llm = OpenRouter(
    api_key="<your-api-key>",
    max_tokens=256,
    context_window=4096,
    model="gryphe/mythomax-l2-13b",
)

Generate Chat Responses

You can generate a chat response by sending a list of ChatMessage instances:

message = ChatMessage(role="user", content="Tell me a joke")
resp = llm.chat([message])
print(resp)

Streaming Responses

To stream responses, use the stream_chat method:

message = ChatMessage(role="user", content="Tell me a story in 250 words")
resp = llm.stream_chat([message])
for r in resp:
    print(r.delta, end="")

Complete with Prompt

You can also generate completions with a prompt using the complete method:

resp = llm.complete("Tell me a joke")
print(resp)

Streaming Completion

To stream completions, use the stream_complete method:

resp = llm.stream_complete("Tell me a story in 250 words")
for r in resp:
    print(r.delta, end="")

Model Configuration

To use a specific model, you can specify it during initialization. For example, to use Mistral's Mixtral model, you can set it like this:

llm = OpenRouter(model="mistralai/mixtral-8x7b-instruct")
resp = llm.complete("Write a story about a dragon who can code in Rust")
print(resp)

Provider Routing (OpenRouter)

OpenRouter supports selecting which upstream providers to prioritize. You can pass these via OpenRouter(..., order=[...], allow_fallbacks=...).

from llama_index.llms.openrouter import OpenRouter

llm = OpenRouter(
    api_key="<your-api-key>",
    model="mistralai/mixtral-8x7b-instruct",
    order=["openai", "together"],
    allow_fallbacks=False,
)

resp = llm.complete("Hello")
print(resp)

LLM Implementation example

https://docs.llamaindex.ai/en/stable/examples/llm/openrouter/

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

llama_index_llms_openrouter-0.5.1.tar.gz (5.0 kB view details)

Uploaded Source

Built Distribution

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

llama_index_llms_openrouter-0.5.1-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file llama_index_llms_openrouter-0.5.1.tar.gz.

File metadata

  • Download URL: llama_index_llms_openrouter-0.5.1.tar.gz
  • Upload date:
  • Size: 5.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 llama_index_llms_openrouter-0.5.1.tar.gz
Algorithm Hash digest
SHA256 986c3287552b6f3439c4f943b425a4c0577a095be0ade69e51972ccf422c0ad6
MD5 d9e46b5a0dd0db6e5baa6f618c9382ba
BLAKE2b-256 663d0411bdd76067023da05ea0fe04c5f68048bb984e49a0f3be20464437772e

See more details on using hashes here.

File details

Details for the file llama_index_llms_openrouter-0.5.1-py3-none-any.whl.

File metadata

  • Download URL: llama_index_llms_openrouter-0.5.1-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","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 llama_index_llms_openrouter-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 43cb82e96614c940f566ef40baea76eb4c9c663154aa7e5d1a66b06829f45a76
MD5 c7be8775777e4536114f52e3e5a4ba66
BLAKE2b-256 2dc4995f75f8281ade520747e2d0c62a7c522492b6990df586e1953616127357

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