diff --git a/examples/composer.json b/examples/composer.json index 43646835..b5c56c58 100644 --- a/examples/composer.json +++ b/examples/composer.json @@ -22,6 +22,7 @@ "symfony/event-dispatcher": "^6.4|^7.0", "symfony/filesystem": "^6.4|^7.0", "symfony/finder": "^6.4|^7.0", + "symfony/json-path": "7.3.*", "symfony/process": "^6.4|^7.0", "symfony/var-dumper": "^6.4|^7.0" }, diff --git a/src/platform/composer.json b/src/platform/composer.json index d8d3b622..b61a21d3 100644 --- a/src/platform/composer.json +++ b/src/platform/composer.json @@ -28,6 +28,7 @@ "psr/log": "^3.0", "symfony/clock": "^6.4 || ^7.1", "symfony/http-client": "^6.4 || ^7.1", + "symfony/json-path": "7.3.*", "symfony/property-access": "^6.4 || ^7.1", "symfony/property-info": "^6.4 || ^7.1", "symfony/serializer": "^6.4 || ^7.1", diff --git a/src/platform/src/Bridge/Albert/PlatformFactory.php b/src/platform/src/Bridge/Albert/PlatformFactory.php index 0146714e..a4c09dca 100644 --- a/src/platform/src/Bridge/Albert/PlatformFactory.php +++ b/src/platform/src/Bridge/Albert/PlatformFactory.php @@ -11,7 +11,6 @@ namespace Symfony\AI\Platform\Bridge\Albert; -use Symfony\AI\Platform\Bridge\OpenAI\Embeddings; use Symfony\AI\Platform\Bridge\OpenAI\GPT; use Symfony\AI\Platform\Contract; use Symfony\AI\Platform\Exception\InvalidArgumentException; @@ -40,7 +39,7 @@ public static function create( new GPTModelClient($httpClient, $apiKey, $baseUrl), new EmbeddingsModelClient($httpClient, $apiKey, $baseUrl), ], - [new GPT\ResultConverter(), new Embeddings\ResultConverter()], + [new GPT\ResultConverter(), Contract\ResultConverter::create()], Contract::create(), ); } diff --git a/src/platform/src/Bridge/Azure/OpenAI/PlatformFactory.php b/src/platform/src/Bridge/Azure/OpenAI/PlatformFactory.php index 8b3299ba..441ffb84 100644 --- a/src/platform/src/Bridge/Azure/OpenAI/PlatformFactory.php +++ b/src/platform/src/Bridge/Azure/OpenAI/PlatformFactory.php @@ -11,7 +11,6 @@ namespace Symfony\AI\Platform\Bridge\Azure\OpenAI; -use Symfony\AI\Platform\Bridge\OpenAI\Embeddings; use Symfony\AI\Platform\Bridge\OpenAI\GPT; use Symfony\AI\Platform\Bridge\OpenAI\Whisper; use Symfony\AI\Platform\Bridge\OpenAI\Whisper\AudioNormalizer; @@ -41,7 +40,7 @@ public static function create( return new Platform( [$GPTModelClient, $embeddingsModelClient, $whisperModelClient], - [new GPT\ResultConverter(), new Embeddings\ResultConverter(), new Whisper\ResultConverter()], + [new GPT\ResultConverter(), new Whisper\ResultConverter(), Contract\ResultConverter::create()], $contract ?? Contract::create(new AudioNormalizer()), ); } diff --git a/src/platform/src/Bridge/Gemini/Embeddings/ResultConverter.php b/src/platform/src/Bridge/Gemini/Embeddings/ResultConverter.php deleted file mode 100644 index af2ab4f0..00000000 --- a/src/platform/src/Bridge/Gemini/Embeddings/ResultConverter.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\AI\Platform\Bridge\Gemini\Embeddings; - -use Symfony\AI\Platform\Bridge\Gemini\Embeddings; -use Symfony\AI\Platform\Exception\RuntimeException; -use Symfony\AI\Platform\Model; -use Symfony\AI\Platform\Result\RawResultInterface; -use Symfony\AI\Platform\Result\VectorResult; -use Symfony\AI\Platform\ResultConverterInterface; -use Symfony\AI\Platform\Vector\Vector; - -/** - * @author Valtteri R - */ -final readonly class ResultConverter implements ResultConverterInterface -{ - public function supports(Model $model): bool - { - return $model instanceof Embeddings; - } - - public function convert(RawResultInterface $result, array $options = []): VectorResult - { - $data = $result->getData(); - - if (!isset($data['embeddings'])) { - throw new RuntimeException('Response does not contain data'); - } - - return new VectorResult( - ...array_map( - static fn (array $item): Vector => new Vector($item['values']), - $data['embeddings'], - ), - ); - } -} diff --git a/src/platform/src/Bridge/Gemini/PlatformFactory.php b/src/platform/src/Bridge/Gemini/PlatformFactory.php index b5b16f4d..27ed7c65 100644 --- a/src/platform/src/Bridge/Gemini/PlatformFactory.php +++ b/src/platform/src/Bridge/Gemini/PlatformFactory.php @@ -13,10 +13,10 @@ use Symfony\AI\Platform\Bridge\Gemini\Contract\GeminiContract; use Symfony\AI\Platform\Bridge\Gemini\Embeddings\ModelClient as EmbeddingsModelClient; -use Symfony\AI\Platform\Bridge\Gemini\Embeddings\ResultConverter as EmbeddingsResultConverter; use Symfony\AI\Platform\Bridge\Gemini\Gemini\ModelClient as GeminiModelClient; -use Symfony\AI\Platform\Bridge\Gemini\Gemini\ResultConverter as GeminiResultConverter; use Symfony\AI\Platform\Contract; +use Symfony\AI\Platform\Contract\JsonPathConverter\VectorResultExtractor; +use Symfony\AI\Platform\Contract\ResultConverter; use Symfony\AI\Platform\Platform; use Symfony\Component\HttpClient\EventSourceHttpClient; use Symfony\Contracts\HttpClient\HttpClientInterface; @@ -36,7 +36,9 @@ public static function create( return new Platform( [new EmbeddingsModelClient($httpClient, $apiKey), new GeminiModelClient($httpClient, $apiKey)], - [new EmbeddingsResultConverter(), new GeminiResultConverter()], + [new Gemini\ResultConverter(), ResultConverter::create([ + new VectorResultExtractor('$.embeddings[*].values'), + ])], $contract ?? GeminiContract::create(), ); } diff --git a/src/platform/src/Bridge/Mistral/Embeddings/ResultConverter.php b/src/platform/src/Bridge/Mistral/Embeddings/ResultConverter.php deleted file mode 100644 index 32710f67..00000000 --- a/src/platform/src/Bridge/Mistral/Embeddings/ResultConverter.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\AI\Platform\Bridge\Mistral\Embeddings; - -use Symfony\AI\Platform\Bridge\Mistral\Embeddings; -use Symfony\AI\Platform\Exception\RuntimeException; -use Symfony\AI\Platform\Model; -use Symfony\AI\Platform\Result\RawHttpResult; -use Symfony\AI\Platform\Result\RawResultInterface; -use Symfony\AI\Platform\Result\VectorResult; -use Symfony\AI\Platform\ResultConverterInterface; -use Symfony\AI\Platform\Vector\Vector; - -/** - * @author Christopher Hertel - */ -final readonly class ResultConverter implements ResultConverterInterface -{ - public function supports(Model $model): bool - { - return $model instanceof Embeddings; - } - - public function convert(RawResultInterface|RawHttpResult $result, array $options = []): VectorResult - { - $httpResponse = $result->getObject(); - - if (200 !== $httpResponse->getStatusCode()) { - throw new RuntimeException(\sprintf('Unexpected response code %d: %s', $httpResponse->getStatusCode(), $httpResponse->getContent(false))); - } - - $data = $result->getData(); - - if (!isset($data['data'])) { - throw new RuntimeException('Response does not contain data'); - } - - return new VectorResult( - ...array_map( - static fn (array $item): Vector => new Vector($item['embedding']), - $data['data'] - ), - ); - } -} diff --git a/src/platform/src/Bridge/Mistral/PlatformFactory.php b/src/platform/src/Bridge/Mistral/PlatformFactory.php index f17e4a6d..203fcf6b 100644 --- a/src/platform/src/Bridge/Mistral/PlatformFactory.php +++ b/src/platform/src/Bridge/Mistral/PlatformFactory.php @@ -32,7 +32,7 @@ public static function create( return new Platform( [new Embeddings\ModelClient($httpClient, $apiKey), new Llm\ModelClient($httpClient, $apiKey)], - [new Embeddings\ResultConverter(), new Llm\ResultConverter()], + [new Llm\ResultConverter(), Contract\ResultConverter::create()], $contract ?? Contract::create(new ToolNormalizer()), ); } diff --git a/src/platform/src/Bridge/OpenAI/Embeddings/ResultConverter.php b/src/platform/src/Bridge/OpenAI/Embeddings/ResultConverter.php deleted file mode 100644 index d446de79..00000000 --- a/src/platform/src/Bridge/OpenAI/Embeddings/ResultConverter.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\AI\Platform\Bridge\OpenAI\Embeddings; - -use Symfony\AI\Platform\Bridge\OpenAI\Embeddings; -use Symfony\AI\Platform\Exception\RuntimeException; -use Symfony\AI\Platform\Model; -use Symfony\AI\Platform\Result\RawResultInterface; -use Symfony\AI\Platform\Result\VectorResult; -use Symfony\AI\Platform\ResultConverterInterface; -use Symfony\AI\Platform\Vector\Vector; - -/** - * @author Christopher Hertel - */ -final class ResultConverter implements ResultConverterInterface -{ - public function supports(Model $model): bool - { - return $model instanceof Embeddings; - } - - public function convert(RawResultInterface $result, array $options = []): VectorResult - { - $data = $result->getData(); - - if (!isset($data['data'])) { - throw new RuntimeException('Response does not contain data'); - } - - return new VectorResult( - ...array_map( - static fn (array $item): Vector => new Vector($item['embedding']), - $data['data'] - ), - ); - } -} diff --git a/src/platform/src/Bridge/OpenAI/PlatformFactory.php b/src/platform/src/Bridge/OpenAI/PlatformFactory.php index 62c09d1b..0a3fb152 100644 --- a/src/platform/src/Bridge/OpenAI/PlatformFactory.php +++ b/src/platform/src/Bridge/OpenAI/PlatformFactory.php @@ -41,9 +41,9 @@ public static function create( ], [ new GPT\ResultConverter(), - new Embeddings\ResultConverter(), new DallE\ResultConverter(), new WhisperResponseConverter(), + Contract\ResultConverter::create(), ], $contract ?? Contract::create(new AudioNormalizer()), ); diff --git a/src/platform/src/Bridge/Voyage/PlatformFactory.php b/src/platform/src/Bridge/Voyage/PlatformFactory.php index cb82e43f..e9c28cdf 100644 --- a/src/platform/src/Bridge/Voyage/PlatformFactory.php +++ b/src/platform/src/Bridge/Voyage/PlatformFactory.php @@ -29,6 +29,6 @@ public static function create( ): Platform { $httpClient = $httpClient instanceof EventSourceHttpClient ? $httpClient : new EventSourceHttpClient($httpClient); - return new Platform([new ModelClient($httpClient, $apiKey)], [new ResultConverter()], $contract); + return new Platform([new ModelClient($httpClient, $apiKey)], [Contract\ResultConverter::create()], $contract); } } diff --git a/src/platform/src/Bridge/Voyage/ResultConverter.php b/src/platform/src/Bridge/Voyage/ResultConverter.php deleted file mode 100644 index 60a26d17..00000000 --- a/src/platform/src/Bridge/Voyage/ResultConverter.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\AI\Platform\Bridge\Voyage; - -use Symfony\AI\Platform\Exception\RuntimeException; -use Symfony\AI\Platform\Model; -use Symfony\AI\Platform\Result\RawResultInterface; -use Symfony\AI\Platform\Result\ResultInterface; -use Symfony\AI\Platform\Result\VectorResult; -use Symfony\AI\Platform\ResultConverterInterface; -use Symfony\AI\Platform\Vector\Vector; - -/** - * @author Christopher Hertel - */ -final readonly class ResultConverter implements ResultConverterInterface -{ - public function supports(Model $model): bool - { - return $model instanceof Voyage; - } - - public function convert(RawResultInterface $result, array $options = []): ResultInterface - { - $result = $result->getData(); - - if (!isset($result['data'])) { - throw new RuntimeException('Response does not contain embedding data'); - } - - $vectors = array_map(fn (array $data) => new Vector($data['embedding']), $result['data']); - - return new VectorResult($vectors[0]); - } -} diff --git a/src/platform/src/Contract/JsonPathConverter/ResultExtractorInterface.php b/src/platform/src/Contract/JsonPathConverter/ResultExtractorInterface.php new file mode 100644 index 00000000..d70ca8e0 --- /dev/null +++ b/src/platform/src/Contract/JsonPathConverter/ResultExtractorInterface.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Contract\JsonPathConverter; + +use Symfony\AI\Platform\Result\ResultInterface; +use Symfony\Component\JsonPath\JsonCrawler; + +interface ResultExtractorInterface +{ + public function supports(JsonCrawler $crawler): bool; + + /** + * @return ResultInterface[] + */ + public function extract(JsonCrawler $crawler): array; +} diff --git a/src/platform/src/Contract/JsonPathConverter/TextResultExtractor.php b/src/platform/src/Contract/JsonPathConverter/TextResultExtractor.php new file mode 100644 index 00000000..41abf42f --- /dev/null +++ b/src/platform/src/Contract/JsonPathConverter/TextResultExtractor.php @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Contract\JsonPathConverter; + +use Symfony\AI\Platform\Result\TextResult; +use Symfony\Component\JsonPath\JsonCrawler; +use Symfony\Component\JsonPath\JsonPath; + +readonly class TextResultExtractor implements ResultExtractorInterface +{ + public function __construct( + private string|JsonPath $jsonPath = '$.choices[?length(@.message.content) >= 0].message.content', + ) { + } + + public function supports(JsonCrawler $crawler): bool + { + return [] !== array_filter($crawler->find($this->jsonPath)); + } + + public function extract(JsonCrawler $crawler): array + { + $data = $crawler->find($this->jsonPath); + + return array_map(static fn (string $text): TextResult => new TextResult($text), $data); + } +} diff --git a/src/platform/src/Contract/JsonPathConverter/ToolCallResultExtractor.php b/src/platform/src/Contract/JsonPathConverter/ToolCallResultExtractor.php new file mode 100644 index 00000000..58ed3fa6 --- /dev/null +++ b/src/platform/src/Contract/JsonPathConverter/ToolCallResultExtractor.php @@ -0,0 +1,59 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Contract\JsonPathConverter; + +use Symfony\AI\Platform\Result\ToolCall; +use Symfony\AI\Platform\Result\ToolCallResult; +use Symfony\Component\JsonPath\JsonCrawler; +use Symfony\Component\JsonPath\JsonPath; + +readonly class ToolCallResultExtractor implements ResultExtractorInterface +{ + public function __construct( + private string|JsonPath $jsonPath = '$.choices[*].message.tool_calls', + private string|JsonPath $idPath = '$.choices[*].message.tool_calls[*].id', + private string|JsonPath $functionNamePath = '$.choices[*].message.tool_calls[*].function.name', + private string|JsonPath $functionArgumentsPath = '$.choices[*].message.tool_calls[*].function.arguments', + ) { + } + + public function supports(JsonCrawler $crawler): bool + { + return [] !== $crawler->find($this->idPath); + } + + public function extract(JsonCrawler $crawler): array + { + $choices = $crawler->find($this->jsonPath); + $ids = $crawler->find($this->idPath); + $functionNames = $crawler->find($this->functionNamePath); + $functionArguments = $crawler->find($this->functionArgumentsPath); + + $results = []; + foreach ($choices as $toolCallResult) { + $limit = \count($toolCallResult); + + $toolCalls = []; + for ($i = 0; $i < $limit; ++$i) { + $toolCalls[] = new ToolCall( + array_shift($ids), + array_shift($functionNames), + json_decode(array_shift($functionArguments), true), + ); + } + + $results[] = new ToolCallResult(...$toolCalls); + } + + return $results; + } +} diff --git a/src/platform/src/Contract/JsonPathConverter/VectorResultExtractor.php b/src/platform/src/Contract/JsonPathConverter/VectorResultExtractor.php new file mode 100644 index 00000000..b167078d --- /dev/null +++ b/src/platform/src/Contract/JsonPathConverter/VectorResultExtractor.php @@ -0,0 +1,39 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Contract\JsonPathConverter; + +use Symfony\AI\Platform\Result\VectorResult; +use Symfony\AI\Platform\Vector\Vector; +use Symfony\Component\JsonPath\JsonCrawler; +use Symfony\Component\JsonPath\JsonPath; + +readonly class VectorResultExtractor implements ResultExtractorInterface +{ + public function __construct( + private string|JsonPath $jsonPath = '$.data[*].embedding', + ) { + } + + public function supports(JsonCrawler $crawler): bool + { + return [] !== $crawler->find($this->jsonPath); + } + + public function extract(JsonCrawler $crawler): array + { + $data = $crawler->find($this->jsonPath); + + return [new VectorResult( + ...array_map(static fn (array $vector): Vector => new Vector($vector), $data), + )]; + } +} diff --git a/src/platform/src/Contract/ResultConverter.php b/src/platform/src/Contract/ResultConverter.php new file mode 100644 index 00000000..b517c915 --- /dev/null +++ b/src/platform/src/Contract/ResultConverter.php @@ -0,0 +1,89 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Contract; + +use Symfony\AI\Platform\Contract\JsonPathConverter\ResultExtractorInterface; +use Symfony\AI\Platform\Contract\JsonPathConverter\TextResultExtractor; +use Symfony\AI\Platform\Contract\JsonPathConverter\ToolCallResultExtractor; +use Symfony\AI\Platform\Contract\JsonPathConverter\VectorResultExtractor; +use Symfony\AI\Platform\Exception\RuntimeException; +use Symfony\AI\Platform\Model; +use Symfony\AI\Platform\Result\ChoiceResult; +use Symfony\AI\Platform\Result\RawHttpResult; +use Symfony\AI\Platform\Result\RawResultInterface; +use Symfony\AI\Platform\Result\ResultInterface; +use Symfony\AI\Platform\ResultConverterInterface; +use Symfony\Component\JsonPath\JsonCrawler; + +final readonly class ResultConverter implements ResultConverterInterface +{ + /** + * @param ResultExtractorInterface[] $resultExtractors + */ + public function __construct( + private iterable $resultExtractors, + ) { + } + + /** + * @param ResultExtractorInterface[] $overwrites + */ + public static function create(array $overwrites = []): self + { + $defaults = [ + VectorResultExtractor::class => new VectorResultExtractor(), + ToolCallResultExtractor::class => new ToolCallResultExtractor(), + TextResultExtractor::class => new TextResultExtractor(), + ]; + + foreach ($overwrites as $overwrite) { + $defaults[$overwrite::class] = $overwrite; + } + + return new self(array_values($defaults)); + } + + public function supports(Model $model): bool + { + return true; + } + + public function convert(RawResultInterface|RawHttpResult $result, array $options = []): ResultInterface + { + if ($options['stream'] ?? false) { + // TODO + } + + $crawler = new JsonCrawler($result->getObject()->getContent(false)); + + $choices = []; + foreach ($this->resultExtractors as $jsonPathConverter) { + if (!$jsonPathConverter->supports($crawler)) { + continue; + } + + $choices += $jsonPathConverter->extract($crawler); + } + + if (empty($choices)) { + throw new RuntimeException('No suitable extractor found for the provided data.'); + } + + if (\count($choices) > 1) { + return new ChoiceResult(...$choices); + } + + return reset($choices); + } +} diff --git a/src/platform/tests/Bridge/Gemini/Embeddings/ResultConverterTest.php b/src/platform/tests/Bridge/Gemini/Embeddings/ResultConverterTest.php deleted file mode 100644 index 92bd6442..00000000 --- a/src/platform/tests/Bridge/Gemini/Embeddings/ResultConverterTest.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\AI\Platform\Tests\Bridge\Gemini\Embeddings; - -use PHPUnit\Framework\Attributes\CoversClass; -use PHPUnit\Framework\Attributes\Small; -use PHPUnit\Framework\Attributes\UsesClass; -use PHPUnit\Framework\TestCase; -use Symfony\AI\Platform\Bridge\Gemini\Embeddings; -use Symfony\AI\Platform\Bridge\Gemini\Embeddings\ResultConverter; -use Symfony\AI\Platform\Result\RawHttpResult; -use Symfony\AI\Platform\Result\VectorResult; -use Symfony\AI\Platform\Vector\Vector; -use Symfony\Contracts\HttpClient\ResponseInterface; - -#[CoversClass(ResultConverter::class)] -#[Small] -#[UsesClass(Vector::class)] -#[UsesClass(VectorResult::class)] -#[UsesClass(Embeddings::class)] -final class ResultConverterTest extends TestCase -{ - public function testItConvertsAResponseToAVectorResult(): void - { - $result = $this->createStub(ResponseInterface::class); - $result - ->method('toArray') - ->willReturn(json_decode($this->getEmbeddingStub(), true)); - - $vectorResult = (new ResultConverter())->convert(new RawHttpResult($result)); - $convertedContent = $vectorResult->getContent(); - - $this->assertCount(2, $convertedContent); - - $this->assertSame([0.3, 0.4, 0.4], $convertedContent[0]->getData()); - $this->assertSame([0.0, 0.0, 0.2], $convertedContent[1]->getData()); - } - - private function getEmbeddingStub(): string - { - return <<<'JSON' - { - "embeddings": [ - { - "values": [0.3, 0.4, 0.4] - }, - { - "values": [0.0, 0.0, 0.2] - } - ] - } - JSON; - } -} diff --git a/src/platform/tests/Bridge/OpenAI/Embeddings/ResultConverterTest.php b/src/platform/tests/Bridge/OpenAI/Embeddings/ResultConverterTest.php deleted file mode 100644 index f92b644d..00000000 --- a/src/platform/tests/Bridge/OpenAI/Embeddings/ResultConverterTest.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\AI\Platform\Tests\Bridge\OpenAI\Embeddings; - -use PHPUnit\Framework\Attributes\CoversClass; -use PHPUnit\Framework\Attributes\Small; -use PHPUnit\Framework\Attributes\UsesClass; -use PHPUnit\Framework\TestCase; -use Symfony\AI\Platform\Bridge\OpenAI\Embeddings\ResultConverter; -use Symfony\AI\Platform\Result\RawHttpResult; -use Symfony\AI\Platform\Result\VectorResult; -use Symfony\AI\Platform\Vector\Vector; -use Symfony\Contracts\HttpClient\ResponseInterface; - -#[CoversClass(ResultConverter::class)] -#[Small] -#[UsesClass(Vector::class)] -#[UsesClass(VectorResult::class)] -class ResultConverterTest extends TestCase -{ - public function testItConvertsAResponseToAVectorResult(): void - { - $result = $this->createStub(ResponseInterface::class); - $result - ->method('toArray') - ->willReturn(json_decode($this->getEmbeddingStub(), true)); - - $vectorResult = (new ResultConverter())->convert(new RawHttpResult($result)); - $convertedContent = $vectorResult->getContent(); - - $this->assertCount(2, $convertedContent); - - $this->assertSame([0.3, 0.4, 0.4], $convertedContent[0]->getData()); - $this->assertSame([0.0, 0.0, 0.2], $convertedContent[1]->getData()); - } - - private function getEmbeddingStub(): string - { - return <<<'JSON' - { - "object": "list", - "data": [ - { - "object": "embedding", - "index": 0, - "embedding": [0.3, 0.4, 0.4] - }, - { - "object": "embedding", - "index": 1, - "embedding": [0.0, 0.0, 0.2] - } - ] - } - JSON; - } -} diff --git a/src/platform/tests/Contract/JsonPathConverter/VectorResultExtractorTest.php b/src/platform/tests/Contract/JsonPathConverter/VectorResultExtractorTest.php new file mode 100644 index 00000000..878d5d5c --- /dev/null +++ b/src/platform/tests/Contract/JsonPathConverter/VectorResultExtractorTest.php @@ -0,0 +1,48 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Tests\Contract\JsonPathConverter; + +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\Attributes\Test; +use PHPUnit\Framework\TestCase; +use Symfony\AI\Platform\Contract\JsonPathConverter\VectorResultExtractor; +use Symfony\Component\JsonPath\JsonCrawler; + +#[CoversClass(VectorResultExtractor::class)] +final class VectorResultExtractorTest extends TestCase +{ + #[Test] + public function standardSuccess(): void + { + $json = file_get_contents(\dirname(__DIR__).'/fixtures/embeddings-standard-success.json'); + + $extractor = new VectorResultExtractor(); + + $actual = $extractor->extract(new JsonCrawler($json)); + $this->assertCount(1, $actual); + $this->assertCount(1, $actual[0]->getContent()); + $this->assertSame(5, $actual[0]->getContent()[0]->getDimensions()); + } + + #[Test] + public function specificSuccess(): void + { + $json = file_get_contents(\dirname(__DIR__).'/fixtures/embeddings-specific-success.json'); + + $extractor = new VectorResultExtractor('$.embeddings[*].values'); + + $actual = $extractor->extract(new JsonCrawler($json)); + $this->assertCount(1, $actual); + $this->assertCount(1, $actual[0]->getContent()); + $this->assertSame(6, $actual[0]->getContent()[0]->getDimensions()); + } +} diff --git a/src/platform/tests/Contract/ResultConverterTest.php b/src/platform/tests/Contract/ResultConverterTest.php new file mode 100644 index 00000000..67775202 --- /dev/null +++ b/src/platform/tests/Contract/ResultConverterTest.php @@ -0,0 +1,158 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\AI\Platform\Tests\Contract; + +use PHPUnit\Framework\Attributes\CoversClass; +use PHPUnit\Framework\TestCase; +use Symfony\AI\Platform\Contract\JsonPathConverter\VectorResultExtractor; +use Symfony\AI\Platform\Contract\ResultConverter; +use Symfony\AI\Platform\Result\ChoiceResult; +use Symfony\AI\Platform\Result\RawHttpResult; +use Symfony\AI\Platform\Result\TextResult; +use Symfony\AI\Platform\Result\ToolCall; +use Symfony\AI\Platform\Result\ToolCallResult; +use Symfony\AI\Platform\Result\VectorResult; +use Symfony\Component\HttpClient\MockHttpClient; +use Symfony\Component\HttpClient\Response\JsonMockResponse; + +#[CoversClass(ResultConverter::class)] +final class ResultConverterTest extends TestCase +{ + public function testStandardVectorResultConversion(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/embeddings-standard-success.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/embeddings'); + + $converter = ResultConverter::create(); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(VectorResult::class, $actual); + $this->assertCount(1, $actual->getContent()); + $this->assertSame(5, $actual->getContent()[0]->getDimensions()); + } + + public function testSpecificVectorResultSuccess(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/embeddings-specific-success.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/embeddings'); + + $converter = new ResultConverter([ + new VectorResultExtractor('$.embeddings[*].values'), + ]); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(VectorResult::class, $actual); + $this->assertCount(1, $actual->getContent()); + $this->assertSame(6, $actual->getContent()[0]->getDimensions()); + } + + public function testStandardTextResult(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/openai-response-chat.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/completions'); + + $converter = ResultConverter::create(); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(TextResult::class, $actual); + $this->assertSame('Arrr, matey! Symfony be a treasure of a framework for building web applications in PHP!', $actual->getContent()); + } + + public function testStandardToolCallResult(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/openai-response-toolcall.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/completions'); + + $converter = ResultConverter::create(); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(ToolCallResult::class, $actual); + $this->assertContainsOnlyInstancesOf(ToolCall::class, $toolCalls = $actual->getContent()); + $this->assertCount(1, $toolCalls); + $this->assertSame('call_1234', $toolCalls[0]->id); + $this->assertSame('my_tool', $toolCalls[0]->name); + $this->assertSame(['myParam' => 'abcdefg'], $toolCalls[0]->arguments); + } + + public function testMultipleStandardToolCallResult(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/openai-response-toolcall-multiple.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/completions'); + + $converter = ResultConverter::create(); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(ToolCallResult::class, $actual); + $this->assertContainsOnlyInstancesOf(ToolCall::class, $toolCalls = $actual->getContent()); + $this->assertCount(2, $toolCalls); + $this->assertSame('call_1234', $toolCalls[0]->id); + $this->assertSame('my_tool', $toolCalls[0]->name); + $this->assertSame(['myParam' => 'abcdefg'], $toolCalls[0]->arguments); + $this->assertSame('call_2345', $toolCalls[1]->id); + $this->assertSame('foo_bar', $toolCalls[1]->name); + $this->assertSame(['foo' => 'bar'], $toolCalls[1]->arguments); + } + + public function testMultipleStandardToolCallChoiceResult(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/openai-response-toolcall-choices.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/completions'); + + $converter = ResultConverter::create(); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(ChoiceResult::class, $actual); + $this->assertContainsOnlyInstancesOf(ToolCallResult::class, $toolCallResults = $actual->getContent()); + $this->assertCount(2, $toolCallResults); + $this->assertCount(1, $toolCallResults[0]->getContent()); + $this->assertCount(1, $toolCallResults[1]->getContent()); + $this->assertSame('call_1234', $toolCallResults[0]->getContent()[0]->id); + $this->assertSame('my_tool', $toolCallResults[0]->getContent()[0]->name); + $this->assertSame(['myParam' => 'abcdefg'], $toolCallResults[0]->getContent()[0]->arguments); + $this->assertSame('call_4321', $toolCallResults[1]->getContent()[0]->id); + $this->assertSame('my_tool_two', $toolCallResults[1]->getContent()[0]->name); + $this->assertSame(['foo' => 'bar'], $toolCallResults[1]->getContent()[0]->arguments); + } + + public function testStandardChoicesResult(): void + { + $httpClient = new MockHttpClient($this->jsonMockResponseFromFile(__DIR__.'/fixtures/openai-response-choices.json')); + $response = $httpClient->request('POST', 'https://api.example.com/v1/completions'); + + $converter = ResultConverter::create(); + + $actual = $converter->convert(new RawHttpResult($response)); + + $this->assertInstanceOf(ChoiceResult::class, $actual); + $this->assertContainsOnlyInstancesOf(TextResult::class, $choices = $actual->getContent()); + $this->assertCount(3, $choices); + $this->assertSame('1 Arrr, matey! Symfony be a treasure chest of tools fer building web applications in PHP!', $choices[0]->getContent()); + $this->assertSame('2 Arrr, my pirate! Symfony be a treasure chest of tools fer building web applications in PHP!', $choices[1]->getContent()); + $this->assertSame('3 Ahoy there, matey! Symfony be a treasure chest of a framework for PHP', $choices[2]->getContent()); + } + + /** + * This can be replaced by `JsonMockResponse::fromFile` when dropping Symfony 6.4. + */ + private function jsonMockResponseFromFile(string $file): JsonMockResponse + { + return new JsonMockResponse(json_decode(file_get_contents($file), true)); + } +} diff --git a/src/platform/tests/Contract/fixtures/embeddings-specific-success.json b/src/platform/tests/Contract/fixtures/embeddings-specific-success.json new file mode 100644 index 00000000..00f0bed2 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/embeddings-specific-success.json @@ -0,0 +1,14 @@ +{ + "embeddings": [ + { + "values": [ + 0.003826603, + -0.0008243268, + 0.016683463, + -0.08654552, + -0.0003032509, + 0.00097318884 + ] + } + ] +} diff --git a/src/platform/tests/Contract/fixtures/embeddings-standard-success.json b/src/platform/tests/Contract/fixtures/embeddings-standard-success.json new file mode 100644 index 00000000..d3374155 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/embeddings-standard-success.json @@ -0,0 +1,21 @@ +{ + "object": "list", + "data": [ + { + "object": "embedding", + "index": 0, + "embedding": [ + 0.013870293, + -0.024086641, + -0.017051745, + 0.059303116, + -0.038576424 + ] + } + ], + "model": "text-embedding-3-small", + "usage": { + "prompt_tokens": 64, + "total_tokens": 64 + } +} diff --git a/src/platform/tests/Contract/fixtures/openai-response-chat.json b/src/platform/tests/Contract/fixtures/openai-response-chat.json new file mode 100644 index 00000000..646ab525 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-chat.json @@ -0,0 +1,36 @@ +{ + "id": "chatcmpl-Bxbzz33g2Hd5XBeM97CW7ST0Nm9PW", + "object": "chat.completion", + "created": 1753547119, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "Arrr, matey! Symfony be a treasure of a framework for building web applications in PHP!", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 26, + "completion_tokens": 193, + "total_tokens": 219, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_34a54ae93c" +} diff --git a/src/platform/tests/Contract/fixtures/openai-response-choices.json b/src/platform/tests/Contract/fixtures/openai-response-choices.json new file mode 100644 index 00000000..13af4fc4 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-choices.json @@ -0,0 +1,58 @@ +{ + "id": "chatcmpl-BxdTNw2Um2TGqieRwqR84AgL3HVZd", + "object": "chat.completion", + "created": 1753552785, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": "1 Arrr, matey! Symfony be a treasure chest of tools fer building web applications in PHP!", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + }, + { + "index": 1, + "message": { + "role": "assistant", + "content": "2 Arrr, my pirate! Symfony be a treasure chest of tools fer building web applications in PHP!", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + }, + { + "index": 2, + "message": { + "role": "assistant", + "content": "3 Ahoy there, matey! Symfony be a treasure chest of a framework for PHP", + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "stop" + } + ], + "usage": { + "prompt_tokens": 26, + "completion_tokens": 701, + "total_tokens": 727, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_62a23a81ef" +} diff --git a/src/platform/tests/Contract/fixtures/openai-response-error.json b/src/platform/tests/Contract/fixtures/openai-response-error.json new file mode 100644 index 00000000..4cbec310 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-error.json @@ -0,0 +1,8 @@ +{ + "error": { + "message": "Incorrect API key provided: sk-abcd****************************************6789. You can find your API key at https://platform.openai.com/account/api-keys.", + "type": "invalid_request_error", + "param": null, + "code": "invalid_api_key" + } +} diff --git a/src/platform/tests/Contract/fixtures/openai-response-stream-toolcall.json b/src/platform/tests/Contract/fixtures/openai-response-stream-toolcall.json new file mode 100644 index 00000000..57c1171d --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-stream-toolcall.json @@ -0,0 +1,406 @@ +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"role":"assistant","content":null,"tool_calls":[{"index":0,"id":"call_xG5e2wujAmDl8aRv4zo0bSio","type":"function","function":{"name":"youtube_transcript","arguments":""}}],"refusal":null},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"{\""}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"video"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"Id"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\":\""}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"6"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"u"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"X"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"W"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"-"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"ulp"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"j"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"0"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"s"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"tool_calls":[{"index":0,"function":{"arguments":"\"}"}}]},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7rF9K5efpvSIdpEu9HYAn3MSDw","object":"chat.completion.chunk","created":1753547607,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"tool_calls"}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" video"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" discusses"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" advantages"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" using"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Symfony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" PHP"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" framework"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" emphasizing"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" that"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" about"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" "},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"80"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"%"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" websites"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" use"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" PHP"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" as"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" server"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"-side"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" language"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Learning"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Symfony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" not"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" only"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" enhances"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" PHP"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" skills"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" but"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" also"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" introduces"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" various"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" software"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" architecture"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" patterns"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" applicable"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" across"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" different"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" programming"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" languages"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" speaker"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" shares"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" personal"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" success"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" story"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" where"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" knowledge"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" software"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" architecture"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" helped"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" them"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" secure"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" job"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" that"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" required"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" work"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" with"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" C"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"#"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" through"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" an"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" understanding"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" gained"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" from"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Symfony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" video"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" highlights"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" that"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Symfony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" full"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"-stack"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" framework"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" enabling"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" creation"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" deployment"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" applications"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" using"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" both"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" front"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"-end"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" technologies"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" ("},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"like"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" HTML"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" CSS"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Java"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"Script"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":")"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" back"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"-end"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" components"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" ("},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"like"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" PHP"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" databases"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":")."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Symfony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" integrate"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" easily"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" with"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" modern"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Java"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"Script"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" frameworks"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" such"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" as"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Vue"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":".js"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" React"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":".js"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" It"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" also"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" features"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" powerful"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" CLI"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" tool"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" building"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" debugging"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" generating"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" code"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" speaker"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" comm"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"ends"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" Symfony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"'s"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" excellent"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" documentation"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" which"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" is"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" beneficial"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" newcomers"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" \n\n"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" video"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" concludes"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" by"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" encouraging"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" viewers"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" engage"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" with"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" channel"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" its"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":" content"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc7tsf8N50WhcCiH91VkYx12Y2jO","object":"chat.completion.chunk","created":1753547609,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_34a54ae93c","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + +data: [DONE] + diff --git a/src/platform/tests/Contract/fixtures/openai-response-stream.json b/src/platform/tests/Contract/fixtures/openai-response-stream.json new file mode 100644 index 00000000..c2fb1cf4 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-stream.json @@ -0,0 +1,607 @@ +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"role":"assistant","content":"","refusal":null},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" purpose"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" an"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" like"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" that"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" any"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" living"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" organism"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" be"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" understood"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" from"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" various"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" perspectives"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"—"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"bi"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ological"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ecological"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" philosophical"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"1"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" **"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"Bi"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ological"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Perspective"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"**"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" From"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" biological"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" standpoint"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ants"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" like"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" all"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" organisms"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" exist"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" primarily"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" survive"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" reproduce"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" pass"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" on"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" their"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" genetic"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" material"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Each"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" plays"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" role"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" colony"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"'s"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" lifecycle"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" contributing"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" tasks"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" such"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" as"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"aging"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" food"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" caring"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" queen"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" larvae"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" defending"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" nest"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" maintaining"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" its"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" environment"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"2"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" **"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"Ec"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ological"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Perspective"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"**"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Ant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"s"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" hold"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" significant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" roles"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" their"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ecosystems"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" They"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" help"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" soil"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" aer"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ation"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" decomposition"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" nutrient"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" cycling"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Ant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"s"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" also"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" act"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" as"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" seed"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" dispers"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ers"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" aiding"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" plant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" reproduction"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" by"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" transporting"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" seeds"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" away"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" from"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" parent"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" plant"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" which"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" enhance"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" biodiversity"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Additionally"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" they"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" serve"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" as"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" prey"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" for"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" various"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" animals"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" thereby"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" contributing"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" food"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" web"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"3"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" **"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"Ph"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ilos"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"oph"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ical"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Perspective"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"**"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":":"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" From"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" a"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" philosophical"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" angle"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" considering"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" \""},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"purpose"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"\""},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ants"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" touches"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" on"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" deeper"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" questions"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" meaning"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" value"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" nature"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" Some"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" might"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" argue"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" that"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" every"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" living"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" being"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" has"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" intrinsic"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" value"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" regardless"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" its"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" utility"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" humans"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" The"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" behaviors"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" social"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" structures"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ants"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" reflect"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" complex"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" forms"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" cooperation"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" community"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" prompting"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" discussions"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" about"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" altru"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ism"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" individuality"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" interconnected"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ness"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" life"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":".\n\n"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"In"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" summary"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" while"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ants"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" serve"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" critical"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" functions"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" ecosystems"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" contribute"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" biological"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" diversity"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" our"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" planet"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" question"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" of"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" their"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" \""},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"purpose"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"\""},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" can"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" be"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" expansive"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" lead"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" to"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" broader"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" contempl"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"ations"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" about"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" life"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" existence"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":","},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" and"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" our"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" place"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" in"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" the"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":" world"},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{"content":"."},"logprobs":null,"finish_reason":null}]} + +data: {"id":"chatcmpl-Bxc3yELRbA9xSZSYgj1iem873Y036","object":"chat.completion.chunk","created":1753547366,"model":"gpt-4o-mini-2024-07-18","service_tier":"default","system_fingerprint":"fp_62a23a81ef","choices":[{"index":0,"delta":{},"logprobs":null,"finish_reason":"stop"}]} + +data: [DONE] diff --git a/src/platform/tests/Contract/fixtures/openai-response-toolcall-choices.json b/src/platform/tests/Contract/fixtures/openai-response-toolcall-choices.json new file mode 100644 index 00000000..1e9c4136 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-toolcall-choices.json @@ -0,0 +1,67 @@ +{ + "id": "chatcmpl-Bxc1qPiJMaVsgyKm5OxsryT7zqCDQ", + "object": "chat.completion", + "created": 1753547234, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_1234", + "type": "function", + "function": { + "name": "my_tool", + "arguments": "{\"myParam\":\"abcdefg\"}" + } + } + ], + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "tool_calls" + }, + { + "index": 1, + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_4321", + "type": "function", + "function": { + "name": "my_tool_two", + "arguments": "{\"foo\":\"bar\"}" + } + } + ], + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "tool_calls" + } + ], + "usage": { + "prompt_tokens": 82, + "completion_tokens": 24, + "total_tokens": 106, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_34a54ae93c" +} diff --git a/src/platform/tests/Contract/fixtures/openai-response-toolcall-multiple.json b/src/platform/tests/Contract/fixtures/openai-response-toolcall-multiple.json new file mode 100644 index 00000000..5ba5594a --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-toolcall-multiple.json @@ -0,0 +1,54 @@ +{ + "id": "chatcmpl-Bxc1qPiJMaVsgyKm5OxsryT7zqCDQ", + "object": "chat.completion", + "created": 1753547234, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_1234", + "type": "function", + "function": { + "name": "my_tool", + "arguments": "{\"myParam\":\"abcdefg\"}" + } + }, + { + "id": "call_2345", + "type": "function", + "function": { + "name": "foo_bar", + "arguments": "{\"foo\":\"bar\"}" + } + } + ], + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "tool_calls" + } + ], + "usage": { + "prompt_tokens": 82, + "completion_tokens": 24, + "total_tokens": 106, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_34a54ae93c" +} diff --git a/src/platform/tests/Contract/fixtures/openai-response-toolcall.json b/src/platform/tests/Contract/fixtures/openai-response-toolcall.json new file mode 100644 index 00000000..2bba4573 --- /dev/null +++ b/src/platform/tests/Contract/fixtures/openai-response-toolcall.json @@ -0,0 +1,46 @@ +{ + "id": "chatcmpl-Bxc1qPiJMaVsgyKm5OxsryT7zqCDQ", + "object": "chat.completion", + "created": 1753547234, + "model": "gpt-4o-mini-2024-07-18", + "choices": [ + { + "index": 0, + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call_1234", + "type": "function", + "function": { + "name": "my_tool", + "arguments": "{\"myParam\":\"abcdefg\"}" + } + } + ], + "refusal": null, + "annotations": [] + }, + "logprobs": null, + "finish_reason": "tool_calls" + } + ], + "usage": { + "prompt_tokens": 82, + "completion_tokens": 24, + "total_tokens": 106, + "prompt_tokens_details": { + "cached_tokens": 0, + "audio_tokens": 0 + }, + "completion_tokens_details": { + "reasoning_tokens": 0, + "audio_tokens": 0, + "accepted_prediction_tokens": 0, + "rejected_prediction_tokens": 0 + } + }, + "service_tier": "default", + "system_fingerprint": "fp_34a54ae93c" +}