Claude 100K を無料で利用できる OpenAI API に変える焼きたてのガジェット

非常に強力であると言える、リリースされたばかりの Claude 2.0 について語る先月の記事を再投稿しました。ChatGPTの最強の競合相手である Claude 2 が登場しました。コードと GRE スコアは GPT-4 を上回り、無料で入手できます。

ただし、Claude は無料で使用できるにもかかわらず、API が公開されていないのが残念です。Claude 100K の機能を自動的に使用するために、開発者の @easychen は、Claude Web サイトを簡単に変換できる小さなツールを開発しまし OpenAI APIに接続し、ローカルのソフトウェアやプログラムを直接呼び出すことができます。

AiAPI:GitHub - easychen/aiapi: Claude 主導の OpenAI 仕様準拠 API、無料

AiAPI は、Claude の Web サイトを OpenAI 互換 API に変換するクロスプラットフォーム クライアントです。そのため、すべての OpenAI 互換ソフトウェアで Claude の 100k コンテキスト機能を無料で使用できます。

私もこのソフトを初めてダウンロードしてテストしてみたので、その使い方についてお話しましょう

まず、クロードに普通にアクセスでき、自分のアカウントを持っていることが前提となります。

https://claude.ai

アカウントにログインしてチャットページにアクセスしてください

https://claude.ai/chats

F12 を押して、DevTools - アプリケーション - Cookie - セッションキーのコピーを開きます。

写真

Web ページのこの部分の操作は終了しました。このソフトウェアの学習を始めましょう


Github のリリース ページから最新のソフトウェアをダウンロードします。現在は Win および Mac システムをサポートしています。ソフトウェアを解凍して実行する必要があります。

設定ページの[Claude Session Key]の内容を、上記でコピーしたKeyに変更します。プロキシ経由でClaudeにアクセスするコンピュータの場合は、[Http proxy]をプロキシのアドレスに変更し、[保存]をクリックします。

写真

プロキシ アドレスの見つけ方がわからない場合は、このチュートリアルを参照してください。同じではありませんが、そこから学ぶことができます。

https://github.com/binary-husky/gpt_academic/issues/1

この時点で、ローカル API エンドポイントを使用できます。OpenAI API を使用する必要があるプログラムで、OpenAI API エンドポイントを入力する元の場所を http://127.0.0.1:3456 (存在する場合) に変更できます。 /v1/ ... の場合、この部分も追加します)

写真

以下はテスト リンクです。使用できる既製のプログラムがないため、自分で Python プログラムを作成し、ローカル API エンドポイントを呼び出して通信しました。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import requests

# 填写 OpenAI API Endpoint 和 API Key
API_ENDPOINT = "http://127.0.0.1:3456/v1/chat/completions"
API_KEY = "sk-1234567890"

def main():
    while True:
        user_input = input("您: ")
        if user_input.lower() == 'exit':
            break
        response = generate_response(user_input)
        if response is not None:
            print("ChatGPT:", response)

def generate_response(user_input):
    headers = {
        "Content-Type": "application/json",
        "Authorization": f"Bearer {API_KEY}"
    }
    data = {
        "messages": [{"role": "user", "content": user_input}]
    }
    
    try:
        response = requests.post(API_ENDPOINT, headers=headers, json=data)
        response.raise_for_status() 
        try:
            response_json = response.json()
            if "choices" in response_json:
                chat_output = response_json["choices"][0]["message"]["content"]
                return chat_output
            else:
                print("出现了错误,请检查您的 API 设置或稍后重试。")
                return None
        except ValueError as e:
            print("无法解析 JSON 响应:", e)
            return None
    except requests.exceptions.RequestException as e:
        print("请求异常:", e)
        return None

if __name__ == "__main__":
    main()

コマンドラインでテストしたところ、効果は依然としてかなり良好でした

写真

おすすめ

転載: blog.csdn.net/weixin_45498383/article/details/132249240