community[patch]: Invoke callback prior to yielding token (#18452)

## PR title
community[patch]: Invoke callback prior to yielding token

## PR message
- Description: Invoke callback prior to yielding token in _stream and
_astream methods in llms/anthropic.
- Issue: https://github.com/langchain-ai/langchain/issues/16913
- Dependencies: None
This commit is contained in:
William De Vena 2024-03-03 23:13:41 +01:00 committed by GitHub
parent 371bec79bc
commit eb04d0d3e2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -309,9 +309,9 @@ class Anthropic(LLM, _AnthropicCommon):
prompt=self._wrap_prompt(prompt), stop_sequences=stop, stream=True, **params
):
chunk = GenerationChunk(text=token.completion)
yield chunk
if run_manager:
run_manager.on_llm_new_token(chunk.text, chunk=chunk)
yield chunk
async def _astream(
self,
@ -345,9 +345,9 @@ class Anthropic(LLM, _AnthropicCommon):
**params,
):
chunk = GenerationChunk(text=token.completion)
yield chunk
if run_manager:
await run_manager.on_llm_new_token(chunk.text, chunk=chunk)
yield chunk
def get_num_tokens(self, text: str) -> int:
"""Calculate number of tokens."""