Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Prompt Engineering | Prompt Versioning | Use GPT or other prompt based models to get structured output. Join our discord for Prompt-Engineering, LLMs and other latest research
| Date | Stars |
|---|---|
| 2026-07-24 | 4625 |
| 2026-07-25 | 4625 |
| 2026-07-28 | 4625 |
| 2026-07-30 | 4625 |
| 2026-07-31 | 4627 |
| 2026-08-06 | 4627 |
Today
— stars today
This week
+2 stars this week
This month
— stars this month
Momentum
0.0
growth rate 0.04%/day
<div align="center">
<img width="110px" src="https://raw.githubusercontent.com/promptslab/Promptify/main/assets/logo.png">
<h1>Promptify</h1></div>
<!--
<h2 align="center">Promptify</h2> -->
<p align="center">
<p align="center">Task-based NLP engine with Pydantic structured outputs, built-in evaluation, and LiteLLM as the universal LLM backend. Think "scikit-learn for LLM-powered NLP".
</p>
</p>
<h4 align="center">
<a href="https://github.com/promptslab/Promptify/blob/main/LICENSE">
<img src="https://img.shields.io/badge/License-Apache_2.0-blue.svg" alt="Promptify is released under the Apache 2.0 license." />
</a>
<a href="https://pypi.org/project/promptify/">
<img src="https://badge.fury.io/py/Promptify.svg" alt="PyPI version" />
</a>
<a href="http://makeapullrequest.com">
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square" alt="http://makeapullrequest.com" />
</a>
<a href="https://discord.gg/m88xfYMbK6">
<img src="https://img.shields.io/badge/Discord-Community-orange" alt="Community" />
</a>
<a href="#">
<img src="https://colab.research.google.com/assets/colab-badge.svg" alt="colab" />
</a>
</h4>
<img width="910px" src="https://raw.githubusercontent.com/promptslab/Promptify/main/assets/dark.png">
## Installation
### With pip
Requires Python 3.9+.
```bash
pip install promptify
```
or
```bash
pip install git+https://github.com/promptslab/Promptify.git
```
For evaluation metrics support:
```bash
pip install promptify[eval]
```
## Quick Tour
### 3-Line NER
```python
from promptify import NER
ner = NER(model="gpt-4o-mini", domain="medical")
result = ner("The patient is a 93-year-old female with a medical history of chronic right hip pain, osteoporosis, hypertension, depression, and chronic atrial fibrillation admitted for evaluation and management of severe nausea and vomiting and urinary tract infection")
```
**Output:**
```python
NERResult(entities=[
Entity(text="93-year-old", label="AGE"),
Entity(text="chronic right hip pain", label="CONDITION"),
Entity(text="osteoporosis", label="CONDITION"),
Entity(text="hypertension", label="CONDITION"),
Entity(text="depression", label="CONDITION"),
Entity(text="chronic atrial fibrillation", label="CONDITION"),
Entity(text="severe nausea and vomiting", label="SYMPTOM"),
Entity(text="urinary tract infection", label="CONDITION"),
])
```
### Classification
```python
from promptify import Classify
clf = Classify(model="gpt-4o-mini", labels=["positive", "negative", "neutral"])
result = clf("Amazing product! Best purchase I've ever made.")
# Classification(label="positive", confidence=0.95)
```
### Question Answering
```python
from promptify import QA
qa = QA(model="gpt-4o-mini")
answer = qa("Einstein was born in Ulm in 1879.", question="Where was Einstein born?")
# Answer(answer="Ulm", evidence="Einstein was born in Ulm", confidence=0.98)
```
### Custom Task with Any Pydantic Schema
```python
from promptify import Task
from pydantic import BaseModel
class MovieReview(BaseModel):
sentiment: str
rating: float
key_themes: list[str]
task = Task(model="gpt-4o", output_schema=MovieReview, instruction="Analyze this movie review.")
review = task("Nolan's best work. Stunning visuals but the plot drags.")
# MovieReview(sentiment="mostly positive", rating=7.5, key_themes=["visuals", "pacing"])
```
### Any Provider - Just Change the Model String
```python
ner_openai = NER(model="gpt-4o-mini")
ner_claude = NER(model="claude-sonnet-4-20250514")
ner_local = NER(model="ollama/llama3")
```
### Batch Processing
```python
results = ner.batch(["text1", "text2", "text3"], max_concurrent=10)
```
### Async Support
```python
result = await ner.acall("Patient has diabetes")
```
### Built-in Evaluation
```python
from promptify.eval import evaluate
scores = evaluate(task=ner, dataset=labeled_data, metrics=["precision", "recall", "f1"])
# {"precision": 0.92, "recall": Excerpt of 6,761 characters
Read on GitHubAaditya Ura · Harvard University
529
Kamal Raj Kanakarajan · @saamaresearch · India
11
11
10
Lucain · @huggingface
8
samsudeen
5
Sean · @mixedbread-ai
4
Pavan Somisetty · Assurtiv Technologies Pvt Ltd
3
1
1
Jayashakthi Vishnu · Thoughtworks · India
1
1
@actions
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:422b8c655982a1c2, topic:prompt-engineering, topic:prompts, desc:prompt engineering