Skip to content
Yasas-SriPublic

About

A multi-agent system that maps connections between research papers using a LangGraph workflow, ArXiv + OpenAlex APIs and semantic embeddings.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

20 Commits

Folders and files

Repository files navigation

OpenWeave -Research Paper Interconnection Agent

A multi-agent system that maps connections between research papers using a LangGraph workflow, ArXiv + OpenAlex APIs (both free), and semantic embeddings.

Architecture

User Input (ArXiv ID / DOI / PDF / search query)
    ↓
Ingestion Agent  →  fetches metadata from ArXiv + OpenAlex + CrossRef
    ↓                  enriches with citation counts, concepts, references
    ├──→ Weaver Agent  →  builds paper↔paper edges:
    │                       - citation edges (A cites B)
    │                       - similarity edges (vector cosine ≥ 0.75)
    │                       - shared-author edges
    │
    └──→ Alert Agent   →  scans ArXiv RSS for new papers daily
    
Both ↓
Visualizer Agent  →  clusters graph, generates LLM insight summary
    ↓
Streamlit UI      →  interactive PyVis graph + chat interface

Quick start

# 1. Create a Python virtual environment
python -m venv venv
source venv/bin/activate  # Linux / macOS
venv\Scripts\activate     # Windows

# 2. Edit .env if you want OpenAI or Anthropic instead of Ollama
# 3.Install dependencies:
pip install -r requirements.txt

# 3. Start the app
streamlit run ui/app.py

Adding papers

By ArXiv ID (sidebar → ArXiv tab):

2310.06825
1706.03762
2305.10601

By DOI (sidebar → DOI tab):

10.1145/3442188.3445922

By search query — ask in chat:

Find papers about transformer attention mechanisms

By PDF upload — requires GROBID:

docker run -t --rm -p 8070:8070 lfoppiano/grobid:0.8.0

Free APIs used (no key needed)

API What it provides Rate limit
ArXiv Paper metadata, abstracts, PDFs Generous, ~3 req/s
OpenAlex 200M+ papers, citation graphs, concepts 100k/day unauthenticated
CrossRef DOI resolution, reference lists Polite pool (add email)
ArXiv RSS New paper alerts by category Daily

LLM support

Set in .env or switch in the UI sidebar:

Provider Local? Notes
Ollama Yes Free, runs on your machine. ollama pull llama3
OpenAI No Needs API key.
Anthropic No Needs API key.

When deployed, users paste their own API key in the sidebar — it's never stored.

Graph edge types

Edge Meaning Color
CITES Paper A references Paper B Purple
SIMILAR_TO Semantic cosine similarity ≥ 0.75 Teal
SAME_AUTHOR Two papers share an author Amber

Node size = citation count (larger = more cited).

Project structure

research-agent/
  app/
    agents/
      ingestion_agent.py   ← fetches & stores papers
      weaver_agent.py      ← builds graph edges
      alert_agent.py       ← ArXiv RSS scanner
      visualizer_agent.py  ← graph insights via LLM
    tools/
      arxiv_tool.py
      openalex_tool.py     ← Semantic Scholar replacement
      crossref_tool.py
      grobid_tool.py       ← PDF parsing (optional)
      graph_tool.py
    graph.py               ← LangGraph workflow
    state.py               ← shared AgentState
  storage/
    graph_store.py         ← NetworkX paper↔paper graph
    vector_store.py        ← ChromaDB embeddings
    database.py            ← SQLite metadata + alerts
  core/
    agent.py               ← conversational LangGraph agent
    llm_router.py          ← OpenAI / Anthropic / Ollama switcher
  ingestion/
    embedder.py            ← sentence-transformers (local)
    pdf_parser.py          ← PyMuPDF fallback
  ui/
    app.py                 ← Streamlit app
    graph_viz.py           ← PyVis visualization
  config.py
  requirements.txt

About

A multi-agent system that maps connections between research papers using a LangGraph workflow, ArXiv + OpenAlex APIs and semantic embeddings.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages