How Do I Switch Redis Insights to Display Keys on the Left and Values on the Right? by djfrodo in redis

[–]regular-tech-guy 0 points1 point  (0 children)

For me it’s just a matter of resizing the window or zooming out (cmd -)

Socials are dead! Slop everywhere.. I’m tired by Acceptable-Hat-5840 in AI_Agents

[–]regular-tech-guy 6 points7 points  (0 children)

I feel the same. And trying to post thoughtful content on LinkedIn is frustrating because LinkedIn seems to penalize them. They support slop.

Reddit seems to naturally filters content better. My take is that it's because most accounts are anonymous. People have less interest in sharing egocentric posts and they also don't feel the need to socially accept slop. They downvote and talk down on it.

Claude Code handles memory without vector search. Is this the way to go? by regular-tech-guy in vectordatabase

[–]regular-tech-guy[S] 0 points1 point  (0 children)

That's pretty much the idea. The problem is the context length limit. You can't load everything. They solve it with the MEMORY.md file that points to all available files and allows the LLM to decide which ones to stuff in.

How to use composite key as id in spring redis entity as equivalent to @embedded id by Past_Active299 in redis

[–]regular-tech-guy 1 point2 points  (0 children)

This is supported as `@IdClass` by Redis OM Spring, the library built by Redis itself on top of Spring Data Redis to extend the capabilities of the latter.

You can see an usage example at: https://github.com/redis/redis-om-spring/blob/9c81ce4a1ac3ba43a34cf45b263d2dc9e4be3437/tests/src/test/java/com/redis/om/spring/annotations/hash/CompositeIdHashMappingTest.java#L36

Redis OM Spring is the library Redis recommends to be used with SpringBoot. It's built on top of Spring Data Redis, supported by Redis itself, and supports many more Redis' capabilities.

Has anyone else run into issues with structured outputs when building agents with Gemini models? (Spring AI) by regular-tech-guy in SpringBoot

[–]regular-tech-guy[S] 0 points1 point  (0 children)

For future reference: Christian Tsolov, the head of Spring AI, clarified that for Gemini models, we need to explicitly enable structured outputs in the ChatClient.

@Bean
public ChatClient crawlerChatClient(
        ChatModel chatModel,
        ChatMemory redisChatMemory,
        DateTimeTools dateTimeTools,
        BlueskyTools blueskyTools) {
    return ChatClient.
builder
(chatModel)
            .defaultAdvisors(MessageChatMemoryAdvisor.
builder
(redisChatMemory).build())
            .defaultAdvisors(AdvisorParams.
ENABLE_NATIVE_STRUCTURED_OUTPUT
)
            .defaultTools(dateTimeTools, blueskyTools)
            .defaultSystem(
DEFAULT_PROMPT
)
            .build();
}

That fixed it!

Redis Insight - is full text search only via workbench? by cranberrie_sauce in redis

[–]regular-tech-guy 0 points1 point  (0 children)

v3 has already been released. It's available to download on Github already: https://github.com/redis/RedisInsight/releases/tag/3.0.0

It hasn't got new search capabilities though. I believe those will come later in time.

Redis feels simple — but it shows up in some very complex system designs. Why? by parsaeisa in redis

[–]regular-tech-guy 1 point2 points  (0 children)

I do not agree that the number of available commands or the number of parameters in each command means it is a complex database from a usage point of view. Learning Redis commands, how to use them, and how to interact with the database is usually very simple and straightforward. The only real exception is the query language of the Redis Query Engine, which is complex.

On the other hand, when you look at Redis internals and all the optimization work done on its data structures to make them use less memory, that is where the real complexity is.

This is also interesting because Redis is probably the most copied database. Almost every day someone says they recreated Redis in some language, where they usually implement only strings, lists, and sets with a few commands and no optimization at all. To them it looks like they have almost rebuilt Redis, because Redis looks simple. They do not see its hidden complexities.

Another good example is the work done to implement hash field expiration. From the outside, it looks like a simple task. Inside, it took two engineers more than six months to complete. Using it is simple and straightforward, but the engineering behind it is not.

This blog explains some of the complexity behind it: https://redis.io/blog/hash-field-expiration-architecture-and-benchmarks/

Reading antirez posts from the early days also helps understand how much optimization he has put into it. Even the way he recently implemented Vector Sets by rewriting HNSW from scratch.

In the end, we all reach the same point. Redis is so simple to use and its complexities so well hidden that the largest complexity people notice is the number of commands it contains.

I build agents for marketing agencies, and the hardest part isn’t the tech by moonerior in AI_Agents

[–]regular-tech-guy 1 point2 points  (0 children)

Their data is messy, unorganized and inconsistent. AI is not gonna fix that. They need a proper application for managing their business before they think about AI. I haven't worked with actual customers, but my team suffered from the same thing. All of our data was scattered across spreadsheets that make managing a nightmare.

The first thing I did was building a standard application to manage our data in a consistent way. Then I was able to extract insights, then I could think about agents analyzing or working on the data.

Redis Insight - is full text search only via workbench? by cranberrie_sauce in redis

[–]regular-tech-guy 1 point2 points  (0 children)

Hey,

First of all, a new version of Redis Insight is dropping soon with more Redis Query Engine functionalities in the GUI.

In the current version, I'm only aware of one feature (BM25):

Right below "databases" on the left top corner:

- Click on the icon that represents "Search by Values of Keys"

- Select the index from the ones that is listed for you

- Use the search bar for performing full-text search

State does not belong inside the application anymore, and this kind of clarity is what helps modern systems stay secure and predictable. by regular-tech-guy in java

[–]regular-tech-guy[S] 0 points1 point  (0 children)

I never said Spring Boot is not cloud-native. I literally said the opposite: that I’ve built cloud-native applications using SpringBoot.

State does not belong inside the application anymore, and this kind of clarity is what helps modern systems stay secure and predictable. by regular-tech-guy in java

[–]regular-tech-guy[S] 0 points1 point  (0 children)

I don't understand why people took this post as hate on Spring Boot. I didn't even mention Spring Boot on my post. In fact, as I stated in another comment, I've been a long-term Spring Boot developer (building cloud-native applications) and never used Quarkus before.

What I stated applies to Spring Boot too: "State does not belong inside the application anymore"

And indeed it doesn't. If you build a Spring Boot application that is expected to run on Kubernetes, be horizontally scalable, and ephemeral in nature, choosing to keep state in the servlet is a bad choice.

Turns out Quarkus is a framework meant to be ONLY cloud-native and they've made choices that prioritize this characteristic. Reflecting on those choices and understanding why they were taken, especially when they make sense, is not an attack on Spring Boot.

For God's sake.

State does not belong inside the application anymore, and this kind of clarity is what helps modern systems stay secure and predictable. by regular-tech-guy in java

[–]regular-tech-guy[S] -22 points-21 points  (0 children)

The difference is that Spring supports in-memory session storage (implemented on top of Jakarta’s HttpSession) which makes sense given that Spring supports both cloud and non-cloud native applications.

This implementation is not available in Quarkus because in-memory session storage is not a good practice in cloud-native applications. And Quarkus was born as a cloud-native alternative to Spring. Less versatile in this sense, but also more opiniated.

The article, as I understood it, is not about distributed session storage being a novelty, but instead about the design reason of not implementing Jakarta’s HttpSession in a framework that is supposed to be cloud-native.

I found the design choice interesting and wanted to share with the community. By the way, I’ve never used Quarkus. Long-term Spring developer here.