Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add mistral as a new guardrail provider #756

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

b4s36t4
Copy link
Contributor

@b4s36t4 b4s36t4 commented Nov 20, 2024

Title:

  • Mistral Moderations support for guardrail plugins.

Related Issues: (optional)

@b4s36t4
Copy link
Contributor Author

b4s36t4 commented Nov 20, 2024

Example curl Request:

curl --request POST \
  --url http://localhost:8787/v1/chat/completions \
  --header 'authorization: <api_key>' \
  --header 'content-type: application/json' \
  --header 'x-portkey-config: {"before_request_hooks": [ {"type":"guardrail", "name": "test", "checks": [ {"id": "mistral.pii", "parameters": { "credentials": {"apiKey":"<mistral_api_key>" }}} ]} ]}' \
  --header 'x-portkey-provider: groq' \
  --data '{
  "messages": [
    {
      "role": "user",
      "content": "Say Hi. My name is Jhon Doe and my email is user@example.com"
    }
  ]
}'

Supported guardrails are

'sexual', 'hate_and_discrimination', 'violence_and_threats', 'dangerous_and_criminal_content', 'selfharm', 'health', 'financial', 'law', 'pii',

narengogi
narengogi previously approved these changes Nov 22, 2024
plugins/mistral/manifest.json Show resolved Hide resolved
@VisargD
Copy link
Collaborator

VisargD commented Nov 27, 2024

Hey @b4s36t4 - Can you please add tests as well like other plugins

narengogi
narengogi previously approved these changes Dec 12, 2024
@b4s36t4 b4s36t4 force-pushed the feat/mistral-guardrail branch from d3d96da to 08cd951 Compare December 20, 2024 12:10
@@ -261,7 +261,8 @@ export class HooksManager {
context,
check.parameters,
eventType,
options
options,
fn
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can remove this arg because it is no longer required with the new approach.

@@ -80,4 +94,11 @@ export const plugins = {
toxicity: patronustoxicity,
custom: patronuscustom,
},
mistral: mistralGuardCategories.reduce(
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can convert this to a single plugin like portkey.moderateContent and accept all the required categories in it

@VisargD
Copy link
Collaborator

VisargD commented Dec 24, 2024

Added 2 comments. Everything else LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Feature] Add Mistral Moderations API as a guardrail Provider
3 participants