mgbam commited on
Commit
6aefb64
·
verified ·
1 Parent(s): 5a643ee

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -3
app.py CHANGED
@@ -1,5 +1,3 @@
1
-
2
-
3
  # ------------------------------
4
  # Imports & Dependencies
5
  # ------------------------------
@@ -12,12 +10,28 @@ from langgraph.prebuilt import ToolNode
12
  from langgraph.graph.message import add_messages
13
  from typing_extensions import TypedDict, Annotated
14
  from typing import Sequence
 
 
15
  import re
16
  import os
17
  import streamlit as st
18
  import requests
19
  from langchain.tools.retriever import create_retriever_tool
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
21
  # ------------------------------
22
  # Dummy Data: Research & Development Texts
23
  # ------------------------------
@@ -47,16 +61,21 @@ embeddings = OpenAIEmbeddings(
47
  model="text-embedding-3-large",
48
  # dimensions=1024 # Uncomment if needed
49
  )
 
50
  research_vectorstore = Chroma.from_documents(
51
  documents=research_docs,
52
  embedding=embeddings,
 
53
  collection_name="research_collection"
54
  )
 
55
  development_vectorstore = Chroma.from_documents(
56
  documents=development_docs,
57
  embedding=embeddings,
 
58
  collection_name="development_collection"
59
  )
 
60
  research_retriever = research_vectorstore.as_retriever()
61
  development_retriever = development_vectorstore.as_retriever()
62
 
@@ -256,7 +275,7 @@ def custom_tools_condition(state: AgentState):
256
  return END
257
 
258
  # ------------------------------
259
- # Workflow Configuration using LangGraph (Corrected)
260
  # ------------------------------
261
  workflow = StateGraph(AgentState)
262
 
 
 
 
1
  # ------------------------------
2
  # Imports & Dependencies
3
  # ------------------------------
 
10
  from langgraph.graph.message import add_messages
11
  from typing_extensions import TypedDict, Annotated
12
  from typing import Sequence
13
+ import chromadb
14
+ from chromadb.config import Settings
15
  import re
16
  import os
17
  import streamlit as st
18
  import requests
19
  from langchain.tools.retriever import create_retriever_tool
20
 
21
+ # Create directory for Chroma persistence
22
+ os.makedirs("chroma_db", exist_ok=True)
23
+
24
+ # ------------------------------
25
+ # ChromaDB Client Configuration
26
+ # ------------------------------
27
+ chroma_client = chromadb.Client(
28
+ Settings(
29
+ chroma_db_impl="duckdb+parquet",
30
+ persist_directory="chroma_db",
31
+ anonymized_telemetry=False
32
+ )
33
+ )
34
+
35
  # ------------------------------
36
  # Dummy Data: Research & Development Texts
37
  # ------------------------------
 
61
  model="text-embedding-3-large",
62
  # dimensions=1024 # Uncomment if needed
63
  )
64
+
65
  research_vectorstore = Chroma.from_documents(
66
  documents=research_docs,
67
  embedding=embeddings,
68
+ client=chroma_client,
69
  collection_name="research_collection"
70
  )
71
+
72
  development_vectorstore = Chroma.from_documents(
73
  documents=development_docs,
74
  embedding=embeddings,
75
+ client=chroma_client,
76
  collection_name="development_collection"
77
  )
78
+
79
  research_retriever = research_vectorstore.as_retriever()
80
  development_retriever = development_vectorstore.as_retriever()
81
 
 
275
  return END
276
 
277
  # ------------------------------
278
+ # Workflow Configuration using LangGraph
279
  # ------------------------------
280
  workflow = StateGraph(AgentState)
281