import requests
def rerank_results(query, documents, top_n=5):
response = requests.post(
"https://api.morphllm.com/v1/rerank",
headers={
"Authorization": f"Bearer your-morph-api-key",
"Content-Type": "application/json"
},
json={
"model": "morph-rerank-v1",
"query": query,
"documents": documents,
"top_n": top_n
}
)
return response.json()
# Example usage with code documentation
query = "How to implement JWT authentication in Express"
documents = [
"""const jwt = require('jsonwebtoken');
const express = require('express');
function authenticateToken(req, res, next) {
const authHeader = req.headers['authorization'];
const token = authHeader && authHeader.split(' ')[1];
if (token == null) return res.sendStatus(401);
jwt.verify(token, process.env.ACCESS_TOKEN_SECRET, (err, user) => {
if (err) return res.sendStatus(403);
req.user = user;
next();
});
}""",
"""const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(port, () => {
console.log(`App listening at http://localhost:${port}`);
});""",
"""const jwt = require('jsonwebtoken');
const user = { id: 123, username: 'john_doe' };
const accessToken = jwt.sign(user, process.env.ACCESS_TOKEN_SECRET, { expiresIn: '15m' });
const refreshToken = jwt.sign(user, process.env.REFRESH_TOKEN_SECRET);
console.log('Access Token:', accessToken);""",
"""const express = require('express');
const router = express.Router();
router.get('/users', (req, res) => {
res.json([{ id: 1, name: 'John' }, { id: 2, name: 'Jane' }]);
});
router.post('/users', (req, res) => {
const { name } = req.body;
res.json({ id: 3, name });
});
module.exports = router;""",
"""const passport = require('passport');
const GoogleStrategy = require('passport-google-oauth20').Strategy;
passport.use(new GoogleStrategy({
clientID: process.env.GOOGLE_CLIENT_ID,
clientSecret: process.env.GOOGLE_CLIENT_SECRET,
callbackURL: "/auth/google/callback"
}, (accessToken, refreshToken, profile, done) => {
return done(null, profile);
}));""",
"""const express = require('express');
const passport = require('passport');
const JwtStrategy = require('passport-jwt').Strategy;
const ExtractJwt = require('passport-jwt').ExtractJwt;
passport.use(new JwtStrategy({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: process.env.JWT_SECRET
}, (payload, done) => {
User.findById(payload.sub, (err, user) => {
if (err) return done(err, false);
if (user) return done(null, user);
return done(null, false);
});
}));"""
]
results = rerank_results(query, documents, top_n=3)
print(results)