Skip to content

Commit bc04b30

Browse files
authored
Merge pull request #4 from ifsvivek/copilot/fix-request-processing-error
Remove langchain_classic dependency; inline conversation memory
2 parents fd75c5f + e246bf1 commit bc04b30

2 files changed

Lines changed: 32 additions & 5 deletions

File tree

LocalBot.py

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,38 @@
11
import os, random, asyncio, aiohttp, json, discord
2+
from dataclasses import dataclass
23
from discord.ext import commands, tasks
34
from typing import Optional
4-
from langchain_classic.memory import ConversationBufferWindowMemory
5+
6+
7+
@dataclass
8+
class _ChatMessage:
9+
content: str
10+
type: str
11+
12+
13+
class _ChatMemory:
14+
def __init__(self, k: int = 5):
15+
self.messages: list = []
16+
self._k = k
17+
18+
def add_user_message(self, content: str):
19+
self.messages.append(_ChatMessage(content=content, type="human"))
20+
self._trim()
21+
22+
def add_ai_message(self, content: str):
23+
self.messages.append(_ChatMessage(content=content, type="ai"))
24+
self._trim()
25+
26+
def _trim(self):
27+
max_messages = self._k * 2
28+
if len(self.messages) > max_messages:
29+
self.messages = self.messages[-max_messages:]
30+
31+
32+
class ConversationBufferWindowMemory:
33+
def __init__(self, return_messages: bool = True, k: int = 5):
34+
self.chat_memory = _ChatMemory(k=k)
35+
536
from cerebras.cloud.sdk import Cerebras
637
from dotenv import load_dotenv
738

requirements.txt

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,3 @@ aiohttp
1212
cerebras_cloud_sdk
1313
# google-genai
1414

15-
# Memory & Conversation Management
16-
langchain
17-
langchain-community
18-
langchain-core

0 commit comments

Comments
 (0)