【GPT】基于GPT_API_free做一个自己的gpt

最终效果

项目背景

秉持能免费就绝不花钱的原则,基于github项目GPT_API_free获取的gpt apikey。下面是简单的代码

python 复制代码
import json
import os
import requests


openai_url = os.getenv("openaiproxy")
openai_apikey = os.getenv("openaikey")
# 初始化上下文
conversations_his = []

# 添加上下文对话添加
def add_conversations_his(role,content):
    conversations_his.append({"role": role, "content": content})

def generate_code(user_input:str):
    add_conversations_his("user", user_input)
    header = {
        "Content-Type": "application/json",
        "Authorization": "Bearer " + openai_apikey
    }

    body = {
            "model": "gpt-4o-mini",
            "messages": conversations_his
    }

    # ai返回的信息
    resp = requests.post(url=openai_url,headers=header,data=json.dumps(body))

    # 提取ai恢复中的msg并将其添加到历史对话中
    ai_msg = resp.json()["choices"][0]["message"]["content"]
    add_conversations_his("assistant",ai_msg)

    if resp.status_code == 200:
        # print(f"历史对话: {conversations_his}")
        return ai_msg
    else:
        print(f"请求失败: {resp.status_code}")

def conversations():
    # with open("prompt\\system_prompt","r",encoding="utf-8") as f:
    #     content =f.read()
    #     add_conversations_his("system",content)
    while True:
        user_msg = input("You: ")
        if user_msg.lower() in ["退出","exit","quit","q"]:
            break
        ai_respmsg = generate_code(user_msg)
        print(f"GPT: {ai_respmsg}")

if __name__ == "__main__":
    conversations()
相关推荐
zxcxylong12 小时前
almalinux系统-数据盘扩容后文件系统扩容步骤
gpt·almalinux·parted·lvm·/dev/sdb
hay_lee16 小时前
DeepSeek发布V3.2系列模型,性能媲美GPT-5与Gemini
gpt
生信大表哥2 天前
GPT-5-Codex VS Gemini 3 VS Claude Sonnet 4.5 新手小白入门学习教程
人工智能·gpt·学习·rstudio·数信院生信服务器
致Great4 天前
DeepSeek-V3.2技术报告解读:开源大模型的逆袭之战——如何用10%算力追平GPT-5
人工智能·gpt·开源·大模型·agent·智能体
黑客思维者4 天前
重塑信任与效率:Salesforce Einstein GPT 客服体系深度案例研究
人工智能·gpt·llm·客服系统·salesforce
*星星之火*5 天前
【大白话 AI 答疑】第2篇 GPT 全系列发展历程:从 GPT-1 到 GPT-5,每一代的关键突破都在这!
gpt
DO_Community5 天前
碾压GPT-5,Qwen3-VL开源多模态新标杆:99.5%长视频定位准确率
人工智能·gpt·开源·llm·音视频
聊天QQ:4877392785 天前
基于蛇鹫优化算法(SBOA)求解FJSP问题:柔性作业车间调度的MATLAB代码实现与优化研究
gpt
智慧地球(AI·Earth)6 天前
GPT Codex CLI报错:The encrypted content gAAA...lA== could not be verified.
gpt·codex cli·400 error
黑客思维者7 天前
Salesforce Einstein GPT 人机协同运营的核心应用场景与工作流分析
人工智能·gpt·深度学习·salesforce·rag·人机协同·einstein gpt