Skip to content

Comments

#48 | прокидывание textContent через metadata в ChatResponse#49

Open
Westalex777 wants to merge 1 commit intoai-forever:mainfrom
Westalex777:fix/issue-48
Open

#48 | прокидывание textContent через metadata в ChatResponse#49
Westalex777 wants to merge 1 commit intoai-forever:mainfrom
Westalex777:fix/issue-48

Conversation

@Westalex777
Copy link

прокидывание textContent через metadata в ChatResponse

@linarkou
Copy link
Collaborator

схожий пулреквест в Spring AI для Ollama, думаю стоит посмотреть на него
spring-projects/spring-ai#3386

@Westalex777
Copy link
Author

Полезный ПР. Вижу что там модель возвращает поле thinking, как я понял это поле в json ответе от модели. У гигачата такого нет, по крайней мере я не находил в доках. Можно добавить Options на вкл/откл. Или какие есть идеи?

@linarkou
Copy link
Collaborator

Да, добавить options как минимум выглядит хорошей идеей.
Еще есть следующие идеи (пока просто накидываю):

  • переименовать "textContent" в "thinking"
  • добавить то же самое для стриминга (SSE)
  • парсить блок и вытаскивать только содержимое этого тэга (под вопросом, как это будет работать со стримингом?)
  • возвращать эти метаданные не только в тулах с returnDirect=true, но и во всех респонсах - то есть добавить "thinking" в ChatResponseMetadata , я уже делаю подобное в https://github.com/ai-forever/spring-ai-gigachat/blob/main/spring-ai-gigachat/src/main/java/chat/giga/springai/GigaChatModel.java#L507-L537

@Westalex777
Copy link
Author

Westalex777 commented Sep 22, 2025

  1. переименование поддерживаю. сделаю.
  2. с SSE проблем нет, там все отрабатывает как ожидается, приходит и think и content
  3. я тоже думал о том, что бы извлекать блок think из контента и передавать его отдельным полем в метадате так же. сейчас у нас извлечение происходит уже после вызова chtaClient. сделать тоже самое в SSE в целом тоже возможно, так как сам тег и его закрытие приходит отдельными чанками и всегда в самом начале. content или cll function уже происходит строго после, по крайней мере я пока наблюдал именно такое поведение.
  4. звучит интересным. если уже что то делаешь, может синканемся голосом, что бы не делать одно и тоже дважды?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants