modelflow-ai/mistral-adapter

将 mistral 集成到 modelflow-ai 中。

0.2.0 2024-08-25 18:33 UTC

This package is auto-updated.

Last update: 2024-08-25 18:52:46 UTC


README


Mistral Adapter Logo

Modelflow AI
Mistral Adapter


该适配器将 Mistral AI 模型集成到 Modelflow AI 中。

注意:这是 modelflow-ai 项目的部分,请在该项目的主仓库中创建问题。

注意:该项目正在积极开发中,任何反馈都十分欢迎。


安装

要安装 Mistral Adapter 包,您需要在您的计算机上安装 PHP 8.2 或更高版本和 Composer。然后,您可以通过运行以下命令将包添加到您的项目中:

composer require modelflow-ai/mistral-adapter

示例

以下是您如何在 PHP 应用程序中使用 Mistral Adapter 的示例。您可以在示例目录中找到更多详细示例。

用法

首先,初始化客户端

use ModelflowAi\Mistral\Mistral;

$client = Mistral::client('your-api-key');

然后,您可以使用 MistralChatModelAdapter

use ModelflowAi\Chat\Adapter\AIChatAdapterInterface;
use ModelflowAi\Chat\AIChatRequestHandler;
use ModelflowAi\Chat\Request\AIChatRequest;
use ModelflowAi\Chat\Request\Message\AIChatMessage;
use ModelflowAi\Chat\Request\Message\AIChatMessageRoleEnum;
use ModelflowAi\DecisionTree\DecisionTree;
use ModelflowAi\DecisionTree\Criteria\CapabilityCriteria;
use ModelflowAi\DecisionTree\DecisionRule;
use ModelflowAi\Mistral\Model;
use ModelflowAi\MistralAdapter\Chat\MistralChatAdapter;
use ModelflowAi\PromptTemplate\ChatPromptTemplate;

$modelAdapter = new MistralChatAdapter($client, Model::LARGE);

/** @var DecisionTreeInterface<AIChatRequest, AIChatAdapterInterface> $decisionTree */
$decisionTree = new DecisionTree([
    new DecisionRule($modelAdapter, [CapabilityCriteria::SMART]),
]);
$handler = new AIChatRequestHandler($decisionTree);

$response = $handler->createRequest(
    ...ChatPromptTemplate::create(
        new AIChatMessage(AIChatMessageRoleEnum::SYSTEM, 'You are an {feeling} bot'),
        new AIChatMessage(AIChatMessageRoleEnum::USER, 'Hello {where}!'),
    )->format(['where' => 'world', 'feeling' => 'angry']),
)
    ->addCriteria(CapabilityCriteria::SMART)
    ->build()
    ->execute();

echo \sprintf('%s: %s', $response->getMessage()->role->value, $response->getMessage()->content);

以及 EmbeddingsAdapter

use ModelflowAi\MistralAdapter\Embeddings\MistralEmbeddingAdapter;

$embeddingsAdapter = new MistralEmbeddingAdapter($client);
$vector = $embeddingsAdapter->embedText('your-input');

贡献

欢迎贡献。请在https://github.com/modelflow-ai/.github的主仓库中打开一个问题或提交一个 pull request。

许可

本项目采用 MIT 许可证。有关完整的版权和许可信息,请参阅与源代码一起分发的 LICENSE 文件。