A powerful Python tool for performing technical searches using the Perplexity API
Project description
🔍 Perplexity Search
A powerful Python tool for performing technical searches using the Perplexity API, optimized for retrieving precise facts, code examples, and numerical data.
📋 Table of Contents
Overview • Features • Installation • Usage • Configuration • Requirements • Error Handling • Contributing • FAQ • License
🌟 Overview
Perplexity Search is a command-line tool and Python library that leverages the power of Perplexity AI to provide accurate, technical search results. It's designed for developers, researchers, and technical users who need quick access to precise information, code examples, and technical documentation.
✨ Features
- Perform searches using different LLaMA models (small, large, huge)
- Configurable API key support via environment variable or direct input
- Customizable search queries with temperature and other parameters
- Command-line interface for easy usage
- Focused on retrieving technical information with code examples
- Returns responses formatted in markdown
- Optimized for factual and numerical data
Installation
git clone https://github.com/tom-doerr/perplexity_search.git
cd perplexity_search
pip install requests
Usage
As a Python Module
from perplexity_search import perform_search
# Using environment variable for API key
result = perform_search("What is Python's time complexity for list operations?")
# Or passing API key directly
result = perform_search("What are the differences between Python 3.11 and 3.12?", api_key="your-api-key")
# Specify a different model
result = perform_search("Show me example code for Python async/await", model="llama-3.1-sonar-huge-128k-online")
Command Line Interface
# Basic search
python perplexity_search.py "What is Python's time complexity for list operations?"
# Specify model
python perplexity_search.py --model huge "What are the differences between Python 3.11 and 3.12?"
# Use specific API key
python perplexity_search.py --api-key your-api-key "Show me example code for Python async/await"
Configuration
API Key
Set your Perplexity API key in one of these ways:
- Environment variable:
export PERPLEXITY_API_KEY=your-api-key # Or add to your ~/.bashrc or ~/.zshrc for persistence echo 'export PERPLEXITY_API_KEY=your-api-key' >> ~/.bashrc
- Pass directly in code or CLI:
--api-key your-api-key
Available Models
The following models can be specified using the --model parameter:
llama-3.1-sonar-small-128k-online(Faster, lighter model)llama-3.1-sonar-large-128k-online(Default, balanced model)llama-3.1-sonar-huge-128k-online(Most capable model)
Requirements
- Python 3.x
- requests library
- Perplexity API key (obtain from Perplexity API)
Error Handling
The tool includes error handling for:
- Missing API keys
- Invalid API responses
- Network issues
- Invalid model selections
Contributing
We welcome contributions! Please see our CONTRIBUTING.md for more details on how to contribute to this project.
FAQ
Q: How do I get an API key for Perplexity?
A: You can obtain an API key by signing up on the Perplexity API website.
Q: What models are available for search?
A: The available models are small, large, and huge.
License
MIT License - see the LICENSE file for details
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file plexsearch-0.1.1.tar.gz.
File metadata
- Download URL: plexsearch-0.1.1.tar.gz
- Upload date:
- Size: 4.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/5.15.0-126-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b879d135128629b78c3db4c2cc0a2a665cd58c6cb39f669ea815d81ea39d134a
|
|
| MD5 |
2791774df9bc35ac985dbd26cf6aa819
|
|
| BLAKE2b-256 |
11d4c44195a29bf76ce316648fc37fe3ebc342a8e2dac90f1c52288e0efd6c78
|
File details
Details for the file plexsearch-0.1.1-py3-none-any.whl.
File metadata
- Download URL: plexsearch-0.1.1-py3-none-any.whl
- Upload date:
- Size: 5.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.10 Linux/5.15.0-126-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
240b6307fb341595d24259bf145812ab96fa0e210e18784c7705d4fe87405bec
|
|
| MD5 |
511b0bacbfada4c66d6ab99bff525553
|
|
| BLAKE2b-256 |
17f728ba3ee9d4ff1db9db488a5c73f36613e1ef5a3df291143ae3ff4d5bc6fb
|