modelflow-ai / mistral-adapter
将 mistral 集成到 modelflow-ai 中。
0.2.0
2024-08-25 18:33 UTC
Requires
- php: ^8.2
- modelflow-ai/mistral: ^0.2
Requires (Dev)
- asapo/remove-vendor-plugin: ^0.1
- jangregor/phpstan-prophecy: ^1.0
- modelflow-ai/chat: ^0.2
- modelflow-ai/embeddings: ^0.2
- modelflow-ai/prompt-template: 0.2.x-dev
- php-cs-fixer/shim: ^3.15
- phpspec/prophecy-phpunit: ^2.1@stable
- phpstan/extension-installer: ^1.2
- phpstan/phpstan: ^1.10, <1.10.55
- phpstan/phpstan-phpunit: ^1.3@stable
- phpunit/phpunit: ^10.3
- rector/rector: ^0.18.1
- symfony/dotenv: 7.1.x-dev
Suggests
- modelflow-ai/embeddings: To use the embeddings.
This package is auto-updated.
Last update: 2024-08-25 18:52:46 UTC
README
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 文件。