Skip to content

Releases: neuron-core/neuron-ai

3.0.5

27 Feb 17:13

Choose a tag to compare

Fix workflow global middleware

3.0.4: Merge pull request #501 from bytestream/patch-2

27 Feb 16:50
2471687

Choose a tag to compare

Improve Embeddings Providers

Thank you to @bytestream for the contribution.

  • Http client interface in OpenAI embedding #500
  • Qdrant refactor for better extension #501

3.0.3: Merge pull request #494 from jamosaur/eloquent-history-selects

25 Feb 18:12
6c91135

Choose a tag to compare

3.0.2

25 Feb 18:06

Choose a tag to compare

fix chat history

3.0.1

25 Feb 17:17

Choose a tag to compare

Eloquent workflow persistence

Thanks to @jamosaur for PR #497

Create a WorkflowInterrupt model:

class WorkflowInterrupt extends Model
{    
    protected $fillable = ['workflow_id', 'interrupt'];
}

Use it with workflow:

use App\Models\WorkflowInterrupt;
use NeuronAI\Workflow\Persistence\EloquentPersistence;

// Creating a workflow
$workflow = WorkflowAgent(
    persistence: new EloquentPersistence(WorkflowInterrupt::class)
);

Migration script and code snippets in the documentation.

3.0.0

25 Feb 09:27

Choose a tag to compare

Neuron v3 is Here! 🚀

Read more on the announcement: #493

2.13.0

24 Feb 17:52

Choose a tag to compare

OpenSearch vector store

New OpenSearch vector store thanks to the contribution of @jamosaur with PR #489

use NeuronAI\RAG\RAG;
use NeuronAI\RAG\VectorStore\OpenSearchVectorStore;
use NeuronAI\RAG\VectorStore\VectorStoreInterface;
use OpenSearch\GuzzleClientFactory;

class MyChatBot extends RAG
{
    ...

    protected function vectorStore(): VectorStoreInterface
    {
        $opensearch = new GuzzleClientFactory()->create([
            'base_uri' => 'http://localhost:9200',
        ]);
        
        return new OpenSearchVectorStore(
            client: $opensearch,
            index: 'neuron-ai',
        );
    }
}

2.12.6

18 Feb 16:37

Choose a tag to compare

Tool Visibility helper

You can condition the visibility of tools based on custom rules. The Tool class provides you with the visible method to determine if the agent should even known the tool exists:

class YouTubeAgent extends Agent
{
    ...
    
    protected function tools(): array
    {
        return [
            GetTranscriptionTool::make('API_KEY')->visible(
                auth()->user()->can(...)
            ),
        ];
    }
}

2.12.5

15 Feb 10:06

Choose a tag to compare

Fix tool events observer

2.12.4

13 Feb 11:18

Choose a tag to compare

Fix #469 thanks to @manuelkiessling PR #470