*/ class EmbeddingEntryFactory extends Factory { /** * Define the model's default state. * * @return array */ public function definition(): array { $sourceText = fake()->sentence(); $dimensions = (int) config('ai.providers.ollama.models.embeddings.dimensions', 768); $embedding = EmbeddingVector::normalize( array_map(fn () => fake()->randomFloat(6, -1, 1), range(1, $dimensions)) ); return [ 'source_text' => $sourceText, 'content_hash' => hash('sha256', Str::of($sourceText)->squish()->lower()->value()), 'embedding' => $embedding, 'embedding_dimensions' => $dimensions, 'provider' => 'ollama', 'model' => 'nomic-embed-text', 'tokens' => fake()->numberBetween(1, 100), ]; } }