Nvidia – open-source auto-ontology

(github.com)

191 points | by campervans 7 hours ago ago

75 comments

  • dstu 4 hours ago ago

    This may well be very useful, but Claude has ruined me and I have a visceral reaction to ‘gates’ in the opening sentence and couldn’t get any further. If a tool is worth building and sharing, surely it’s also worth writing a brief summary of what it’s supposed to achieve in your own words?

    • ahartmetz 3 hours ago ago

      The sentence is near incomprehensible without knowledge of the Claudish robolect. (Here I made up a word. Hopefully its comprehensibility isn't gated too much on language nerdery.)

      • frxx 3 hours ago ago

        I will add Claudish robolect into my language immediately, thank you.

      • Tade0 an hour ago ago

        It's particularly load-bearing to a non-native English speaker such as me.

        It looks a lot like English, but it doesn't have the same rhythm human English has. It's as if a human tried and failed to be concise.

        • BobbyTables2 an hour ago ago

          As a native English speaker, I get the same feeling whenever I read press releases and other announcements from executives.

        • idiotsecant an hour ago ago

          It's vague puffery that implies depth without nessesarily achieving it. It's a very effective bullshitting technique with most people, which is why we collectively were so impressed with it we sculpted a robot that does it.

      • BobbyTables2 an hour ago ago

        Hear ye, who speaks of the Pompatus of Claude…

      • jMyles 2 hours ago ago

        [dead]

    • thunky 11 minutes ago ago

      > Claude has ruined me and I have a visceral reaction to ‘gates’ in the opening sentence and couldn’t get any further

      So what you're saying is: because you've used Claude so much, you don't want other people to use it. And you reject them for using it.

      A bit hypocritical don't you think?

      • arthur-st 2 minutes ago ago

        What they're saying is that if something is not worth the time needed to write it, it's not worth the time needed to read it either.

      • sampullman 6 minutes ago ago

        There's a difference between using Claude and sharing its unfiltered output.

    • torben-friis 3 hours ago ago

      "reliability gates agentic analytics" is quite a garden path sentence, at least to the eyes of a non-native speaker.

      • svnt an hour ago ago

        The more common english term is “held back” instead of gated.

        And nvidia probably doesn’t want to say “probabilistic responses including hallucinations preclude reliable ai analytics”

        As it is the sentence communicates very little. Things are unreliable for a lot of different reasons. Hardware? Software? Users? Intentional and required use of RNGs? Claude presumes the reader has all the same weights activated.

      • mycall 2 hours ago ago

        As a native speaker, I read this as "This controls enabling or disabling of all analytic features used by AI model loops"

        Now there are times when I let the model keep its own docs in its own language, for its own future reference; but, it is not intended for human distribution due to its odd selection of words and phrases (aka slop).

        • wccrawford an hour ago ago

          I think it's slightly different: Without reliability, agentic analytics is useless.

          Or: Agentic analytics is gated on sufficient reliabilty.

          Or reallllly short and hard to understand: Reliability gates agentic analytics.

    • brap 2 hours ago ago

      Thank you! After reading the very first line I just had to check the HN comments:

      > Agents can retrieve documents and query databases, but reliability gates agentic analytics: a revenue metric answered faster is worth nothing if the number is wrong.

      Absolutely no human would ever write this kind of slop. I have no idea what this even means. Is this really the first thing you want users to read?

      I wish people would take a fucking minute to at least figure out what their main selling point is and just write it, you know, like we used to.

    • ks2048 16 minutes ago ago

      Is that first diagram also pure slop? I would have to understand more of what they're doing to confidently say it is, but it seems odd.

      All the four nodes on the right side have either only incoming or only outgoing arrows.

    • c-fe 2 hours ago ago

      i had exactly the same issue. That first sentence triggered the bad experience i had with claude opus 5.0 interactions and i just closed the page immediately.. All of the PRs that I have seen with "gates"... it really impacts me

    • aniviacat 2 hours ago ago

      And yet it still contains what looks like human error, e.g. the "Software Components" table mixed up the columns for the database.

      • antonvs an hour ago ago

        That's much more like an agent error than a human error.

        It's quite common for LLMs to mix up values between columns in a table. It's often referred to as a structural hallucination, since it can happen with all kinds of relationships that form structures, not just columns in a table.

        • grey-area an hour ago ago

          Hmm, seems their ontology didn't fix this assuming they use it themselves.

    • scirob 2 hours ago ago

      yes pls linguists track these word overuses and help us get rid. Everytime someone says Gate IRL i lose my train of thaught

    • singpolyma3 2 hours ago ago

      We cant use single English words in their normal sense now without being told it's Claude?

      • chrsw 2 hours ago ago

        More like, sometimes when you publish slop it gets called out as slop.

      • antonvs 2 hours ago ago

        Read the rest of the page. This is 100% unedited slop.

      • moffkalast 26 minutes ago ago

        Thanks Claude. /s

    • bsenftner 2 hours ago ago

      Seriously? This is a professional assessment?

      > If a tool is worth building and sharing, surely it’s also worth writing a brief summary of what it’s supposed to achieve in your own words?

      Next the complaint will be any such description looks like AI slop.

      • antonvs an hour ago ago

        Yes, it's a professional assessment. This page is 100% unedited slop, and it's unprofessional to publish something like this under the pretense that it's fit for human consumption.

      • lirolero 2 hours ago ago

        [dead]

  • grey-area 6 hours ago ago

    Fixing unreliable agents by adding more unreliable agents. It's a shame we can't do something about the tendency of LLMs to give more weight to their weights than to the data they're analysing.

    I guess it all comes back to the fact that they don't have a clear division between data they have learned about the world, instructions and data under analysis.

    You can ask them only to consider the 5 facts in front of them, but they won't do that, and cannot do that.

    • another-dave 26 minutes ago ago

      > Fixing unreliable agents by adding more unreliable agents.

      I think the 'reliability add' is from how it's presented back to the user. If you can trust the agent to at least say what tool it called, then you can mark a chart as being the canonical output of "get_projected_profit" tool vs "get_realised_profit" tool and everyone knows it hasn't come down to the current dice roll of randomness what the agent itself did this time.

    • IanCal 5 hours ago ago

      > Fixing unreliable agents by adding more unreliable agents.

      Depending on how you combine imperfect systems, you can lower or increase error rates.

      > data they have learned about the world, instructions and data under analysis.

      I don't think there really is a clear distinction between these things though.

      And I don't mean this in a gotcha way - these things apply to people too. Not that that means they're like people, but we have successfully built enormous systems out of fallible people, and other imperfect things.

      The goal is rarely "eliminate all errors" but "have a thing that's useful, given a possibility of things going wrong".

      • zbentley 39 minutes ago ago

        > I don't think there really is a clear distinction between these things though.

        Computer systems, though, can have that distinction. If you read data supplied by the user, and then process it via behavior in code, and process that result against administratively-set data in the database, the separation between user-supplied data, administratively-configured data, and instructions (code) is extremely clear. Even if you are doing something that could be nondeterministic, e.g. incorporating randomness or doing sentiment analysis or whatnot.

        I don't think the oft-repeated "AI is fallible just like humans are" applies here. Computer systems are an area where that separation can be achieved. We know this because we've achieved it a lot. LLMs, powerful as they are, are a massive step back in that regard. Their benefits might outweigh that compromise, but it is, as they say, "worth naming" anyway.

      • grey-area 5 hours ago ago

        Depending on how you combine imperfect systems, you can lower or increase error rates.

        Well, in principle yes one system can compensate for another, in practice, errors tend to compound and combine in interesting ways, not go away, particularly in systems like this which are unpredictable and generate slightly different responses each time without human intervention. They are not reliable in the way we're used to considering and don't work well without supervision from careful humans at present.

        I don't think there really is a clear distinction between these things though.

        Yes your second point is an interesting one - the divisions between these things are arbitrarily imposed on the world, but we do have these distinctions for a reason, even if they are not completely objective.

        I do think this is a significant problem specific to LLMs though (that I at least see when using them) - we don't have a way to constrain them in what knowledge they consider. This can be a bonus (they are good at connecting faraway bits of maths in interesting ways), but it can be a significant problem when asking for a summary of a data - confabulations and data from outside the context easily leak into the output of the LLM. That is undesirable behaviour and we have no reliable way to constrain it.

        I'm not sure that this particular effort is going to help because it doesn't change or constrain the behaviour of the actual machines and the behaviour is the problem, not the data they are fed.

        • IanCal 4 hours ago ago

          > Well, in principle yes one system can compensate for another, in practice, errors tend to compound and combine in interesting ways, not go away, particularly in systems like this which are unpredictable and generate slightly different responses each time without human intervention.

          Ah but the point here IIUC is moving from "let an LLM figure out the right way of querying the data and what you mean with your terms from a wide span of different documents and sources, which it has to perform multiple searches on" to "let an LLM figure out the right way of querying your data with a coherent and machine readable ontology".

          While the conversion from "load of data" to "defined structure" is error prone, you now have the second step operating on the same converted thing, and you have ways of fixing that over time (the corrections).

          By splitting the task into two distinct phases, you can both interpret and fix the middle step, and remove a large class of mistakes and/or differences caused by different interpretations of the same documents.

          There are really two answers to it IMO that this boils down to:

          1. This process may be less error prone for that first step than the LLM you're using. That could reduce errors. 2. This process means the first step is run once rather than every time which means you cut out one area where there can be differences each time.

          > Yes your second point is an interesting one - the divisions between these things are arbitrarily imposed on the world, but we do have these distinctions for a reason, even if they are not completely objective.

          You're right, I think there are useful groupings, but I think any effort to fully isolate them is doomed to fail because they inherently blend. Your instructions contain things that can only be understood in context of world knowledge and the data. The data only makes sense with certain bits of world knowledge.

          We also know that these things happen with humans (again just to pre-empt how others may read this and not saying you are accusing me of this, I'm not gotcha-ing here) and so we often have to be careful about how we ask questions, how different cultural backgrounds impact understanding and so forth. We have to take care about how we structure things.

          > I'm not sure that this particular effort is going to help because it doesn't change or constrain the behaviour of the actual machines and the behaviour is the problem, not the data they are fed.

          I think this effort does address that. A really key thing is that this is about turning human readable questions into SQL that then only query the actual data and you see the result of that query - it allows you to constrain things more (at both points).

    • podgorniy 2 hours ago ago

      Reliable TCP was built on top of unreliable IP. Our body chemistry is another example of unreliable non-deterministic processes creating more deterministic outcomes. Yes, yes, it's all different. The common idea is the same: we can get reliable results out of unreliable systems.

    • latentsea 3 hours ago ago

      > You can ask them only to consider the 5 facts in front of them, but they won't do that, and cannot do that.

      Has training them to do it been tried and proven to fail?

      • grey-area 3 hours ago ago

        I don't know enough about it, would welcome a more informed opinion on that, as a user it's the biggest issue with using them long-term IMO. Perhaps it is fixable somehow, and perhaps 'cannot do that' is a bit strong, what I meant was the current iteration of LLMs cannot do that.

  • HexDecOctBin 3 hours ago ago

    I have a question for people with knowledge of both LLMs and GOFAI: Why can’t we use LLMs to write as many symbolic rules as needed to fit the data while keeping the ruleset reviewable and maintainable?

    • itishappy 18 minutes ago ago

      We can and do! Here's one you can help maintain and review!

      https://www.wikidata.org/wiki/Wikidata:Main_Page

    • sudo-giusppe 2 hours ago ago

      The amount of finite rules necessary (that the LLM will write) to handle the noise and complexity of real data generates such a dense graph that it breaks the premise of a human-maintainable and auditable system.

    • hmokiguess 2 hours ago ago

      Define reviewable and maintainable

  • mirekrusin 5 hours ago ago

    I still prefer my own, simple and more functional CAVE lang [0]

    [0] https://mirekrusin.com/cave

    • smartmic 3 hours ago ago

      Is this similar to Datalog where you have facts and rules?

      • mirekrusin 3 hours ago ago

        Yes, and few other useful concepts beyond just Datalog.

    • timini 3 hours ago ago

      why would i use this over some rdf / owl / sparql thing?

      i want to use these semantic / KG tech but i find them so confusing!

      • mirekrusin 3 hours ago ago

        because it doesn't suck :)

        it's local first, agent-friendly tooling; you have single cli to access it (mcp is there as well if that's your thing)

        everything is persisted in simple local text files that you can actually read (or sqlite database if you don't care / have more data)

        ie there is no integration, k8s-style nonsense etc, you can just use it on project or on your system user level and know exactly what's there, you have control over it, you can delete it, move it, extract parts you find useful and move on etc

        because it has first class support for uncertainty

        evidence is first class concern

        supports evolution of belief (statements can be revised, retracted etc. without destroying history)

        knowledge is executable (rules, actions, automations – all operate on the same claim model)

        it works well for knowledge that keeps changing (including support for querying knowledge as of some past time)

        it's great for llm sessions, ie. simple things like comment on a claim being part of a claim itself, which means it appears when working with knowledge, which allows to support weird/human/natural-language aspects that are not directly part of the model

        ...

        rdf/owl/sparql is great for large, public, structured datasets (ie. medical, scientific or some regulatory, standardized ontologies)

        cave is great for evolving knowledge, ie. in most cases i use it by just dropping it in and forgetting about it – i don't care how/what llm will model, i just care it'll solve some problems faster when aiding itself with it as a tool; if i want some structured dataset out of it i may occasionally ask it to model it around homogeneous schema i can extract, but in most cases i really don't care

    • corndoge 3 hours ago ago

      [dead]

  • ex1fm3ta 19 minutes ago ago

    Nice is this Jensen Huang response's to Alex Karp recent statement on AI companies stealing people data with a subvention (token price) ? Because building ontologies is Palantir's core business.

  • igleria 5 hours ago ago

    Was interested... but then realized it needs an NVIDIA api key?

    • matthieu_bl 3 hours ago ago

      Shameless plug: we built our own open source equivalent of auto-ontology a few months ago, that doesn't require any API key but your LLM one (or none if you use your coding agent subscription)

      https://github.com/GetCassis/ontology-skills

      • igleria an hour ago ago

        will check it out! also thanks to the others for the clarifications.

    • IanCal 4 hours ago ago

      I've not tried running it but while it defaults to NVIDIA hosted endpoints but the readme suggests you can host those yourself if you want.

    • p_l 5 hours ago ago

      You can self-host the LLMs involved, API key is only if you're using nvidia-hosted

  • destepanov1 an hour ago ago

    Didn't expect Standard ML O_o

  • monkeydust 3 hours ago ago

    We spend a small fortune trying to get ontology right as it's so critical to real world success of enterprise AI. Curious if this could actually help us.

  • undefined 32 minutes ago ago
    [deleted]
  • podocarp 6 hours ago ago

    I don't understand this ontology thing. What's the difference between this and a memory system plus skills to collect your enterprise's APIs and CLIs etc?

    • ForgotMyUUID 4 hours ago ago

      Ontology is a so-called white-box approach for AI: all dependencies are clearly stated and formalised. If something does not work as you wish, unlike LLMs, in ontology world you can clearly diagnose where the system fails. I understood the NVIDIA's idea this way: we take unreliable LLM and make a "reliable" ontology using it. If you look back into history, Prolog , was exactly a sort of "memory system" or, better put, a human-friendly database. Ontology is a further development of this concept.

      • gb2d_hn 4 hours ago ago

        What can an agent infer from this system that it can't infer from the codebase?

        • matthieu_bl 3 hours ago ago

          1. What is not in the codebase. Obvious of course, but building an ontology and maintaining it over time forces a company to document what was only living in the head of some experts and never written down. In the case of analytics use cases, think of all the quirks a data analyst might have in mind when querying the data. Very basic e.g. "exclude test accounts whenever you count customers". Every analyst on the team does it without thinking, it's rarely written anywhere, and an agent that doesn't know will happily count them.

          2. Related to 1., your codebase or source material may hold different interpretations of the same definition (what "revenue" means can differ between Sales and Finance). The ontology forces you to choose one, or to state when to use each. Without that, the LLM may pick one a bit randomly.

          3. It's a governance tool for humans. It gives the company a human-readable, "deterministic" source of truth to agree on what means what, then version it and evolve it.

    • IanCal 5 hours ago ago

      One issue in a business is what does all the data actually mean? What are the various definitions and how do they relate to each other. What's a customer? Should that include people that have bought things, or anyone who is potentially buying? Do different systems use the same definitions, what are the columns, etc.

      An ontology in this kind of context means a more precise machine readable spec of this and how it all relates to each other. You can totally build one by hand. The idea here is I think that it tries to figure it out itself and can take corrections over time, so you can ask natural language questions and get more reliable results rather than hoping an llm works out what "customers this month" means the same way each time over a wide span of data rather than having a much clearer API to work against.

      • gb2d_hn 3 hours ago ago

        This is what the Matt Pocock /grill-with-docs solves. It helps to build a ubiquitous language that helps with domain modelling. This along with the codebase seems to help agents a lot. I'm not clear on how the Nvidia tool here improves on this, or how it is more reliable?

    • whatshisface 6 hours ago ago

      A memory system is managed by the RL trained behavior, these systems use specific prompts and ordinary software to hardcode a policy. The RL version is usually more efficient, but it can't be improved or made more repeatable.

    • buremba 2 hours ago ago

      [dead]

  • einpoklum 5 hours ago ago

    Open Source?

    How about we start by open-sourcing the NVIDIA user-space libraries: libcuda, libcudart, libOpenCL, libnvtx, as well as nvidia-smi and the CUDA and OpenCL profilers.

  • bbor 5 hours ago ago

    The readme seems to be written for enterprise project managers. Does anyone know what philosophy or academic ontology work this ties to, if any? I’m having trouble understanding the specifics, I’ll be honest…

    • antonvs an hour ago ago

      This isn't really anything to do with ontology in the philosophical or academic sense, outside of computer science.

      In software, an ontology is just a machine-readable definition of the entities in a system - their names, properties, relationships etc. This tool analyzes a system and produces such a definition for agents to use.

  • yodamus 2 hours ago ago

    [dead]

  • happybox2016 5 hours ago ago

    [flagged]

  • franzramadhan 5 hours ago ago

    [flagged]

  • campervans 7 hours ago ago

    Game changer for entreprise (technical) debt

    • HasanGilani 3 hours ago ago

      Enterprise like technical debt