当前位置: 首页 > news >正文

python操作OpenAI教程

python操作OpenAI

pip install -U openai

代码:

from openai import OpenAI# 解决请求超时问题
import os
os.environ["http_proxy"] = "http://localhost:7890"
os.environ["https_proxy"] = "http://localhost:7890"# 需要在实例化OpenAI对象时候,指定秘钥
client = OpenAI(api_key="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")completion = client.chat.completions.create(model="gpt-3.5-turbo",  # 指定使用的大模型是谁,gpt-3.5-turbo 是chatgpt3.5,messages=[  # 提示词,{"role": "system", "content": "你是一个老师."},  # 让chatgpt充当什么身份{"role": "user", "content": "编写一段歌颂元宵节的歌词"}, # 具体要chatgpt完成的操作了。# {"role": "assistant", "content": "在这元宵佳节临,灯火闪烁映星河。\n汇聚亲情团圆欢,共享团圆喜庆多。\n饮甜汤圆舒心意,挂灯花灯亮明朗。\n传统民俗传千古,文化传承爱不忘。\n元宵圆圆思亲亲,喜庆团圆共欢颜。"},  # 约束条件或基于什么条件]
)print(completion.choices[0].message)

使用langchain调用OpenAI

pip install -U langchain
pip install -U langchain-openai
# 解决请求超时问题
import os, openai
from langchain_openai import ChatOpenAIos.environ["http_proxy"] = "http://localhost:7890"
os.environ["https_proxy"] = "http://localhost:7890"llm = ChatOpenAI(openai_api_key="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", # 从OpenAI官方申请秘钥[可以是用户秘钥,也可以是项目秘钥]model_name="gpt-3.5-turbo" # 默认是gpt-3.5-turbo
)response = llm.invoke("你是谁?") ## 通过 invoke 传入对话
print(response.content)response = llm.invoke("编写一段歌颂劳动节的歌词?")
print(response.content)

AI会话

安装模块如下:

pip install -U openai
pip install -U langchain-openai
pip install -U tiktoken # 可视化界面工具 gradio框架的核心模块

代码:

import os, openai, gradio as gr
from langchain_openai import OpenAI
from langchain_openai import ChatOpenAI
from langchain.chains import ConversationChain
from langchain.memory import ConversationSummaryBufferMemory# 解决请求超时问题
os.environ["http_proxy"] = "http://localhost:7890"
os.environ["https_proxy"] = "http://localhost:7890"os.environ["OPENAI_API_KEY"] = "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"
openai.api_key = os.environ["OPENAI_API_KEY"]memory = ConversationSummaryBufferMemory(llm=ChatOpenAI(# openai_api_key="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", # 从OpenAI官方申请秘钥[可以是用户秘钥,也可以是项目秘钥]# model_name="gpt-3.5-turbo" # 默认是gpt-3.5-turbo),max_token_limit=2048
)conversation = ConversationChain(llm=OpenAI(# api_key="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",max_tokens=2048,temperature=0.5),memory=memory,
)"""基于记忆体实现对话的历史上下文管理"""
def chat(input, history=[]):history.append(input)response = conversation.predict(input=input)history.append(response)# history[::2] 切片语法,每隔两个元素提取一个元素,即提取出所有的输入,# history[1::2]表示从历史记录中每隔2个元素提取一个元素,即提取出所有的输出# zip函数把两个列表元素打包为元组的列表的方式responses = [(u, b) for u, b in zip(history[::2], history[1::2])]print("用户输入:", history[::2])print("AI回答:", history[1::2])print("上下文:", responses)return responses, history"""可视化界面中实现AI对话"""
with gr.Blocks(css="#chatbot{height:800px} .overflow-y-auto{height:800px}") as demo:chatbot = gr.Chatbot(elem_id="chatbot")state = gr.State([])with gr.Row():txt = gr.Textbox(show_label=False, placeholder="请输入你的问题.")txt.submit(chat, [txt, state], [chatbot, state])# 启动项目
demo.launch(share=True)
http://www.lryc.cn/news/456266.html

相关文章:

  • 如何版本REST API:综合指南
  • Docker 环境下 Nginx 监控实战:使用 Prometheus 实现 Nginx 性能监控的完整部署指南
  • 网络安全-IPv4和IPv6的区别
  • 【移动端】事件基础
  • 软件测试比赛-学习
  • 力扣LeetCode-链表中的循环与递归使用
  • AFSim仿真系统 --- 系统简解_08 传感器与特征
  • 已经安装了qt,想添加mingw组件,包含gcc等
  • 数据库管理-第250期 深入浅出多主多活数据库技术- Cantian存储引擎(一)(20241009)
  • 信号用wire类型还是reg类型定义
  • 与鸿蒙同行,Java Solon v3.0 正式发布(向下兼容)
  • 数据驱动投资:AI在股票市场的应用
  • Tita使用小技巧:项目类型自定义,业务管理个性化
  • 国药准字:您购药的可靠指南
  • Python类学习(2)——未完待续
  • 微前端框架 qiankun 全面解析到源码实现
  • 初始化数据的正确方式?
  • Flutter平台嵌入器
  • 微信小程序——婚礼邀请函
  • WebRTC Connection Negotiate解决
  • Redis面试篇1
  • Debezium系列之:Debezium 3.0.0.Final发布
  • 一文解决jQuery表格插件DataTable导出PDF中文乱码问题
  • 使用pytorch进行迁移学习的两个步骤
  • ChatGPT相关参数示例
  • OWASP发布大模型安全风险与应对策略(QA测试重点关注)
  • 【HarmonyOS开发笔记 2 】 -- ArkTS语法中的变量与常量
  • UI自动化测试示例:python+pytest+selenium+allure
  • C/C++ 编程小工具
  • 第四十二章 使用 WS-ReliableMessaging