Skip to content

Use Hermes-2-Pro-Mistral-7B function calling with your OpenAI API compatible code.

License

Notifications You must be signed in to change notification settings

adrienbrault/hermes2pro-proxy

Repository files navigation

NousResearch/Hermes-2-Pro-Mistral-7B is an open source LLM with great function calling capabilities.

This PSR-18 plugin converts OpenAI API requests/responses that use function calling to and from the Hermes2Pro prompt format.

It lets you use Hermes2Pro function calling with the same OpenAI api client code that you currently use.

An http proxy docker image is available for non PHP projects.

PHP Library

Install ollama (docker) and pull the model:

$ ollama pull adrienbrault/nous-hermes2pro:Q4_K_M

Install this package:

$ composer require adrienbrault/hermes2pro:@dev

Then update your code to use the plugin:

use AdrienBrault\Hermes2Pro\Hermes2ProPlugin;
use Http\Client\Common\PluginClient;
use Http\Discovery\Psr18ClientDiscovery;

require_once __DIR__ . '/vendor/autoload.php';

$client = OpenAI::factory()
    ->withApiKey(getenv('OPENAI_API_KEY'))
    ->withBaseUri(sprintf(
        '%s/v1',
        getenv('OLLAMA_HOST') ?: 'http://localhost:11434'
    ))
    ->withHttpClient(
        new PluginClient(
            Psr18ClientDiscovery::find(),
            [
                new Hermes2ProPlugin()
            ]
        )
    )
    ->make()
;

Then use adrienbrault/nous-hermes2pro:Q4_K_M as the model in your chat requests. There are more tags/quantizations available.

The model and this plugin supports parallel function calling. Note that streaming is not currently supported.

Note that the plugin is only active if the request/response model starts with adrienbrault/nous-hermes2pro.

See demo/.

Docker Proxy

A docker http proxy is available to convert requests/responses to/from the Hermes2Pro format:

$ docker run -it --rm \
    -e OPENAI_BASE_URI=http://docker.for.mac.host.internal:11434 \
    -p 11440:80 \
    adrienbrault/hermes2pro-proxy

$ MODEL="adrienbrault/nous-hermes2pro:Q4_K_M" \
    OPENAI_BASE_URI="http://localhost:11440/v1" \
    php demo/openai.php

About

Use Hermes-2-Pro-Mistral-7B function calling with your OpenAI API compatible code.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published