OpenRouter:统一的LLM接口

OpenRouter 是一个提供统一API以访问来自不同提供商的各种大型语言模型(LLMs)的平台。可以将其视为AI世界的通用遥控器

OpenRouter:统一的LLM接口

在LLM的世界里,为你的特定需求选择合适的模型可能会让人感到不知所措。想象一下,你可以访问一个包含前沿AI模型的巨大图书馆,所有这些模型都可以通过一个统一的平台访问。这就是OpenRouter,它是一个旨在简化和优化你AI集成体验的AI网关。

1、OpenRouter是什么?

OpenRouter 是一个提供统一API以访问来自不同提供商的各种大型语言模型(LLMs)的平台。可以将其视为AI世界的通用遥控器。无需为不同的AI模型管理多个API和账户,OpenRouter为你提供一个单一端点来访问数百个模型。它智能地处理模型路由、提供商路由甚至提示缓存,确保你获得最佳性能和成本效益。

Cloudflare还强调了OpenRouter作为AI网关的作用,突出了其提供通用端点以及支持回退、自定义成本和速率限制的功能。

2、为什么选择OpenRouter?

OpenRouter为希望利用AI的开发人员和企业提供了一套令人信服的优势:

  • 价格与性能优化:OpenRouter不断寻找最佳价格、最低延迟和最高吞吐量的众多AI提供商。你可以根据需要进行优先级排序,确保在不超出预算的情况下实现最佳性能。正如OpenRouter的文档所述,他们帮助开发者获取和优化AI使用,相信多模型和多提供商的未来。
  • 标准化API:告别API兼容性问题!OpenRouter提供标准化API,这意味着在切换模型或提供商时无需重写代码。这种灵活性也扩展到你的用户,允许他们选择甚至支付他们偏好的模型。
  • 实时洞察:通过访问新模型和不同应用程序中模型使用的实际数据,保持领先一步。OpenRouter让你了解最新的AI趋势,帮助你做出明智的决策。
  • 统一账单:无论你使用多少提供商,简化你的账单流程,只需一张透明的账单。不再需要处理多个发票和支付门户。
  • 更高的可用性和速率限制:得益于备用提供商和智能路由,即使某个提供商出现停机,也能确保你的AI请求始终被处理。OpenRouter还直接与提供商合作,以获得更好的速率限制和更高的吞吐量。
  • 高效、灵活且可扩展:通过OpenRouter的统一界面,集成AI变得更加高效和灵活。该平台能够轻松扩展以满足不断增长的应用程序的需求,使其成为从商业解决方案到研究和内容创作的多样化用例的理想选择。

3、使用OpenRouter入门

使用OpenRouter非常简单:

  1. 创建账户:在OpenRouter的网站上注册账户。
  2. 生成API密钥:导航到API密钥部分以创建新的API密钥。出于跟踪目的,你可以为其命名(例如,“MyWebApp”)。
  3. 添加信用额度:通过设置中的添加信用额度来为你的账户充值。此预付款系统便于预算管理。
  4. 与API或SDK集成:OpenRouter提供了全面的API,并支持OpenAI SDK,以便无缝集成到你的项目中。

4、代码示例

这是如何在Python中使用OpenRouter API。代码可在这个Colab笔记本中找到。

# @title 加载OpenRouter API密钥  

from google.colab import userdata  
openrouter_api_key = userdata.get('OPENROUTER_API_KEY')  

# 创建API客户端  
from openai import OpenAI  
client = OpenAI(  
    base_url="https://openrouter.ai/api/v1",  
    api_key=openrouter_api_key,  
)  

import time  

# @title 调用完成API  
  
  
# 可用模型:https://openrouter.ai/models  
model = 'google/gemini-2.0-flash-lite-preview-02-05:free' #@param {type:"string"}  
prompt = '生命的意义是什么?' #@param {type:"string"}  
stream = True #@param {type:"boolean"}  

input_length = len(prompt)  
output_length = 0  

start_time = time.time()  
first_token_time = None  
completion_time = None  

completion = client.chat.completions.create(  
    model=model,  
    # 用于OpenRouter排名的可选参数  
    #extra_headers={  
    #    "HTTP-Referer": "YOUR_SITE_URL",  
    #    "X-Title": "YOUR_SITE_NAME",  
    #},  
    messages=[  
        {"role": "user", "content": prompt}  
    ],  
    stream=stream,  
)  

print(f'模型: {model}\n')  
print(f'提示: {prompt}\n')  
print('回答: ')  

if stream:  
    for chunk in completion:  
        if chunk.choices[0].delta.content is not None:  
            chunk_content = chunk.choices[0].delta.content  
            print(chunk_content, end="", flush=True)  # 添加flush以立即输出  
            output_length += len(chunk_content)  
            if first_token_time is None:  
                first_token_time = time.time()  

    completion_time = time.time() # 在循环结束后捕获完成时间  

else:  
    content = completion.choices[0].message.content  
    print(content)  
    output_length = len(content)  
    first_token_time = time.time() # 对于非流式传输,第一次响应也是完成  
    completion_time = time.time()  

  
print("\n")  

# 打印统计信息  

print(f'输入长度: {input_length}')  
print(f'输出长度: {output_length}')  

if first_token_time:  
    time_to_first_token = first_token_time - start_time  
    print(f"首次令牌时间: {time_to_first_token:.4f}秒")  

if completion_time:  
    time_to_completion = completion_time - start_time  
    print(f"完成时间: {time_to_completion:.4f}秒")

你可以在OpenRouter模型页面上找到受支持的模型及其端点列表。

5、结束语

OpenRouter简化了AI集成,提供了一个灵活、经济高效且强大的解决方案,用于访问多种LLMs。无论你是经验丰富的AI开发人员还是刚刚开始探索可能性的人,OpenRouter都提供了工具和可访问性,以释放AI对你项目的巨大潜力。今天就用OpenRouter开始探索AI世界吧!


原文链接:OpenRouter: A unified interface for LLMs

汇智网翻译整理,转载请标明出处