Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 46 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,14 +147,49 @@ You can follow these steps to generate a PageIndex tree from a PDF document.
pip3 install --upgrade -r requirements.txt
```

### 2. Set your OpenAI API key
### 2. Set your API key

Create a `.env` file in the root directory and add your API key:
PageIndex now supports multiple LLM providers via [LiteLLM](https://docs.litellm.ai/). Create a `.env` file in the root directory and add your API key:

**OpenAI (default):**
```bash
OPENAI_API_KEY=your_openai_key_here
# or
CHATGPT_API_KEY=your_openai_key_here
```

**Anthropic Claude:**
```bash
ANTHROPIC_API_KEY=your_anthropic_key_here
```

**Google Gemini:**
```bash
GEMINI_API_KEY=your_google_key_here
```

**Azure OpenAI:**
```bash
AZURE_API_KEY=your_azure_key_here
AZURE_API_BASE=your_azure_endpoint
AZURE_API_VERSION=2024-02-01
```

**AWS Bedrock:**
```bash
AWS_ACCESS_KEY_ID=your_access_key
AWS_SECRET_ACCESS_KEY=your_secret_key
AWS_REGION_NAME=us-east-1
```

**Groq:**
```bash
GROQ_API_KEY=your_groq_key_here
```

**Ollama (local):**
No API key needed. Just ensure Ollama is running locally.

### 3. Run PageIndex on your PDF

```bash
Expand All @@ -167,7 +202,15 @@ python3 run_pageindex.py --pdf_path /path/to/your/document.pdf
You can customize the processing with additional optional arguments:

```
--model OpenAI model to use (default: gpt-4o-2024-11-20)
--model LLM model to use (default: gpt-4o-2024-11-20)
Examples:
- OpenAI: gpt-4o, gpt-4-turbo
- Claude: claude-3-opus-20240229, claude-3-sonnet-20240229
- Gemini: gemini/gemini-pro, gemini/gemini-1.5-pro
- Azure: azure/your-deployment-name
- Bedrock: bedrock/anthropic.claude-3-opus-20240229-v1:0
- Groq: groq/llama-3.1-70b-versatile
- Ollama: ollama/llama3
--toc-check-pages Pages to check for table of contents (default: 20)
--max-pages-per-node Max pages per node (default: 10)
--max-tokens-per-node Max tokens per node (default: 20000)
Expand Down
35 changes: 35 additions & 0 deletions pageindex/config.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,38 @@
# PageIndex Configuration
#
# Model Configuration:
# PageIndex now supports multiple LLM providers via LiteLLM.
# Set the model string according to your preferred provider:
#
# OpenAI (default):
# model: "gpt-4o-2024-11-20" or "gpt-4o" or "gpt-4-turbo"
# Env var: OPENAI_API_KEY or CHATGPT_API_KEY
#
# Anthropic Claude:
# model: "claude-3-opus-20240229" or "claude-3-sonnet-20240229"
# Env var: ANTHROPIC_API_KEY
#
# Google Gemini:
# model: "gemini/gemini-pro" or "gemini/gemini-1.5-pro"
# Env var: GEMINI_API_KEY
#
# Azure OpenAI:
# model: "azure/your-deployment-name"
# Env vars: AZURE_API_KEY, AZURE_API_BASE, AZURE_API_VERSION
#
# AWS Bedrock:
# model: "bedrock/anthropic.claude-3-opus-20240229-v1:0"
# Env vars: AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION_NAME
#
# Groq:
# model: "groq/llama-3.1-70b-versatile"
# Env var: GROQ_API_KEY
#
# Ollama (local):
# model: "ollama/llama3"
#
# For more providers, see: https://docs.litellm.ai/docs/providers

model: "gpt-4o-2024-11-20"
# model: "anthropic/claude-sonnet-4-6"
toc_check_page_num: 20
Expand Down