|
1869 | 1869 | "outputs": [], |
1870 | 1870 | "source": [ |
1871 | 1871 | "from functools import wraps\n", |
1872 | | - "from redisvl.extensions.session_manager import StandardSessionManager\n", |
| 1872 | + "from redisvl.extensions.message_history import MessageHistory\n", |
1873 | 1873 | "\n", |
1874 | 1874 | "\n", |
1875 | 1875 | "class ChatBot:\n", |
1876 | 1876 | " def __init__(self, index: AsyncSearchIndex, vectorizer: BaseVectorizer, user: str):\n", |
1877 | 1877 | " self.index = index\n", |
1878 | 1878 | " self.vectorizer = vectorizer\n", |
1879 | | - " self.session_manager = StandardSessionManager(\n", |
| 1879 | + " self.history = MessageHistory(\n", |
1880 | 1880 | " name=f\"chat_session_{user}\",\n", |
1881 | 1881 | " session_tag=user,\n", |
1882 | 1882 | " redis_url=REDIS_URL,\n", |
|
1915 | 1915 | "\n", |
1916 | 1916 | " async def clear_history(self):\n", |
1917 | 1917 | " \"\"\"Clear session chat\"\"\"\n", |
1918 | | - " self.session_manager.clear()\n", |
| 1918 | + " self.history.clear()\n", |
1919 | 1919 | "\n", |
1920 | 1920 | " async def answer_question(self, query: str):\n", |
1921 | 1921 | " \"\"\"Answer the user's question with historical context and caching baked-in\"\"\"\n", |
|
1933 | 1933 | " answer = result[0]['response']\n", |
1934 | 1934 | " else:\n", |
1935 | 1935 | " context = await self.retrieve_context(query_vector)\n", |
1936 | | - " session = self.session_manager.messages\n", |
| 1936 | + " session = self.history.messages\n", |
1937 | 1937 | " messages = (\n", |
1938 | 1938 | " [{\"role\": \"system\", \"content\": SYSTEM_PROMPT}] +\n", |
1939 | 1939 | " session +\n", |
|
1950 | 1950 | " llmcache.store(query, answer, query_vector)\n", |
1951 | 1951 | "\n", |
1952 | 1952 | " # Add message history\n", |
1953 | | - " self.session_manager.add_messages([\n", |
| 1953 | + " self.history.add_messages([\n", |
1954 | 1954 | " {\"role\": \"user\", \"content\": query},\n", |
1955 | 1955 | " {\"role\": \"assistant\", \"content\": answer}\n", |
1956 | 1956 | " ])\n", |
|
2037 | 2037 | ], |
2038 | 2038 | "source": [ |
2039 | 2039 | "# NBVAL_SKIP\n", |
2040 | | - "chat.session_manager.messages" |
| 2040 | + "chat.history.messages" |
2041 | 2041 | ] |
2042 | 2042 | }, |
2043 | 2043 | { |
|
2102 | 2102 | "provenance": [] |
2103 | 2103 | }, |
2104 | 2104 | "kernelspec": { |
2105 | | - "display_name": "env", |
| 2105 | + "display_name": "redis-ai-res", |
2106 | 2106 | "language": "python", |
2107 | 2107 | "name": "python3" |
2108 | 2108 | }, |
|
2116 | 2116 | "name": "python", |
2117 | 2117 | "nbconvert_exporter": "python", |
2118 | 2118 | "pygments_lexer": "ipython3", |
2119 | | - "version": "3.11.11" |
| 2119 | + "version": "3.11.9" |
2120 | 2120 | } |
2121 | 2121 | }, |
2122 | 2122 | "nbformat": 4, |
|
0 commit comments