-
If you do not have Conda download it
-
Create a new conda environment in terminal using:
conda create -n <environment_name> python=3.13
- Activate the conda environment using:
conda activate <environment_name>
- Download dependencies by running the following command in the same directory as
environment.yml. If on apple useenvironment.ymlon windows useenvironment_windows.yml:
conda env update -f environment.yml
-
Navigate to the
KnowledgeRetrieverfolder and openNeo4jGraph.ipynb -
Follow the instructions in
Neo4jGraph.ipynbto get Neo4j set up and create your graphNote: These two variables are set:
INDEX_NAME = "essay_chunk_agentspace" CHUNK_NAME = "chunk_index"What they are set to must be passed into the agent. It is how the agent determines what documents to look at.
agent = personAgent("essay_chunk_agentspace", "chunk_index")
-
Navigate to the
Agentfolder and openTestAgent.ipynb -
Run
testAgentto ask the agent questionsNote: Agent must be made using the
INDEX_NAMEandCHUNK_NAMEset inNeo4jGraph.ipynb
├── Orchestrator/ # AgentSpace Agent
│ ├── Agent.py # Defines the Agent, uses Knowledge and Personality Retrievers
│ └── TestAgent.ipynb # Test an Agent
├── KnowledgeRetriever/ # Graph/retrievers for knowledge
│ ├── Retriever.py # Holds the graph retriever
│ ├── Neo4jAdapter.py # Wraps Retriever.py for use with Neo4j
│ └── Neo4jGraph.ipynb # Jupyter notebook to set up Neo4j graph
├── PersonalityRetriever/ # Database/retrievers for personality
│ ├── faiss_db # faiss vector store
| ├── create_profile.py # Uses LLM API call to generate personality.json
| ├── grant_tutor_rag # Current personality pipeline. Creates faiss db
| ├── personality_summary.json # JSON profile. Serves as a general lookup of personality traits and characteristics.
| └── personality_wrapper.py # Wraps retrieval and loading of personality JSON
└── README.md # Project documentation