Saturday, January 18, 2025

Linux中python调用OpenAI实现国内openai代理api使用chatgpt

 一,安装Python环境

树莓派系统自带python,可以python --version确认是否安装。

二, 配置 OpenAI 环境变量

1. 在当前用户的根目录创建文件.env。

touch ~/.env

.env的文件内容位:

OPENAI_API_KEY="sk-xxx"

OPENAI_BASE_URL="https://api.fe8.cn/v1"

sk-xxx 使用自己的 key 替换,OPENAI_BASE_URL是访问 OpenAI 的国内代理跳板。

2. 安装项目依赖的包python-dotenv

pip install python-dotenv openai

三, 创建python源代码文件

# -*- coding: utf-8 -*-


# 通过环境变量调用OpenAI API密钥

import os

from openai import OpenAI

from dotenv import load_dotenv, find_dotenv

_ = load_dotenv(find_dotenv())

client = OpenAI()


# 定义初始对话历史

conversation_history = [

    {'role': 'system', 'content': 'You are a helpful assistant.'}

]


# 循环交互

while True:

    # 处理用户输入

    user_input = input("User: ")


    # 将用户输入添加到对话历史中

    conversation_history.append({'role': 'user', 'content': user_input})


    # 发送聊天请求

    response = client.chat.completions.create(

        model='gpt-4o-mini',

        messages=conversation_history,

        max_tokens=100,

        n=1,

        stop=None,

        temperature=0.7

    )


    # 获取助手的回复

    assistant_reply = response.choices[0].message.content


    # 打印助手的回复

    print("Assistant:", assistant_reply)


    # 将助手的回复添加到对话历史中

    conversation_history.append({'role': 'assistant', 'content': assistant_reply})


    # 检查用户是否选择退出循环

    if user_input.lower() == 'exit':

        break

四, 如果使用官方 OpenAI key (自己去OpenAI官方注册的key)

使用 OpenAI 的官方 key,需要畅通访问 OpenAI 的网络

需修改 .env 文件里的 OPENAI_API_KEY 为你自己的 key,并删除 OPENAI_BASE_URL

如果你需要通过代理访问 OpenAI,那么需要配置 OPENAI_BASE_URL 为你的代理地址。


No comments: