新鲜出炉的小工具,将Claude 100K转化为免费可用的OpenAI API

news2024/12/23 18:49:47

上个月转载了一篇文章,讲的就是刚刚发布的Claude 2.0,可以说是非常强大了:ChatGPT最强竞品Claude2来了:代码、GRE成绩超越GPT-4,免费可用

但是可惜的是,Claude虽然免费使用,但是不开放API给我们用,为了能自动化的使用Claude 100K的能力,开发者@easychen开发了一个小工具,能够轻松将Claude 网站转换为 OpenAI API,我们本地的软件和程序可以直接调用

AiAPI:GitHub - easychen/aiapi: A Claude-driven, OpenAI specification-compliant API, free

AiAPI是一个跨平台客户端,它可以将 Claude 网站转化为 OpenAI 兼容的 API,这样你就可以在所有兼容 OpenAI 的软件里边免费使用 Claude 的 100k 上下文能力

我也是在第一时间下载并且测试了这个软件,下面讲一下使用方法

首先,一切的前提是你能够正常访问Claude并有自己的账号

https://claude.ai

登录自己的账号,并来到聊天页面

https://claude.ai/chats

按下F12打开DevTools - Applications - Cookies - 复制sessionKey

图片

网页这部分的操作就结束了,下面开始研究一下这个软件


在Github的Release页面下载最新的软件,目前支持Win和Mac系统,需要解压并运行软件

将Setting页面的【Claude Session Key】内容修改为上面你复制的Key,如果你的电脑是通过代理来访问Claude的话,需要将【Http proxy】修改为你的代理地址,然后点击【Save】

图片

如果不会找代理地址的话,可以参考这个教程,不大一样,但可以借鉴

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

此时我们就可以使用本地的API endpoint了,在你需要使用OpenAI API的程序中,原来填写OpenAI API Endpoint 的地方改为 http://127.0.0.1:3456 即可(如果原来后边有/v1/...,那么把这部分也加上)

图片

下面是测试环节,由于没有现成的程序可以用,我就自己写了个Python程序,调用本地的API endpoint来与之对话:

#!/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()

在命令行中进行测试,效果还是蛮好的

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/868809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【uni-app】 .sync修饰符与$emit(update:xxx)实现数据双向绑定

最近在看uni-app文档,看到.sync修饰符的时候,觉得很有必要记录一下 其实uni-app是一个基于Vue.js和微信小程序开发框架的跨平台开发工具 所以经常会听到这样的说法,只要你会vue,uni-app就不难上手 在看文档的过程中,发…

邵阳人自己的民国风情街终于来了!随手一拍即是大片!

在邵阳这座美丽的城市,拥有许多非常有意思并且值得打卡的游玩景区,“丹霞之魂,国之瑰宝”的崀山、“南方呼伦贝尔”之称的高山苔地草原、被联合国誉为“神奇绿洲”的遂宁黄桑等等都是成都这座城市的代表,但在邵阳最有民国风情韵味…

【小吉带你学Git】讲解GitHub操作,码云操作,GitLab操作

🎊专栏【Git】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 🌺欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔GitHub操作⭐安装GitHub插件⭐在idea中设置GitHub账号&…

完成图像反差处理

bmp图像的前54字节为图像头,第19个字节开始4字节为图像宽,第23字节开始4字节为图像高,图像大小为:972*720*3542099574,为宽*高*像素点头,如下: 图像的反差处理

最强自动化测试框架Playwright(10)- 截图

截图 捕获屏幕截图并将其保存到文件中: page.screenshot(path"screenshot.png")可将页面截图保存为screen.png import osfrom playwright.sync_api import Playwright, expect, sync_playwrightdef run(playwright: Playwright) -> None:browser p…

python之matplotlib入门初体验:使用Matplotlib进行简单的图形绘制

目录 绘制简单的折线图1.1 修改标签文字和线条粗细1.2 校正图形1.3 使用内置样式1.4 使用scatter()绘制散点图并设置样式1.5 使用scatter()绘制一系列点1.6 python循环自动计算数据1.7 自定义颜色1.8 使用颜色映射1.9 自动保存图表练习题 绘制简单的折线图 绘制一个简单折线图…

Playable 动画系统

Playable 基本用法 Playable意思是可播放的,可运行的。Playable整体是树形结构,PlayableGraph相当于一个容器,所有元素都被包含在里面,图中的每个节点都是Playable,叶子节点的Playable包裹原始数据,相当于输…

c++ cpp cmake opencv 深度学习模型 推理 前向部署 代码示例示意

参考实现&#xff1a; https://github.com/spmallick/learnopencv/tree/master/AgeGender 文件结构&#xff1a; 具体实现&#xff1a; #include <opencv2/imgproc.hpp> #include <opencv2/highgui.hpp> #include <opencv2/dnn.hpp> #include <tuple&g…

机器学习深度学习——seq2seq实现机器翻译(数据集处理)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——从编码器-解码器架构到seq2seq&#xff08;机器翻译&#xff09; &#x1f4da;订阅专栏&#xff1a;机…

[数据集][目标检测]道路坑洼目标检测数据集VOC格式1510张2类别

数据集格式&#xff1a;Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件&#xff0c;仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数)&#xff1a;1510 标注数量(xml文件个数)&#xff1a;1510 标注类别数&#xff1a;2 标注类别名称:["keng","…

指针进阶大冒险:解锁C语言中的奇妙世界!

目录 引言 第一阶段&#xff1a;&#x1f50d; 独特的字符指针 什么是字符指针&#xff1f; 字符指针的用途 演示&#xff1a;使用字符指针拷贝字符串 字符指针与字符串常量 小试牛刀 第二阶段&#xff1a;&#x1f3af; 玩转指针数组 指针数组是什么&#xff1f; 指针…

操作系统—网络系统

什么是零拷贝 磁盘是计算机系统最慢的的硬件之一&#xff0c;所以有不少优化磁盘的方法&#xff0c;比如零拷贝、直接IO、异步IO等等&#xff0c;这些优化的目的是为了提高系统的吞吐量&#xff0c;另外操作系统内核中的磁盘高度缓存区&#xff0c;可以有效的减少磁盘的访问次…

HCIP---重发布技术

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么&#xff1f;二、使用步骤 1.引入库2.读入数据总结 前言 前文通过学习OSPF的不规则区域&#xff0c;了解了如何对不规则区域使用OSPF获取路由&…

JavaWeb-Servlet服务连接器(二)

目录 Request&#xff08;获取请求信息&#xff09; 1.获取请求行内容 2.解决乱码问题 3.获取请求头部分 4.获取请求体 5.其他功能 Request&#xff08;获取请求信息&#xff09; 工作流程&#xff1a; 1.通过请求的url的资源路径&#xff0c;tomcat会生成相应的Servlet实…

iOS 使用build setting中的配置项配置info.plist

如图所示&#xff0c;选中build setting&#xff0c;由于我们这里是想要获取版本号&#xff0c; 所以这里获取current project version 选中info&#xff0c;将bundle version 设置为$&#xff08;CURRENT_PROJECT_VERSION&#xff09;,注意&#xff0c;要使用下划线链接&…

【C++】常用容器-string容器

1.string基本概念 2.string构造函数 #include <iostream> using namespace std;//string容器 void test01() {string s1;//创建空字符串&#xff0c;调用无参构造函数cout << "str1 " << s1 << endl;//什么都不输出const char* str "…

阿里云服务器安装部署Docker使用教程

本文阿里云百科分享如何在云服务ECS实例上&#xff0c;部署并使用Docker。Docker是一款开源的应用容器引擎&#xff0c;具有可移植性、可扩展性、高安全性和可管理性等优势。开发者可将应用程序和依赖项打包到一个可移植的容器中&#xff0c;快速发布到Linux机器上并实现虚拟化…

react学习笔记——4. 虚拟dom中处理动态数据

如下需求 方式1&#xff1a; 直接在ul中使用{data}&#xff0c;是可以遍历数据的&#xff0c;然后如果将data改成下面形式&#xff0c;也是可以实现的。但是如果data是一个对象&#xff0c;则不能便利。 const data [<li>Angular</li>, <li>React</li&g…

c语言——统计分类

我们将一个班的成绩进行分类&#xff0c; 成绩60分以下的为c、成绩61-89分的为b&#xff0c;90分以上的为A //统计分类 /*我们将一个班的成绩进行分类&#xff0c; 成绩60分以下的为c、成绩61-89分的为b&#xff0c;90分以上的为A */ #include<stdio.h> int main() …

MyBatis的XML映射文件

Mybatis的开发有两种方式&#xff1a; 注解 XML配置文件 通过XML配置文件的形式来配置SQL语句&#xff0c;这份儿XML配置文件在MyBatis当中也称为XML映射文件。 导学&#xff1a;在MyBatis当中如何来定义一份儿XML映射文件&#xff1f; 在MyBatis当中&#xff0c;定义XML…