
Research
Security News
Lazarus Strikes npm Again with New Wave of Malicious Packages
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Makes working with LLMs like OpenAI GPT, Anthropic Claude, Google Gemini and Open source models super easy
Package to make working with Large Language models in Python super easy. Supports OpenAI, Anthropic Claude, Google Gemini, X Grok, DeepSeek and open source .guff models.
Author: Hans-Peter Harmsen (hp@harmsen.nl)
Current version: 4.0.1
Version 4.x is not compatible with the 3.x series.
python -m pip install justai
OPENAI_API_KEY=your-openai-api-key
OPENAI_ORGANIZATION=your-openai-organization-id
ANTHROPIC_API_KEY=your-anthropic-api-key
GOOGLE_API_KEY=your-google-api-key
X_API_KEY=your-x-ai-api-key
DEEPSKEEK_API_KEY=your-deepseek-api-key
from justai import Model
if __name__ == "__main__":
model = Model('gpt-4o-mini')
model.system = "You are a movie critic. I feed you with movie titles and you give me a review in 50 words."
message = model.chat("Forrest Gump")
print(message)
output
Forrest Gump is an American classic that tells the story of
a man with a kind heart and simple mind who experiences major
events in history. Tom Hanks gives an unforgettable performance,
making us both laugh and cry. A heartwarming and nostalgic
movie that still resonates with audiences today.
Justai can use different types of models:
OpenAI models like GPT-4 and O3
Anthropic models like the Claude-3 models
Google models like the Gemini models
X AI models like the Grok models
DeekSeek models like Deepseek V-3 (deepseek-chat) and reasoning model Deepseek-R1 (deepseek-reasoning)
Open source models like Llama2-7b or Mixtral-8x7b-instruct as long as they are in the GGUF format.
The provider is chosen depending on the model name. E.g. if a model name starts with gpt, OpenAI is chosen as the provider. To use an open source model, just pass the full path to the .gguf file as the model name.
Install dependencies:
python -m pip install -r requirements.txt
python examples/basic.py
Shows basic use of Justai
python examples/return_types.py
You can specify a specific return type (like a list of dicts) for the completion. This is useful when you want to extract structured data from the completion.
To return json, just pass return_json=True to model.chat() and tell the model in the prompt how you want your json to be structured.
To define a specific return type you can use the return_type parameter.
Currently this works with the Google models (pass a Python type definition, returns Json)
and with OpenAI (pass a Pydatic type definition, returns a Pydantic model).
See the example code for more details.
python examples/vision.py
Pass images to the model. An image can either be:
python examples/async.py
Shows how to use Justai asynchronously.
python examples/prompt_caching.py
Shows how to use Prompt caching in Anthropic models.
FAQs
Makes working with LLMs like OpenAI GPT, Anthropic Claude, Google Gemini and Open source models super easy
We found that justai demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
The Socket Research Team has discovered six new malicious npm packages linked to North Korea’s Lazarus Group, designed to steal credentials and deploy backdoors.
Security News
Socket CEO Feross Aboukhadijeh discusses the open web, open source security, and how Socket tackles software supply chain attacks on The Pair Program podcast.
Security News
Opengrep continues building momentum with the alpha release of its Playground tool, demonstrating the project's rapid evolution just two months after its initial launch.