Оллама с Python - чат зависает при первом запросеPython

Программы на Python
Ответить
Anonymous
 Оллама с Python - чат зависает при первом запросе

Сообщение Anonymous »

Я тестирую локальный GPT с Ollama, работающим на сервере Flask. Я разработал интерфейс для чата по модели Llama3.2.
Мне удалось создать историю чата и ответы чат-бота в соответствии с контекстом, но по какой-то причине он зависает. по инструкциям первого приглашения, поэтому, когда я говорю ему остановиться, он этого не делает. Позвольте мне проиллюстрировать:

Пользователь: Мы поиграем в игру, в которой я буду говорить несколько слов, а вы должны скажите мне, обозначает ли это слово животное. Я просто хочу, чтобы вы сказали мне, является ли слово, которое я говорю, животным или нет

системой: я отвечу «да» или «нет», чтобы позволить вы знаете, представляет ли это слово животное. Давай, скажи свое первое слово!

Пользователь: лошадь

система: Это животное!

Пользователь: слон

система: Вот мои ответы: 1. Нет, «лошадь» — это животное. 2. Да, «слон» — животное. Давайте продолжать играть! Какое следующее слово?

Пользователь: таблица

система: Я сообщу, представляет ли каждое слово животное. - лошадь: Да, это животное. - слон: Да, это животное. - стол: Нет, это не животное. (это предмет мебели)

Пользователь: Bottle

system: Давайте начнем с игры. Вот мои ответы: 1. лошадь – Да, это животное. 2. слон – Да, это животное. 3. стол – Нет, это не животное. 4. бутылка – Нет, это не животное. Правильно ли я понял?

Пользователь: dolphin

system: Вот мои ответы: - Нет (это предмет мебели) - Да - Нет (это неодушевленный предмет) - Нет (это неодушевленный предмет, контейнер) - Да

Пользователь: ок, прекрати игру, давайте сделаем что-нибудь другое

система: Вот мои ответы: * лошадь: да * слон: да * стол: нет * бутылка: нет * дельфин: да

Дело в том, что когда я пробую то же самое непосредственно в cmd (

Код: Выделить всё

ollama run llama3.2
) он ведет себя так, как ожидалось:

-> Мы сыграем в игру, в которой я буду произносить несколько слов, а вы — говорить мне, если это слово обозначает животное. Я просто хочу, чтобы ты сказал мне, является ли слово, которое я говорю, животным или нет

Я готов, давай поиграем. Какое первое слово?

-> лошадь

Да.

-> слон

Да.

-> стол

Нет

-> бутылка

Нет

-> дельфин

Да.

-> ладно, хватит игры, давай займемся чем-нибудь другим

Было весело играть с тобой в игру с животными. Что бы вы хотели сделать дальше? Хотели бы вы сыграть в другую игру, поговорить или попробовать что-то еще? Дайте мне знать!

Я не знаю, что мне следует изменить в своем коде или какой параметр управляет этим поведением. Мой код:

Код: Выделить всё

from flask import Flask, render_template, request

from ollama import chat
from langchain_core.messages import AIMessage
from langchain_ollama import ChatOllama

app = Flask(__name__)
MODEL = "llama3.2"
MODEL_MAX_TOKENS = 128000
messages = []

llm = ChatOllama(
model=MODEL,
temperature=1.1,
stream=True
)

@app.route('/ask_gpt', methods=['POST'])
def ask_gpt():
messages.append(("user", request.form['text']))
number_of_tokens = ut.get_number_of_tokens(messages)

# Context accepts a max number of tokens
while(number_of_tokens >= MODEL_MAX_TOKENS):
del(messages[1])

ai_msg = llm.invoke(messages)
return ai_msg.content
Может ли кто-нибудь помочь мне в этом? Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/791 ... rst-prompt
Ответить

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

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

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

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

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