标签: openai-api

OpenAI GPT-3 API:微调微调模型?

OpenAI 文档model中有关微调 API 属性的说明有点令人困惑:

模型

要微调的基本模型的名称。您可以选择“ada”、“babbage”、“curie”、“davinci”之一或 2022 年 4 月 21 日之后创建的微调模型。

我的问题:微调基本模型还是微调模型更好?

ada我从with file创建了一个微调模型mydata1K.jsonl

ada + mydata1K.jsonl --> ada:ft-acme-inc-2022-06-25
Run Code Online (Sandbox Code Playgroud)

现在我有一个更大的样本文件mydata2K.jsonl,我想用它来改进微调模型。在这第二轮微调中,是ada再次微调好还是对我微调后的模型进行微调好ada:ft-acme-inc-2022-06-25?我假设这是可能的,因为我的微调模型是在 2022 年 4 月 21 日之后创建的。

ada + mydata2K.jsonl --> better-model
Run Code Online (Sandbox Code Playgroud)

或者

ada:ft-acme-inc-2022-06-25 + mydata2K.jsonl --> even-better-model?
Run Code Online (Sandbox Code Playgroud)

transformer-model openai-api gpt-3 fine-tuning

8
推荐指数
1
解决办法
3220
查看次数

如何确保答案来自自定义(微调)数据集?

我使用带有“提示”和“完成”的自定义文本来训练新模型。

这是我用来根据数据创建自定义模型的教程:

beta.openai.com/docs/guides/fine-tuning/advanced-usage

然而,即使在训练模型并向模型发送提示文本之后,我仍然得到并不总是适合我的通用结果。

如何确保提示的完成结果仅来自我用于模型的文本,而不是来自通用 OpenAI 模型?

我可以使用一些标志来消除通用模型的结果吗?

customization nlp openai-api gpt-3

8
推荐指数
1
解决办法
7971
查看次数

有没有办法直接在本机反应中逐字传输chatgpt api的响应(使用javascript)

我想直接在 React Native (expo) 中使用 Chat GPT Turbo api 与逐字流这里是没有流的工作示例

  fetch(`https://api.openai.com/v1/chat/completions`, {
  body: JSON.stringify({
    model: 'gpt-3.5-turbo',
    messages: [{ role: 'user', content: 'hello' }],
    temperature: 0.3,
    max_tokens: 2000,
  }),
  method: 'POST',
  headers: {
    'content-type': 'application/json',
    Authorization: 'Bearer ' + API_KEY,
  },
}).then((response) => {
  console.log(response); //If you want to check the full response
  if (response.ok) {
    response.json().then((json) => {
      console.log(json); //If you want to check the response as JSON
      console.log(json.choices[0].message.content); //HERE'S THE CHATBOT'S RESPONSE
    });
  }
});
Run Code Online (Sandbox Code Playgroud)

我可以改变什么来逐字流数据

javascript react-native expo openai-api chatgpt-api

8
推荐指数
1
解决办法
2万
查看次数

发生错误:模块“openai”没有属性“ChatCompletion”

我正在尝试构建一个 Discord 机器人,它使用 GPT-4 API 作为 Discord 上的聊天机器人。我有最新版本的 OpenAI 库,但当我运行代码时,它告诉我“发生错误:模块‘openai’没有属性‘ChatCompletion’”

我尝试卸载并重新安装 OpenAI 库,尝试使用完成端点并收到错误“这是一个聊天模型,v1/completions 端点不支持。您是否打算使用 v1/chat/completions?”

这是给我带来问题的代码片段:

async def get_gpt_response(prompt, history):
    history_strings = [f"{message['role']}: {message['content']}" for message in history] # update history format
    chat_prompt = '\n'.join(history_strings + [f"user: {prompt}"])
    
    completions = openai.ChatCompletion.create(
        engine=config["model"],
        prompt=chat_prompt,
        max_tokens=config["max_tokens"],
        n=1,
        temperature=config["temperature"],
    )
    return completions.choices[0].text.strip().split('assistant:', 1)[-1].strip()
Run Code Online (Sandbox Code Playgroud)

python openai-api gpt-4

8
推荐指数
2
解决办法
2万
查看次数

ChatGPT 模型 Python 上的 Llama_index 意外关键字参数错误

我正在测试几个广泛发布的 GPT 模型,只是想尝试一下,但遇到了一个无法解决的错误。

我正在运行这段代码:

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

os.environ["OPENAI_API_KEY"] = 'MYKEY'

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)

    llm_predictor_gpt = 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_gpt, prompt_helper=prompt_helper)

    index.save_to_disk('index.json')

    return index

def chatbot(input_text):
    index = GPTSimpleVectorIndex.load_from_disk('index.json')
    response = index.query(input_text, response_mode="compact")
    return response.response




iface = gr.Interface(fn=chatbot,
                     inputs=gr.inputs.Textbox(lines=7, label="Enter your …
Run Code Online (Sandbox Code Playgroud)

python openai-api gpt-3 llama-index

8
推荐指数
1
解决办法
7089
查看次数

使用 Node.js 和 Express.js 的 OpenAI 完成流

我正在尝试构建一个 ChatGPT 网站克隆,现在我需要制作流完成效果,以逐字显示结果。我的服务器是一个使用Express.js框架的 TypeScript Node.js 应用程序。

这是路线:

import express, { Request, Response } from 'express';
import cors from 'cors';
import { Configuration, OpenAIAPI } from 'openai';

// ...

app.post('/api/admin/testStream', async (req: Request, res: Response) => {
    const { password } = req.body;

    try {
        if (password !== process.env.ADMIN_PASSWORD) {
            res.send({ message: 'Incorrect password' });
            return;
        }
        const completion = await openai.createCompletion({
            model: 'text-davinci-003',
            prompt: 'Say this is a test',
            stream: true,
        }, { responseType: 'stream' });

        completion.data.on('data', (chunk: …
Run Code Online (Sandbox Code Playgroud)

sockets events node.js express openai-api

8
推荐指数
1
解决办法
1万
查看次数

如何使用 LangChain Callbacks 将模型调用和答案记录到变量中

我正在使用LangChain构建 NL 应用程序。我希望将与 LLM 的交互记录在一个变量中,我可以将其用于日志记录和调试目的。我创建了一个非常简单的链:

from typing import Any, Dict

from langchain import PromptTemplate
from langchain.callbacks.base import BaseCallbackHandler
from langchain.chains import LLMChain
from langchain.llms import OpenAI

llm = OpenAI()
prompt = PromptTemplate.from_template("1 + {number} = ")
handler = MyCustomHandler()

chain = LLMChain(llm=llm, prompt=prompt, callbacks=[handler])
chain.run(number=2)
Run Code Online (Sandbox Code Playgroud)

为了记录发生的情况,我创建了一个自定义CallbackHandler

class MyCustomHandler(BaseCallbackHandler):
    def on_text(self, text: str, **kwargs: Any) -> Any:
        print(f"Text: {text}")
        self.log = text
  
    def on_chain_start(
        self, serialized: Dict[str, Any], inputs: Dict[str, Any], **kwargs: Any
    ) -> Any:
        """Run …
Run Code Online (Sandbox Code Playgroud)

python nlp openai-api langchain

8
推荐指数
1
解决办法
4376
查看次数

OpenAI API 错误:“您尝试访问 openai.ChatCompletion,但 openai>=1.0.0 不再支持此功能”

我目前正在开发一个聊天机器人,由于我使用的是 Windows 11,它不允许我迁移到较新的 OpenAI 库或降级它。ChatCompletion我可以用其他功能替换该功能以在我的版本上使用吗?

这是代码:

import openai

openai.api_key = "private"

def chat_gpt(prompt):
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[{"role": "user", "content": prompt}]
    )
    return response.choices[0].message['content'].strip()

if __name__ == "__main__":
    while True:
        user_input = input("You: ")
        if user_input.lower() in ["quit", "exit", "bye"]:
            break
        response = chat_gpt(user_input)
        print("Bot:", response)
Run Code Online (Sandbox Code Playgroud)

这是完整的错误:

...您尝试访问 openai.ChatCompletion,但 openai>=1.0.0 不再支持此功能 - 请参阅https://github.com/openai/openai-python上的API 了解自述文件。

您可以运行openai migrate自动升级您的代码库以使用 1.0.0 界面。

或者,您可以将安装固定到旧版本,例如 <pip install openai==0.28>

此处提供了详细的迁移指南:https ://github.com/openai/openai-python/discussions/742

我尝试通过 pip 进行升级和降级。

python artificial-intelligence pip openai-api chatgpt-api

8
推荐指数
2
解决办法
2万
查看次数

如何在 Python 中将“消息历史记录”添加到基于 llama-index 的 GPT-3

我对使用 llama-index 库来训练 GPT-3 以及通过标准 API 使用 ChatGPT(两者都在 Python 中)还相当陌生。我注意到标准 ChatGPT API 我可以简单地执行以下代码,让 ChatGPT 获取消息历史记录作为上下文:

message_history=[]
completion = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=message_history)
Run Code Online (Sandbox Code Playgroud)

现在我正在使用 llama-index 库在更具体的上下文中训练 GPT-3,但是我不知道如何让模型也考虑 message_history,这是我目前正在处理的代码,我不知道如何实现消息历史记录:


def construct_index(directory_path):
    # set maximum input size
    max_input_size = 4096
    # set number of output tokens
    num_outputs = 2000
    # set maximum chunk overlap
    max_chunk_overlap = 20
    # set chunk size limit
    chunk_size_limit = 600 

    # define prompt helper
    prompt_helper = PromptHelper(max_input_size, num_outputs, max_chunk_overlap, chunk_size_limit=chunk_size_limit)
    # define LLM
    llm_predictor = LLMPredictor(llm=OpenAI(temperature=0.5, model_name="text-ada-001", max_tokens=num_outputs))
    # define context …
Run Code Online (Sandbox Code Playgroud)

python openai-api gpt-3 gpt-index llama-index

7
推荐指数
1
解决办法
2581
查看次数

聊天 GPT 响应的格式

我在我的 React 应用程序上使用聊天 gpt api。我面临的问题是如何格式化来自聊天 gpt 的响应。如果要求它以表格格式给我一个响应,它会提供奇怪的响应,我使用预标记来显示文本,响应以这种方式显示附加图像,但我想要正确的表格,就像聊天 gpt 一样,如果我要求的话,以同样的方式它显示为段落形式而不是在不同行上的任何项目列表,因此如何正确格式化聊天 GPT 响应。

我想要正确的表格和列表,如聊天 GPT 显示,但这就是我接收数据的方式 这是使用预标记时数据的显示方式,但我想要正确的表格

javascript formatting reactjs openai-api chatgpt-api

7
推荐指数
2
解决办法
2万
查看次数