Catalog PyPI
Back to packageRELEASE DETAILS

0.1.2

PyPI

agentic-student-assistant

A sophisticated student assistant using agentic AI.

Published15 Jan 2026
Direct dependencies35
Transitive dependenciesNot calculated

README

Version 0.1.2 documentation

Agentic Student Assistant

Python Version License

🌟 Overview

Agentic Student Assistant is an intelligent academic companion built with LangGraph, OpenAI, and modern AI infrastructure. It empowers students and researchers with specialized AI agents for career intelligence, academic research, and curated reading recommendations.

Our toolkit consists of the following intelligent agents:

  • Talk2Jobs: Real-time global job market intelligence with regional optimization for Germany, USA, Mexico, India, Japan, and more.
  • Talk2Papers: Multi-tier academic search across ArXiv, Semantic Scholar, CORE, and OpenReview with deep-dive Q&A capabilities.
  • Talk2Books: Curated reading recommendations from Open Library and Google Books with academic focus.

🏗️ Architecture

The system leverages a sophisticated multi-agent orchestration pattern using LangGraph, featuring semantic caching with Redis and comprehensive monitoring via Google Cloud Logging.

Architecture Diagram


🛠️ Tech Stack

  • Orchestration: LangGraph (ReAct)
  • Intelligence: OpenAI GPT-4
  • Infrastructure: Redis (Semantic Cache), Google Cloud Logging
  • Interface: Streamlit (Dashboard)
  • Language: Python 3.10+

🌟 Key Features

1. Advanced Academic Research (Talk2Papers) 📑

A high-fidelity research tool that queries the world's leading academic databases in parallel:

  • Multi-Tier Search: ArXiv + Semantic Scholar + CORE + OpenReview.net
  • Deep-Dive Q&A: Ask follow-up questions about specific papers' methodology or findings
  • Robust Fallback: Automatically switches sources if an API is rate-limited or forbidden
  • Semantic Similarity: Local embedding-based semantic caching for instant similar query responses

2. Reading Recommendations (Talk2Books) 📚

Curated reading lists using Open Library and Google Books:

  • Academic Focus: Filters for reputable publishers and academic sources
  • Detailed Summaries: Provides insights into core contributions and target audience

3. Global Job Market Intelligence (Talk2Jobs) 💼

Precision search across international regions:

  • Regional Intelligence: Specific optimizations for Mexico, Germany, Japan, India, USA, and more
  • Language Aware: Automatically adjusts search parameters (hl, gl, google_domain) for local results

4. Smart Caching System 🧠

Redis-based persistent caching with local semantic similarity:

  • Exact Match: Hash-based instant retrieval
  • Semantic Match: SentenceTransformer-powered similarity search (threshold: 0.88)
  • Zero API Cost: Completely local embedding generation
  • 80-90% Latency Reduction: Through intelligent response caching

Clone and enter the repository

git clone https://github.com/yourusername/Agentic_Student_Assistant
cd Agentic_Student_Assistant

Install dependencies

Installation with uv

  1. Install uv if you haven't already.
  2. Sync dependencies:
uv sync

Set up .env with your API keys (OpenAI, SerpAPI, etc.)

Create a .env file in the root directory:

OPENAI_API_KEY=your_openai_key
SERPAPI_API_KEY=your_serpapi_key
# Optional (for enhanced features)
CORE_API_KEY=your_core_key
SEMANTIC_SCHOLAR_API_KEY=your_ss_key
REDIS_HOST=your_redis_host
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=your_redis_password
GROQ_API_KEY=your_groq_key  # For free LLM alternative```

Launch the dashboard

streamlit run app/frontend/streamlit_app.py


📖 Usage

Example Queries

Job Search:

"Find data science jobs in Berlin"
"Show me machine learning positions in Tokyo"

Paper Research:

"Papers about transformer architecture"
"Explain the BioBridge paper"

Book Recommendations:

"Books on deep learning for beginners"
"Academic texts on quantum computing"

📊 Performance Metrics

  • Routing Accuracy: ~98%
  • Cache Hit Rate: 80-90% (with Redis + Semantic Matching)
  • Average Latency: <2s (cached), 5-8s (fresh query)
  • Supported Databases: 7 (ArXiv, Semantic Scholar, CORE, OpenReview, Open Library, Google Books, Google Jobs)

Built with ❤️ for students and researchers worldwide 🌍🎓

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 35

Native requirements
35 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
chromadb
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
chromadb>=0.4.24runtime
faiss-cpu
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
faiss-cpu>=1.7.4runtime
google-search-results
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
google-search-results==2.4.2runtime
groq
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
groq>=0.4.0runtime
gspread
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
gspreadruntime
hydra-core
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
hydra-core>=1.3.0runtime
ipython
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
ipython>=8.0.0runtime
langchain-community
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain-community==0.0.38runtime
langchain-core
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain-core==0.1.53runtime
langchain
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
langchain==0.1.20runtime
matplotlib
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
matplotlibruntime
networkx
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
networkxruntime
oauth2client
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
oauth2clientruntime
omegaconf
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
omegaconf>=2.3.0runtime
openai
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
openai==0.28.1runtime
pandas
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pandasruntime
pdfplumber
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pdfplumber>=0.10.2runtime
pydantic
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pydantic<2runtime
pylint
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pylintruntime
pymupdf
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
pymupdf>=1.23.2runtime
python-dotenv
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
python-dotenv>=1.0.0runtime
qdrant-client
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
qdrant-client>=1.6.0runtime
redis
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
redisruntime
requests
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
requests>=2.31.0runtime
rich
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
rich>=13.7.0runtime
seaborn
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
seabornruntime
sentence-transformers
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
sentence-transformers>=2.2.0runtime
setuptools
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
setuptoolsruntime
streamlit
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
streamlit>=1.35.0runtime
tabulate
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
tabulateruntime
tiktoken
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
tiktoken>=0.6.0runtime
torch
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
torchruntime
twine
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
twineruntime
wheel
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
wheelruntime
zstandard
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
zstandardruntime

Distribution files

2 collected
agentic_student_assistant-0.1.2-py3-none-any.whl

bdist_wheel · 52.12 KB · Python py3

Source file
agentic_student_assistant-0.1.2.tar.gz

sdist · 5,051.78 KB · Python source

Source file

Repository

PENDING
hsrak/agentic_student_assistant

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:22 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:af9e8a32ce44daa04df9891db34e72e7651a7dd5a5df621fdf00b3136faab6e7

Other collected versions

View all collected versions →