Мое приложение Flask (использует OpenAI API и Langchain) работает локально, но при развертывании с помощью Azure оно не Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Мое приложение Flask (использует OpenAI API и Langchain) работает локально, но при развертывании с помощью Azure оно не

Сообщение Anonymous »


Я создал приложение, которое использует Langchain и ChatGPT API, чтобы иметь возможность запрашивать данные из текстового файла text.txt.

из фляги импорта Flask, render_template, запрос импортировать ОС импорт лангчейна из langchain.chains импортировать ConversationalRetrivalChain из langchain.chat_models импортировать ChatOpenAI из langchain.document_loaders импортировать DirectoryLoader, TextLoader из langchain.embeddings импортировать OpenAIEmbeddings из langchain.indexes импортировать VectorstoreIndexCreator из langchain.indexes.vectorstore импортировать VectorStoreIndexWrapper из langchain.indexes.vectorstore импортировать Chroma импортировать мою константу # Установите ключ API OPENAI os.environ["OPENAI_API_KEY"] = myconstant.APIKEY # Настройте, сохранять ли индекс ПЕРСИСТ = Истина приложение = Колба(__name__) запрос = Нет история_чата = [] @app.route('/') @app.route('/index') индекс защиты(): вернуть render_template('index.html', query=query) @app.route('/', методы=['POST']) защита процесс_запрос(): глобальный запрос глобальная история чата запрос = request.form['запрос'] if запрос в ['quit', 'q', 'exit']: вернуть «До свидания!» # Загрузить индекс из хранилища или создать новый если PERSIST и os.path.exists("persist"): Vectorstore = Chroma(persist_directory="persist", embedding_function=OpenAIEmbeddings()) index = VectorStoreIndexWrapper(vectorstore=vectorstore) еще: загрузчик = TextLoader("test.txt",coding="utf-8") если СОХРАНЯТЬСЯ: # Создаем индекс с сохранением index = VectorstoreIndexCreator(vectorstore_kwargs={"persist_directory": "persist"}).from_loaders([loader]) еще: # Создаем индекс без сохранения index = VectorstoreIndexCreator().from_loaders([загрузчик]) # Создайте диалоговую цепочку поиска, используя указанную модель LLM и средство извлечения индекса. цепочка = ConversationalRetrivalChain.from_llm( llm=ChatOpenAI(model="gpt-3.5-turbo"), ретривер = index.vectorstore.as_retriever (search_kwargs = {"k": 1}), ) # Генерируем ответ, используя диалоговую цепочку результат = цепочка({"вопрос": запрос, "чат_история": чат_история}) # Добавляем запрос и ответ в историю чата chat_history.append((запрос, результат['ответ'])) return render_template('index.html', запрос=запрос, результат=результат['ответ']) если __name__ == '__main__': app.run(отладка=Истина) Когда я запускаю это приложение Flask локально, оно отвечает на мои вопросы, используя текстовый файл, и, следовательно, дает мне желаемый ответ.

Однако то же приложение, развернутое с помощью службы приложений Azure, будет работать, но когда я задаю тот же вопрос, оно дает общий ответ, который не использует мой текстовый файл.

Например, когда я говорю «Приведите пример работы с [клиентом]», локальное приложение flask говорит: «Да, мы сотрудничали с [клиентом] в 2018 году, когда работали над [проектом].

В приложении Azure появляется сообщение: «У меня нет доступа к конкретным партнерам и клиентам». Было бы лучше проверить веб-сайт [клиента] для получения более подробной информации об этом».

Я пробовал это с несколькими разными вопросами, и проблема осталась одна и та же.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»