Langchain增加了这个功能ConversationalRetrievalChain,用于与历史文档聊天。根据他们的文档ConversationalRetrievalChain我需要传递作为函数指令的提示。我怎样才能通过这个函数调用来实现这一点?
这是代码
qa = ConversationalRetrievalChain.from_llm(OpenAI(temperature=0), vectorstore.as_retriever(), memory=memory)
Run Code Online (Sandbox Code Playgroud) 基本上我想用 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,但它不起作用(它不传输结果,它只是立即打印完整的响应,尽管我可能做错了什么)。
我终于解决了:
我该如何解决这个问题: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 但无法将其识别为软件包
我不断收到如下错误
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) 我刚刚在 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) 我使用 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)
问题是:
对象 OpenAIObject 不能在“await”表达式中使用
我不知道如何等待generate_answer函数中的响应
将不胜感激任何帮助!
我想结合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) 我正在测试几个广泛发布的 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) 我正在尝试构建一个 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) 这里是新手。
我一直在尝试将 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) openai-api ×10
python ×7
langchain ×5
gpt-3 ×2
agent ×1
aiohttp ×1
conda ×1
events ×1
express ×1
flask ×1
import ×1
langchain-js ×1
llama-index ×1
node.js ×1
pip ×1
python-3.x ×1
sockets ×1