Add create_conv_retrieval_chain func (#15084)
```
+----------+
| MapInput |
**+----------+****
**** ****
**** ***
** ****
+------------------------------------+ **
| Lambda(itemgetter('chat_history')) | *
+------------------------------------+ *
* *
* *
* *
+---------------------------+ +--------------------------------+
| Lambda(_get_chat_history) | | Lambda(itemgetter('question')) |
+---------------------------+ +--------------------------------+
* *
* *
* *
+----------------------------+ +------------------------+
| ContextSet('chat_history') | | ContextSet('question') |
+----------------------------+ +------------------------+
**** ****
**** ****
** **
+-----------+
| MapOutput |
+-----------+
*
*
*
+----------------+
| PromptTemplate |
+----------------+
*
*
*
+-------------+
| FakeListLLM |
+-------------+
*
*
*
+-----------------+
| StrOutputParser |
+-----------------+
*
*
*
+----------------------------+
| ContextSet('new_question') |
+----------------------------+
*
*
*
+---------------------+
| SequentialRetriever |
+---------------------+
*
*
*
+------------------------------------+
| Lambda(_reduce_tokens_below_limit) |
+------------------------------------+
*
*
*
+-------------------------------+
| ContextSet('input_documents') |
+-------------------------------+
*
*
*
+----------+
***| MapInput |****
******* +----------+ ********
******** * *******
******* * ********
**** * ****
+-------------------------------+ +----------------------------+ +----------------------------+
| ContextGet('input_documents') | | ContextGet('chat_history') | | ContextGet('new_question') |
+-------------------------------+**** +----------------------------+ +----------------------------+
********* * *******
******** * ******
***** * ****
+-----------+
| MapOutput |
+-----------+
*
*
*
+-------------+
| FakeListLLM |
+-------------+
*
*
*
+----------+
***| MapInput |***
******** +----------+ ******
******* * *****
******** * ******
**** * ***
+-------------------------------+ +----------------------------+ +-------------+
| ContextGet('input_documents') | | ContextGet('new_question') | **| Passthrough |
+-------------------------------+ +----------------------------+ ******* +-------------+
******* * ******
****** * *******
**** * ****
+-----------+
| MapOutput |
+-----------+
```
---------
Co-authored-by: Harrison Chase <hw.chase.17@gmail.com>