当前位置:首页>文章>使用指南>OpenAI-Python示例代码

OpenAI-Python示例代码

2. 资源准备

3. 安装依赖

pip install openai

4. 实现代码(非流)

import openai

# 这里填写您在https://yibuapi.com上创建的apikey
api_key = "sk-xxxxx"
# 这里填写https://yibuapi.com/v1
base_url = "https://yibuapi.com/v1"
# 这是问题
questions = f"""
生成三个虚构的中文书名及其作者和类型的清单。 
使用以下键以 JSON 格式提供它们:book_id, title, author, genre.
"""

def get_openai_response(question, api_key, base_url):
    try:
        client = openai.OpenAI(api_key=api_key, base_url=base_url)
        response = client.chat.completions.create(
            model="gpt-4-turbo",
            messages=[{"role": "user", "content": question}]
        )
        return response.choices[0].message.content
    except Exception as e:
        return f"请求失败: {str(e)}"

if __name__ == "__main__":
    response = get_openai_response(questions, api_key, base_url)
    print(f"回答: {response}\n")

5. 实现代码(流式)

import openai

# 这里填写您在https://yibuapi.com上创建的apikey
api_key = "sk-xxxxxx"
# 这里填写https://yibuapi.com
base_url = "https://yibuapi.com/v1"
# 这是问题
questions = f"""
生成三个虚构的中文书名及其作者和类型的清单。 
使用以下键以 JSON 格式提供它们:book_id, title, author, genre.
"""

def get_openai_response_stream(question, api_key, base_url):
    try:
        client = openai.OpenAI(api_key=api_key, base_url=base_url)
        response = client.chat.completions.create(
            model="gpt-4o",
            messages=[{"role": "user", "content": question}],
            stream=True  # 启用流式输出
        )

        # 处理流式响应
        full_response = ""  # 用于收集完整响应
        for chunk in response:
            # 检查是否有内容
            if chunk.choices[0].delta.content is not None:
                content = chunk.choices[0].delta.content
                full_response += content  # 收集完整响应
                print(content, end='', flush=True)  # 实时输出内容

        return full_response  # 返回完整响应

    except Exception as e:
        error_msg = f"请求失败: {str(e)}"
        print(error_msg)
        return error_msg

if __name__ == "__main__":
    print("回答: ", end='')
    full_response = get_openai_response_stream(questions, api_key, base_url)
    print("\n")  # 在流式输出结束后换行

    # 如果需要,您可以在这里对完整响应进行后续处理
    # print(f"完整响应长度: {len(full_response)}")

6. 运行效果

OpenAI-Python示例代码

使用指南

OMate Chat角色创建与API接入教程

2025-8-8 10:21:55

使用指南

91协商写作平台

2025-8-22 18:13:02

搜索