标签: openai-api

如何在具有历史记录的文档上向 Langchain ConversationalRetrievalChain 聊天添加提示?

Langchain增加了这个功能ConversationalRetrievalChain,用于与历史文档聊天。根据他们的文档ConversationalRetrievalChain我需要传递作为函数指令的提示。我怎样才能通过这个函数调用来实现这一点?

这是代码

qa = ConversationalRetrievalChain.from_llm(OpenAI(temperature=0), vectorstore.as_retriever(), memory=memory)
Run Code Online (Sandbox Code Playgroud)

python artificial-intelligence openai-api langchain

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

使用 Flask 和 LangChain 流式传输 ChatGPT 的结果

基本上我想用 Flask 和 LangChain 来实现这一点:https://www.youtube.com/watch?v =x8uwwLNxqis 。

我正在构建一个在后端使用 LangChain 的问答 Flask 应用程序,但我在传输来自 ChatGPT 的响应时遇到问题。我的链条看起来像这样:

chain = VectorDBQA.from_chain_type(llm=ChatOpenAI(model_name="gpt-3.5-turbo", streaming=True, chain_type="stuff", vectorstore=docsearch)
...
result = chain({"query": query})
output = result['result']
Run Code Online (Sandbox Code Playgroud)

Jinja 只是打印{{ output }},并且工作正常,但结果不会出现在网站中,直到整个响应完成。我想流式传输由 ChatGPT 生成的结果。

我尝试过使用stream_template,但它不起作用(它不传输结果,它只是立即打印完整的响应,尽管我可能做错了什么)。


我终于解决了:

https://github.com/DanteNoguez/FlaskGPT

python flask openai-api langchain large-language-model

10
推荐指数
1
解决办法
6510
查看次数

langchain 根模块不再受支持?

我该如何解决这个问题:UserWarning:不再支持从 langchain 根模块导入 OpenAI。用户警告:不再支持从 langchain 根模块导入 LLMChain。用户警告:不再支持从 langchain 根模块导入 PromptTemplate。

from langchain import OpenAI, LLMChain, PromptTemplate
from langchain.memory import ConversationBufferWindowMemory
Run Code Online (Sandbox Code Playgroud)

尝试直接安装 OpenAI 但无法将其识别为软件包

import openai-api langchain

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

OpenAI GPT-3 API 错误:“请求超时”

我不断收到如下错误

Request timed out: HTTPSConnectionPool(host='api.openai.com', port=443): Read timed out. (read timeout=600)

当我运行下面的代码时

def generate_gpt3_response(user_text, print_output=False):
    """
    Query OpenAI GPT-3 for the specific key and get back a response
    :type user_text: str the user's text to query for
    :type print_output: boolean whether or not to print the raw output JSON
    """
    time.sleep(5)
    completions = ai.Completion.create(
        engine='text-davinci-003',  # Determines the quality, speed, and cost.
        temperature=0.5,            # Level of creativity in the response
        prompt=user_text,           # What the user typed in
        max_tokens=150,             # Maximum …
Run Code Online (Sandbox Code Playgroud)

python openai-api gpt-3

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

未找到 UnstructedPDFLoader 非结构化包的使用,请使用 `pip install unstructed 进行安装

我刚刚在 Anaconda 中有一个新创建的环境(conda 22.9.0 和 Python 3.10.10)。然后我继续安装 langchain (pip install langchain如果我尝试 conda install langchain 它不起作用)。根据快速入门指南,我必须安装一个模型提供程序,因此我安装了 openai ( pip install openai)。

然后我进入 python 控制台并尝试使用UnstructedPDFLoader类加载 PDF ,但出现以下错误。可能是什么问题?

(langchain) C:\Users\user>python
Python 3.10.10 | packaged by Anaconda, Inc. | (main, Mar 21 2023, 18:39:17) [MSC v.1916 64 bit (AMD64)] on win32
>>> from langchain.document_loaders import UnstructuredPDFLoader
>>> loader = UnstructuredPDFLoader("C:\\<path-to-data>\\data\\name-of-file.pdf")
Traceback (most recent call last):
  File "C:\<path-to-anaconda>\envs\langchain\lib\site-packages\langchain\document_loaders\unstructured.py", line 32, in __init__
    import unstructured  # noqa:F401
ModuleNotFoundError: No module …
Run Code Online (Sandbox Code Playgroud)

python conda openai-api langchain

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

OpenAI api - 异步 API 调用

我使用 OpenAI API。我从 PowerPoint 演示文稿中提取了幻灯片文本,并为每张幻灯片编写了提示。现在,我想进行异步 API 调用,以便同时处理所有幻灯片。

这是异步主函数的代码:

for prompt in prompted_slides_text:
    task = asyncio.create_task(api_manager.generate_answer(prompt))
    tasks.append(task)
results = await asyncio.gather(*tasks)
Run Code Online (Sandbox Code Playgroud)

这是generate_answer函数:

@staticmethod
    async def generate_answer(prompt):
        """
        Send a prompt to OpenAI API and get the answer.
        :param prompt: the prompt to send.
        :return: the answer.
        """
        completion = await openai.ChatCompletion.create(
                model="gpt-3.5-turbo",
                messages=[{"role": "user", "content": prompt}]

        )
        return completion.choices[0].message.content
Run Code Online (Sandbox Code Playgroud)

问题是:

对象 OpenAIOb​​ject 不能在“await”表达式中使用

我不知道如何等待generate_answer函数中的响应

将不胜感激任何帮助!

python python-asyncio openai-api

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

如何在 LangChain 中结合 ConversationalRetrievalQAChain、代理和工具

我想结合ConversationalRetrievalQAChain- 例如 - SerpAPILangChain 中的工具。

我用来ConversationalRetrievalQAChain搜索使用 OpenAI 嵌入 API 和本地 Chroma 矢量数据库摄取的产品 PDF。这很好用。但是,产品 PDF 没有最新的定价信息。所以当用户询问定价信息时,我希望LangChain使用该SerpAPI工具来谷歌搜索价格。我有两个部分分开工作,但我很想将它们结合起来。

这是文档搜索部分(请记住:这是 PoC 质量的代码):

// Prompt used to rephrase/condose the question
const CONDENSE_PROMPT = `Given the following conversation and a follow up question, rephrase the follow up question to be a standalone question.

Chat History:
{chat_history}

Follow Up Input: {question}

Standalone question:`;

// Prompt for the actual question
const QA_PROMPT = `You are a helpful AI assistant for sales …
Run Code Online (Sandbox Code Playgroud)

agent openai-api langchain langchain-js

9
推荐指数
1
解决办法
1765
查看次数

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万
查看次数

警告 C4996:“Py_OptimizeFlag”:在 3.12 aiohttp/_websocket.c(3042) 中已弃用:错误 C2039:“ob_digit”:不是“_longobject”的成员

这里是新手。

我一直在尝试将 openai 库安装到 python 中,但我一直遇到问题。我已经安装了 C++ 库。

aio http 似乎存在特定问题,我收到以下错误。我运行的是 Windows 11 笔记本电脑,没有管理员限制。

错误

"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\bin\HostX86\x64\cl.exe" /c /nologo /O2 /W3 /GL /DNDEBUG /MD -IC:\Users\sande\AppData\Local\Programs\Python\Python312\include -IC:\Users\sande\AppData\Local\Programs\Python\Python312\Include "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Tools\MSVC\14.37.32822\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\VS\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.22621.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\um" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\shared" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\winrt" "-IC:\Program Files (x86)\Windows Kits\10\\include\10.0.22621.0\\cppwinrt" /Tcaiohttp/_websocket.c /Fobuild\temp.win-amd64-cpython-312\Release\aiohttp/_websocket.obj
      _websocket.c
      aiohttp/_websocket.c(1475): warning C4996: 'Py_OptimizeFlag': deprecated in 3.12
      aiohttp/_websocket.c(3042): error C2039: 'ob_digit': is not a member of '_longobject'

[end …
Run Code Online (Sandbox Code Playgroud)

python pip python-3.x aiohttp openai-api

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