Code Monkey home page Code Monkey logo

cooksleep / llm_api_price_comparator_web Goto Github PK

View Code? Open in Web Editor NEW
6.0 1.0 0.0 755 KB

LLM API Price Comparator Web 是一个在线工具,帮助用户便捷地比较不同LLM API服务商在指定输入输出下调用同一种模型的价格。 它会自动获取美元/人民币汇率,允许用户输入服务商的余额、调用定价信息,并计算、比较相对于输入输出Token的成本。 该项目是原Windows桌面应用的网页版本,代码主要由Claude 3.5 Sonnet和GPT-4o编写,我提供了非常多的样式、功能设计提议和反馈。

Home Page: https://cooksleep.github.io/LLM_API_Price_Comparator_Web/

License: GNU General Public License v3.0

HTML 12.57% JavaScript 54.09% CSS 31.26% Python 2.09%
api cost exchange-rates llm online price-comparison token tools

llm_api_price_comparator_web's Introduction

LLM API Price Comparator Web

LLM API Price Comparator Logo

LLM API Price Comparator Web 是一个在线工具,帮助用户便捷地比较不同LLM API服务商在指定输入输出下调用同一种模型的价格。

它会自动获取美元/人民币汇率,允许用户输入服务商的余额、调用定价信息,并计算、比较相对于输入输出Token的成本。

该项目是原Windows桌面应用的网页版本,代码主要由Claude 3.5 Sonnet和GPT-4o编写,我提供了非常多的样式、功能设计提议和反馈。

使用示例

功能特性

  • 自动获取美元/人民币汇率,方便比较国内外服务商。
  • 用户可输入服务商名称、充值金额、充值货币、到账余额、调用价格等详细信息。
  • 支持不同服务商的费用排名显示,按成本从低到高排序。
  • 提供直观的Web界面,方便添加、删除服务商信息。
  • 生成人民币、美元费用比较结果。
  • 响应式设计,支持桌面和移动设备。

如何使用

  1. 访问 LLM API Price Comparator Web
  2. 在页面上输入Token数(输入和输出)。
  3. 填写每个服务商的相关信息。
  4. 点击"计算成本"按钮以获取不同服务商的成本比较。
  5. 查看费用排名,选择合适的服务商。

自行部署指南(如果你想自己再部署一个,而不是用我部署好的)

本项目使用 GitHub Actions 自动更新汇率数据,并通过 GitHub Pages 部署静态网站。以下是如何 Fork 本仓库并配置 GitHub Actions 和 GitHub Pages 的步骤。

1. Fork 仓库

  1. 访问 LLM API Price Comparator Web 仓库页面。
  2. 点击页面右上角的 "Fork" 按钮,将该仓库 Fork 到你的 GitHub 账户中。

2. 配置 GitHub Actions

  1. 在你的 GitHub 仓库中创建 .github/workflows 目录
  2. 在该目录中创建 update_exchange_rate.yml 文件,内容如下:
name: Update Exchange Rate

on:
  schedule:
    - cron: '30 1 * * *' # 每天UTC时间01:30,相当于北京时间09:30
  workflow_dispatch: # 手动触发

permissions:
  contents: write

env:
  FORCE_JAVASCRIPT_ACTIONS_TO_NODE20: true # 强制使用 Node20

jobs:
  update-exchange-rate:
    runs-on: ubuntu-latest

    steps:
      - name: Checkout repository
        uses: actions/checkout@v3 # 使用 v3

      - name: Install dependencies
        run: |
          python -m pip install requests

      - name: Fetch exchange rate from Alpha Vantage
        env:
          ALPHA_VANTAGE_API_KEY: ${{ secrets.ALPHA_VANTAGE_API_KEY }}
        run: |
          python update_exchange_rate.py

      - name: Commit and push changes
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          git config --local user.email "[email protected]"
          git config --local user.name "GitHub Action"
          git add exchange_rate.json
          git diff-index --quiet HEAD || git commit -m "Update exchange rate"
          git push origin HEAD:main

3. 创建 Python 脚本

在仓库根目录创建 update_exchange_rate.py 文件,内容如下:

import os
import requests
import json

def fetch_exchange_rate(api_key):
    url = f'https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency=USD&to_currency=CNY&apikey={api_key}'
    response = requests.get(url)
    data = response.json()
    if 'Realtime Currency Exchange Rate' in data:
        return {
            "exchangeRate": data['Realtime Currency Exchange Rate']['5. Exchange Rate'],
            "lastRefreshed": data['Realtime Currency Exchange Rate']['6. Last Refreshed']
        }
    else:
        raise Exception("Error fetching exchange rate")

def main():
    api_key = os.getenv('ALPHA_VANTAGE_API_KEY')
    if not api_key:
        raise Exception("No API key found in environment variables")
    
    exchange_rate = fetch_exchange_rate(api_key)
    with open('exchange_rate.json', 'w') as f:
        json.dump(exchange_rate, f, indent=4)

if __name__ == '__main__':
    main()

4. 配置 Secrets

为了确保你的 API 密钥和 GitHub Token 安全地存储和使用,你需要在 GitHub 仓库设置中配置 Secrets。

  1. Alpha Vantage 获取 Alpha Vantage API 密钥。
  2. 导航到你的 GitHub 仓库。
  3. 点击 "Settings"。
  4. 在左侧菜单中选择 "Secrets and variables" > "Actions"。
  5. 点击 "New repository secret"。
  6. Name: ALPHA_VANTAGE_API_KEY
  7. Value: 你的 Alpha Vantage API 密钥。
  8. 点击 "Add secret" 保存。

5. 配置仓库设置

确保配置仓库的 GitHub Actions 设置,以允许使用外部 Actions 并设置适当的权限:

  1. 在仓库的 "Settings" 页面,选择 "Actions" > "General"。
  2. 在 "Actions permissions" 部分:
    • 选择 "Allow all actions and reusable workflows"。
    • 勾选 "Allow actions created by GitHub"。
  3. 在 "Workflow permissions" 部分:
    • 选择 "Read and write permissions"。
    • 勾选 "Allow GitHub Actions to create and approve pull requests"。
  4. 点击 "Save" 保存更改。

6. 创建 GitHub Pages

  1. 导航到你的 GitHub 仓库。
  2. 点击 "Settings"。
  3. 在左侧菜单中选择 "Pages"。
  4. 在 "Build and deployment" 部分:
    • Source: 选择 Deploy from a branch
    • Branch: 选择 main 分支,并确保目录是 /root
  5. 点击 "Save"。

完成这些步骤后,GitHub Pages 将从你的 main 分支部署,你可以通过 https://<your-username>.github.io/LLM_API_Price_Comparator_Web 访问你的静态网站。

手动触发汇率更新(初次部署后如果没到汇率更新时间时可能需要)

  1. 导航到你的 GitHub 仓库页面。
  2. 点击 "Actions" 选项卡。
  3. 在左侧找到 "Update Exchange Rate" 工作流。
  4. 点击 "Run workflow" 按钮,然后点击 "Run workflow" 确认。

完成以上步骤后,GitHub Actions 将自动或根据需要手动更新汇率数据,并将更新后的数据提交到你的仓库中,同时通过 GitHub Pages 部署静态网站。

贡献

欢迎对项目进行贡献!如果您有任何建议或想要添加新功能,请随时创建一个Issue或Pull Request。

许可证

本项目采用 GNU General Public License v3.0 许可证,详情请见 LICENSE 文件。

llm_api_price_comparator_web's People

Contributors

cooksleep avatar actions-user avatar

Stargazers

 avatar Elvis avatar  avatar  avatar Jaya avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.