jjzjj

OpenAI ChatGpt Gpt-3.5-turbo

weixin_43355344 2024-03-17 原文
  1. Q&A 第一个Sample

import openai
openai.api_key = "sk-XXXX-key需要在https://openai.com/注册后获取"

completion = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
    {"role": "user", "content": "2023年在上海哪里赏樱花?"}
  ]
)

print(completion["choices"][0]["message"]["content"].strip())

返回结果

  1. FAQ第一个Sample

首先安装 OpenAI、GPT Index 和 Gradio 库

pip install openai
pip install gpt_index
pip install gradio

复制以下代码,取名chatgptsample.py

from gpt_index import SimpleDirectoryReader, GPTListIndex, GPTSimpleVectorIndex, LLMPredictor, PromptHelper
from langchain import OpenAI
import gradio as gr
import sys
import os

#设置全局变量保存OPENAI_API_KEY
os.environ["OPENAI_API_KEY"] = "sk-XXXX-key需要在https://openai.com/注册后获取"

#定义聊天函数
#参数directory_path:需要训练的文件路径
def construct_index(directory_path):
    max_input_size = 4096
    num_outputs = 512
    max_chunk_overlap = 20
    chunk_size_limit = 600

    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
    # 模型加载,这里选用"text-davinci-003",也可以是最新的"gpt-3.5-turbo"
    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.7, model_name="text-davinci-003", max_tokens=num_outputs))
    documents = SimpleDirectoryReader(directory_path).load_data()
    index = GPTSimpleVectorIndex(documents, llm_predictor=llm_predictor, prompt_helper=prompt_helper)
    #使用OpenAI LLM模型分析文档并建立索引信息    
    index.save_to_disk('index.json')
    return index

#定义聊天函数
#参数input_text:用户输入的问题
def myfirstrobot(input_text):
    #加载检索用的索引文件
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response

#回调函数chatbot
#通过inputs向函数chatbot传入用户问题
#Input的Placeholder设置为"Enter your text"
#网页标题设置为"Custom-trained AI Chatbot"
iface = gr.Interface(fn=myfirstrobot,
                     inputs=gr.inputs.Textbox(lines=7, label="Enter your text"),
                     outputs="text",
                     title="Custom-trained AI Chatbot")
#指定训练文件的路径,并生成索引文件
index = construct_index("docs")
#启动网页
iface.launch(share=True)

需要训练的问卷放在指定文件夹下

Pyhton文件放在和Excel文件夹同级目录中

运行程序后,会生成用于FAQ检索的索引文件,index.json

且,会生成两个链接

供本地访问

Running on local URL: http://127.0.0.1:7860

供外部访问

Running on public URL: https://xxxxxxxx.gradio.live

访问后的效果

测试效果,每次调用会消耗Tokens,通过Tokens计费。

免费API调用的剩余容量查询Account - OpenAI API

有关OpenAI ChatGpt Gpt-3.5-turbo的更多相关文章

  1. 【ChatGPT】基于tensorflow2实现transformer(GPT-3.5) - 2

    请记住,您是一位NLP领域的专家和优秀的算法工程师。使用带有tensorflow2.0subclassapi的python从头开始实现transformer模型。全部内容如下:构建transformer模型架构和依赖层;生成并预处理一些假样本数据,用于训练上面构建的模型;上面生成的样本数据的训练模型示例教程;上面生成的样本数据的预测模型示例教程;上面生成的示例数据的部署模型示例教程;最后,您所有的答案都以markdown格式呈现。You:Rememberyou’reanexpertandexcellentalgorithmengineerinNLParea.Implementtransform

  2. javascript - Firefox 3.5 支持客户端数据库吗? - 2

    我最初是在寻找有关如何在FF3.5中开始使用客户端数据库的基础教程。我的理解是这个功能在FF、Safari和IE8中是支持的。但是,我遇到了一个非常基本的问题,即在FF3.5中似乎找不到创建此类数据库的语法。例如,创建一个新的数据库:vardatabase=window.openDatabase("DatabaseName","DatabaseVersion");但是,在FF3.5中window.openDatabase是找不到的。它可以在Safari4中使用该语法找到。我没有测试过IE8,所以我不知道。有人对此有更多信息吗? 最佳答案

  3. 融资3.5亿美元的公链Aptos评析 - 2

    项目简介Aptos是由原Libra开发者创建的一个Layer1公链项目,Aptos的代码是建立在Diem的开源代码库基础上,使用Move语言作为开发语言,致力于改善区块链的安全性和可扩展性,打造可以面向数十亿人的基础设施网络(原本为Libra/Diem的目标)。2019年Facebook联合圈外机构共同启动了区块链项目Libra,Libra主要以构建全球统一的稳定币支付系统,由于监管的原因,后改名为Diem,之后Diem也因监管原因被打包出售,项目胎死腹中,原一部分开发者分别建立了三个项目(后续可能会出现更多),分别为Aptos、Sui和Linera,而目前关注度最高的为Aptos。Libra

  4. javascript - 如何在 WordPress 3.5 uploader 中上传新图像后立即运行一些代码 - 2

    我需要在WordPress3.5上传程序中上传新图像后立即运行一些代码。这是wp-includes/js/media-views.js的代码(第529-540行)uploading:function(attachment){varcontent=this.frame.content;//Iftheuploaderwasselected,navigatetothebrowser.if('upload'===content.mode())this.frame.content.mode('browse');//Ifwe'reinaworkflowthatsupportsmultipleatt

  5. javascript - ArcGis 3.5 问题与 Requirejs - 2

    我正在使用ArcGIS3.5JavascriptAPI和RequireJS我用这段代码实现了它:varmap;require(["esri/map","dojo/domReady!"],function(Map){map=newMap("mapDiv",{center:[-96.571541,39.155622],zoom:3,basemap:"streets"});});});使用这个RequireJS配置:requirejs.config({baseUrl:"js/",paths:{underscore:'libs/underscore',tpl:'tpl',backbone:'l

  6. c# - 在 asp.net 3.5 中使用 RegisterClientScriptBlock/RegisterStartupScript - 2

    我无法理解它的用途。RegisterClientScriptBlock/RegisterStartupScript。当我们可以直接在.js文件中写JavaScript代码然后在按钮上调用例如:2functionReqField1Validator(){if(document.forms[0].txtField1.value==''){alert('TextBoxcannotbeempty')returnfalse}returntrue}btnPostback.Attributes.Add("onclick","returnReqField1Validator()");RegisterC

  7. javascript - 使用 XMLHttpRequest 将多个文件上传到 Express.js 3.5 服务器 - 2

    我正在尝试使用JavaScript中的nativeFileAPI构建文件uploader,我想通过XMLHttpRequest(不使用jQuery)将文件上传到使用Express.js的Node.js服务器。文件读取部分工作正常,当我在没有XMLHttpRequest的情况下上传文件时,它工作正常(文件在Express.js的req.files中)。问题是通过AJAX上传:req.files总是空的。下面是一些代码:形式:前端的上传部分(在files[0].data中是一个文件-不是数组或其他东西):functionuploadFiles(files){varxhr=newXMLHtt

  8. javascript - "iframe.contentDocument"在 IE8 和 FF(3.5 及以下版本)中不工作还有其他步骤可以解决这个问题吗? - 2

    我在jsfile-uploader中使用了这个“iframe.contentDocument”,但它在IE8,Firefox(3.5及以下版本。我如何通过使用其他DOM来处理iframe来解决这个问题?感谢大家 最佳答案 尝试vardoc;variframeObject=document.getElementById('iframeID');//MUSThaveanIDif(iframeObject.contentDocument){//DOMdoc=iframeObject.contentDocument;}elseif(ifra

  9. ASP.NET 3.5 绑定(bind)到 XML 字符串 - 2

    在ASP.NET3.5中,我可以使用XmlDataSource轻松绑定(bind)到XML文件。如何绑定(bind)到XML字符串而不是文件? 最佳答案 使用XmlDataSource.Data属性(property)。XmlDataSourcedataSource=newXmlDataSource();dataSource.Data="Item#1Item#2";dataSource.XPath="root/element";dataSource.DataBind();或者,您可以声明性地指定数据:

  10. android - XML 代码格式在 LinearLayout Android Studio 3.5 中给出了错误的 subview 排列 - 2

    这个问题在这里已经有了答案:Androidstudio3.5refactorissue(9个回答)关闭3年前。Menu->Code->ReformatCode以前的AndroidStudio版本,每当我输入一些代码块时,我的手都非常习惯点击Ctl+Alt+L来格式化代码。在我更新到AndroidStudio3.5后,我将代码格式化为XML,这导致我的视​​图排列错误并破坏了我的设计。这是代码重新格式化之前的设计。代码重新格式化后(单击->Ctl+Alt+L),我的View在设计和xml代码方面都被打乱了。请看第二张图片。这似乎是一个错误,我已经将其报告给了GoogleIssueTrac

随机推荐