mirror of
https://github.com/hwchase17/langchain
synced 2024-11-10 01:10:59 +00:00
181a61982f
Preserves string content chunks for non tool call requests for convenience. One thing - Anthropic events look like this: ``` RawContentBlockStartEvent(content_block=TextBlock(text='', type='text'), index=0, type='content_block_start') RawContentBlockDeltaEvent(delta=TextDelta(text='<thinking>\nThe', type='text_delta'), index=0, type='content_block_delta') RawContentBlockDeltaEvent(delta=TextDelta(text=' provide', type='text_delta'), index=0, type='content_block_delta') ... RawContentBlockStartEvent(content_block=ToolUseBlock(id='toolu_01GJ6x2ddcMG3psDNNe4eDqb', input={}, name='get_weather', type='tool_use'), index=1, type='content_block_start') RawContentBlockDeltaEvent(delta=InputJsonDelta(partial_json='', type='input_json_delta'), index=1, type='content_block_delta') ``` Note that `delta` has a `type` field. With this implementation, I'm dropping it because `merge_list` behavior will concatenate strings. We currently have `index` as a special field when merging lists, would it be worth adding `type` too? If so, what do we set as a context block chunk? `text` vs. `text_delta`/`tool_use` vs `input_json_delta`? CC @ccurme @efriis @baskaryan |
||
---|---|---|
.. | ||
ai21 | ||
airbyte | ||
anthropic | ||
azure-dynamic-sessions | ||
chroma | ||
couchbase | ||
exa | ||
fireworks | ||
groq | ||
huggingface | ||
ibm | ||
milvus | ||
mistralai | ||
mongodb | ||
nomic | ||
openai | ||
pinecone | ||
prompty | ||
qdrant | ||
robocorp | ||
together | ||
upstage | ||
voyageai |