Skip to content

Commit 10f2de4

Browse files
committed
modify structure to read env files from .env file in same directory
1 parent c541de8 commit 10f2de4

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed
Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
from llama_index.core.memory import ChatSummaryMemoryBuffer
2-
from llama_index.core.llms import ChatMessage # Add this import
2+
from llama_index.core.llms import ChatMessage
33
from llama_index.llms.openai import OpenAI as LlamaOpenAI
44
from openai import OpenAI as PerplexityClient
5+
from dotenv import load_dotenv
56
import os
67

8+
# Load environment variables from .env file
9+
load_dotenv()
10+
711
# Configure LLM for memory summarization
812
llm = LlamaOpenAI(
913
model="gpt-4o-2024-08-06",
10-
api_key=os.environ["PERPLEXITY_API_KEY"],
14+
api_key=os.getenv("PERPLEXITY_API_KEY"),
1115
base_url="https://api.openai.com/v1/chat/completions"
1216
)
1317

@@ -25,36 +29,29 @@
2529

2630
# Create API client
2731
sonar_client = PerplexityClient(
28-
api_key=os.environ["PERPLEXITY_API_KEY"],
32+
api_key=os.getenv("PERPLEXITY_API_KEY"),
2933
base_url="https://api.perplexity.ai"
3034
)
3135

3236
def chat_with_memory(user_query: str):
33-
# Store user message as ChatMessage
3437
memory.put(ChatMessage(role="user", content=user_query))
35-
36-
# Get optimized message history
3738
messages = memory.get()
3839

39-
# Convert to Perplexity-compatible format
4040
messages_dict = [
4141
{"role": m.role, "content": m.content}
4242
for m in messages
4343
]
4444

45-
# Execute API call
4645
response = sonar_client.chat.completions.create(
4746
model="sonar-pro",
4847
messages=messages_dict,
4948
temperature=0.3
5049
)
5150

52-
# Store response
5351
assistant_response = response.choices[0].message.content
5452
memory.put(ChatMessage(
5553
role="assistant",
5654
content=assistant_response
5755
))
5856

5957
return assistant_response
60-

0 commit comments

Comments
 (0)