https://pypi.org/project/openai/
“该库需要使用您帐户的密钥进行配置,该密钥可在 网站上找到。[...]将其设置为 OPENAI_API_KEY 环境变量”
当我要求 Chat GPT 完成消息时
import openai
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "What are the trade-offs around deadwood in forests?"}]
)
print(response)
Run Code Online (Sandbox Code Playgroud)
我得到一个RateLimitError: You exceeded your current quota, please check your plan and billing details.
有没有一个Python方法来检查密钥是否有效?
In [35]: openai.api_key
Out[35]: 'sk-...'
Run Code Online (Sandbox Code Playgroud) 我目前正在开发一个聊天机器人,由于我使用的是 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 进行升级和降级。
我在我的 React 应用程序上使用聊天 gpt api。我面临的问题是如何格式化来自聊天 gpt 的响应。如果要求它以表格格式给我一个响应,它会提供奇怪的响应,我使用预标记来显示文本,响应以这种方式显示附加图像,但我想要正确的表格,就像聊天 gpt 一样,如果我要求的话,以同样的方式它显示为段落形式而不是在不同行上的任何项目列表,因此如何正确格式化聊天 GPT 响应。
我想要正确的表格和列表,如聊天 GPT 显示,但这就是我接收数据的方式 这是使用预标记时数据的显示方式,但我想要正确的表格
我看到这里有多种图像生成方法: https://platform.openai.com/docs/api-reference/images
但我只是想向聊天 gpt 发送一个 png 文件,问“这是什么?” 或类似的事情,然后得到回复。
我正在试验 OpenAI 的 GPT API,并学习如何使用 GPT-3.5-Turbo 模型。我在网上找到了一个快速入门示例:
def generate_chat_completion(messages, model="gpt-3.5-turbo", temperature=1, max_tokens=None):
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}",
}
data = {
"model": model,
"messages": messages,
"temperature": temperature,
}
max_tokens = 100
if max_tokens is not None:
data["max_tokens"] = max_tokens
response = requests.post(API_ENDPOINT, headers=headers, data=json.dumps(data))
if response.status_code == 200:
return response.json()["choices"][0]["message"]["content"]
else:
raise Exception(f"Error {response.status_code}: {response.text}")
while 1:
inputText = input("Enter your message: ")
messages = [
{"role": "system", "content": inputText},
]
response_text = generate_chat_completion(messages)
print(response_text)
Run Code Online (Sandbox Code Playgroud)
具有必要的导入以及代码块上方定义的 API …
我想创建一个自托管的 LLM 模型,该模型将能够拥有我自己的自定义数据的上下文(就此而言,Slack 对话)。
我听说 Vicuna 是 ChatGPT 的一个很好的替代品,所以我编写了以下代码:
from llama_index import SimpleDirectoryReader, LangchainEmbedding, GPTListIndex, \
GPTSimpleVectorIndex, PromptHelper, LLMPredictor, Document, ServiceContext
from langchain.embeddings.huggingface import HuggingFaceEmbeddings
import torch
from langchain.llms.base import LLM
from transformers import pipeline, AutoTokenizer, AutoModelForCausalLM
!export PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:512
class CustomLLM(LLM):
model_name = "eachadea/vicuna-13b-1.1"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
pipeline = pipeline("text2text-generation", model=model, tokenizer=tokenizer, device=0,
model_kwargs={"torch_dtype":torch.bfloat16})
def _call(self, prompt, stop=None):
return self.pipeline(prompt, max_length=9999)[0]["generated_text"]
def _identifying_params(self):
return {"name_of_model": self.model_name}
def _llm_type(self):
return "custom"
llm_predictor = LLMPredictor(llm=CustomLLM())
Run Code Online (Sandbox Code Playgroud)
但遗憾的是我遇到了以下错误:
OutOfMemoryError: CUDA out …Run Code Online (Sandbox Code Playgroud) 这是来自 ChatGPT 聊天补全的官方文档:
openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"},
{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},
{"role": "user", "content": "Where was it played?"}
]
)
Run Code Online (Sandbox Code Playgroud)
我对系统角色的第一个理解是一条只是向用户打招呼的消息。但用“你是一个有用的助手”来问候用户是没有意义的。它还解释了:
系统消息有助于设置助手的行为。在上面的示例中,助理收到的指示是“你是一位乐于助人的助理”。
那么,我是否在系统角色中编写人工智能的行为,例如:You're professional assistant如果我希望人工智能成为专业人士,或者我可以在角色中编写:You're a funny assistant如果我希望它成为一个有趣的人工智能。
或者只是一条问候语?
为了制作微调的 ChatGPT 模型,我们需要上传训练数据的 JSON 文件。用于文件上传的 OpenAI 文档在这里:
https://platform.openai.com/docs/api-reference/files/upload
但是...我不知道如何附加实际的文件信息。参数file是文件名,而不是文件。一定有一些明显的东西我失踪了!
请耐心等待,因为这确实是我编写的第一个主要代码,并且是针对 OpenAI 的 ChatGPT API 的。
我打算用这段代码做的是加载一个pdf文档或一组pdf文档。然后把它们分开,以免用完我的代币。然后,用户会提出与所述文档相关的问题,机器人会做出回应。我遇到的问题是,我希望机器人在我提出新问题时能够理解上下文。例如: Q1:什么是瓢虫?A1:瓢虫是甲虫的一种等等等等...... Q2:它们是什么颜色的?A2:它们可以有各种颜色等等等等... Q3:在哪里可以找到它们?A3:瓢虫遍布世界各地......
但我似乎无法启动并运行我的代码。相反,这是我得到的输出: 当我提出需要机器人了解上下文的后续问题时我得到什么
**这是代码:**
import os
import platform
import openai
import gradio as gr
import chromadb
import langchain
from langchain.chat_models import ChatOpenAI
from langchain.embeddings.openai import OpenAIEmbeddings
from langchain.vectorstores import Chroma
from langchain.text_splitter import TokenTextSplitter
from langchain.document_loaders import PyPDFLoader
from langchain.prompts.prompt import PromptTemplate
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
#OpenAI API Key goes here
os.environ["OPENAI_API_KEY"] = 'sk-xxxxxxx'
#load the data here.
def get_document():
loader = PyPDFLoader('docs/ladybug.pdf')
data = loader.load()
return …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 Langchain 和特定 URL 作为源数据来整理一个简单的“来源问答”。URL 由一个页面组成,其中包含大量信息。
问题是RetrievalQAWithSourcesChain只给我返回整个 URL 作为结果的来源,这在这种情况下不是很有用。
有没有办法获得更详细的源信息?也许页面上特定部分的标题?指向页面正确部分的可点击 URL 会更有帮助!
我有点不确定 的生成是result source语言模型、URL 加载器的函数还是仅仅是RetrievalQAWithSourcesChain单独的。
我尝试过使用UnstructuredURLLoader和 ,SeleniumURLLoader希望更详细的数据读取和输入会有所帮助 - 遗憾的是没有。
相关代码摘录:
llm = ChatOpenAI(temperature=0, model_name='gpt-3.5-turbo')
chain = RetrievalQAWithSourcesChain.from_llm(llm=llm, retriever=VectorStore.as_retriever())
result = chain({"question": question})
print(result['answer'])
print("\n Sources : ",result['sources'] )
Run Code Online (Sandbox Code Playgroud) chatgpt-api ×10
openai-api ×9
python ×6
langchain ×3
gpt-3 ×2
chat-gpt-4 ×1
formatting ×1
gpt-4 ×1
javascript ×1
pip ×1
py-langchain ×1
pytorch ×1
reactjs ×1