@Björn-Hagström Jag har provat och jag har för mig att det fungerade men har inget fungerande exempel på dataportalen.se just nu. Jag ska försöka att göra det i helgen igen!
Jag tror att det var dct:hasPart som användes och jag pekade mot en annan DCAT-AP-fil.
Community på Sveriges dataportal
PierreMesure
Inlägg
-
-
Det här kan jag tycka är en konstig debatt och ganska specifik till Sverige. I många andra länder gör den nationella dataportalen båda saker, dvs. man kan ladda upp filer upp till en viss storlek eller låta portalen skörda från sin egen katalog.
Att det inte går att göra så i Sverige är ett märkligt val från början. Det kanske ökar marknaden för kataloger på kort sikt men det sätter också en orimlig tröskel för små organisationer (90% av kommunerna och myndigheterna) som då aldrig kommer igång med öppna data. I Frankrike kan vem som helst ladda upp en datamängd, inklusive alternativa dataformat eller återanvändningar för en befintlig datamängd. Även småföreningar och privatpersoner publicerar intressanta datamängder. Det har inte minskat behovet för kataloger i större myndigheter och kommuner. Tvärtom, det är sannolikt EU-landet som har flest kataloger per capita...
Så inget problem att kombinera de två strategierna enligt mig, tvärtom.
-
Hi everyone,
At ESV's datalab, we work a lot with AI and we try to be as open as possible about the outcome of our projects. A lot of them are web applications which are made available to everyone on our website: datalabb.esv.se. In some cases, we publish the results and lessons learnt as reports. I'm also hopeful we'll be able to publish more and more of our code in the future.
In the meantime, I thought I'd publish a short post on this forum to talk about some of the open source tech we use in our projects. My hope is that you find something interesting and if you already are using one of these tools, don't hesitate to contribute to the discussion below. I also added the tools to the amazing list at offentligkod.se.
LLM
More and more of our projects revolve around the use of large language models (LLM) so I'll start with that. Our first real project last year was called Fråga GPT (report) and based on OpenAI's models GPT-3.5 and GPT-4.
Since then, the competition has increased and even though we still use GPT-4 a lot, we routinely use Claude, Mistral, Llama2/3 and many others.
Langchain
In order to make it easier to switch, we've been using Langchain, a Python framework that lets you call a large number of APIs with reusable components. You can in theory write a single pipeline and switch the underlying model.
from langchain_openai import ChatOpenAI from langchain_community.chat_models import ChatOllama prompt = "Find the information in this document: {{ document }}." cloud_llm = ChatOpenAI(model="gpt-4") cloud_answer = cloud_llm.invoke(prompt) local_llm = ChatOllama(model="llama3") local_answer = local_llm.invoke(prompt)
In practice, this can prove harder as LLM products don't have the same function set (some have a JSON mode, function calling, others don't) and specific instructions are often required to optimise for each model.
Still, a toolbox that abstracts the complexity of connecting to various providers if very useful! We've also been testing tools such as instructor, guidance or lmql in order to get more control on the output text but we are not using them yet in our projects.
LlamaIndex
We mainly use LlamaIndex to build RAG pipelines. RAG (retrieval augmented generation) is the process of providing relevant context to a large language model so it can answer a question better. We are for instance building an assistant able to browse legislation and a large number of work documents to answer questions about them.
LlamaIndex is helpful and abstracts a lot of the underlying logic but it can also be hard to understand how things work. In order to improve performance, we translated the built-in prompts to Swedish. Just like many other tools in this field, the edges are still a bit rough.
Local models
Ollama
In order to run local models, we use Ollama. It's very simple to deploy new models and Ollama's API can be plugged into most systems, including the two mentioned above. When Llama3 came out a few weeks ago, we were running it on our local workstation half an hour later.
There are alternatives such as vLLM, LiteLLM and LocalAI and we might switch to one of them for production (or even bare transformers or llama.cpp for inference) but Ollama is hard to beat for simplicity and quick testing.
UI
For several projects (including FrågaGPT and our current RAG project), we developed our own simple UIs. Mostly because there were still few products available when we started and we wanted to build in robust feedback features to let users evaluate the results. We are currently trying open source UIs that are ready to deploy and that we can plug our various models onto. In the future, we will probably either integrate AI features in our work tools or use ready-made UIs such as the ones we're testing now. But there are new solutions popping up every week so it's hard to keep track of which ones are best. Here's some of the ones we tried:
Open WebUI
Open WebUI is a typical clone of ChatGPT and we plug it on top of Ollama so we can test local models: Llama 2/3, Mistral, Mixtral, Phi... In addition to basic features, it is possible to save assistants with a custom instruction (much like OpenAI's GPTs), to upload documents that assistants use in their answers and to have several models answer the same question simultaneously (for easy comparison). Some other basic features that are useful for us is an admin panel with user management and evaluation features for each answer. The conversations and feedback can be exported as JSON for analysis.
AnythingLLM
AnythingLLM is very similar. It also has good user rights management. It can be plugged to our local models on Ollama as well as all major cloud LLM providers (OpenAI, Anthropic, Mistral...). The UI looks promising for its RAG capabilities as it makes it easy to import a large number of documents and to create "workspaces" accessing them. But it's unclear whether the quality of the retrieval is good enough and whether it's possible to tweak the RAG pipeline to optimise it.
Flowise
Flowise is more advanced than the others and doesn't work out of the box. It's more of an orchestration tool where you assemble blocks to connect data sources, prompt templates, output parsers and LLM APIs, all in a drag-and-drop interface. It's a promising complement to LlamaIndex in that it theoretically could let collaborators at ESV build and test their own pipelines without coding a single line. If the results are interesting, we could then build a more elaborate system with robust quality control. We know of at least one of example of Flowise use in the Swedish public sector: one of the winning teams at last eSam's hackathon used it to build its prototype.
Flowise has some competitors that we didn't test: dify and Langflow.
We're very curious to hear what other Swedish government agencies are using. I recently saw that Skolverket was preparing to roll out an assistant to its coworkers that builds on LibreChat.
Programming
Continue
As a side track, we've also been testing alternatives to Github Copilot to assist in coding. We first tried Tabby that could auto-complete or suggest whole blocks but the results weren't good enough to make us adopt it. Since April, we are testing Continue and I am much more impressed by its potential.
Functionally, Continue integrates in your IDE (VSCode or JetBrains) and is available as an assistant that has indexed your project's code. You can have a conversation with the assistant and quickly point to some parts of the code in order to debug or improve them. It can then suggest new code that can be reviewed before being integrated. It can also auto-complete whole blocks like Tabby.
Continue integrates with Ollama so we have 5-6 models there that we have been trying. For autocomplete, a small one like starcoder2:3b provides new code almost instantly. For conversation, codellama:7b and deepseek-llm:7b work great and we can hope that the next CodeLlama based on Llama3 will be even more convincing.
Unfortunately, Continue isn't available for Visual Studio 2022, which a majority of our agency's developers use. But I'm hopeful the same sort of tools will come and we recently managed to connect this extension to our local models on Ollama.
Conclusion
This list could be a lot longer, we use open source software in almost all we do. I hope this little text can be interesting and that we can start a conversation on what tools we use to build (generative) AI in the Swedish public sector.
What do you use at your agency or municipality? Don't hesitate to reply in this thread and to get in touch with us! We'd love to collaborate!
-
Det står i deras dokumentation. Just nu är det 2.1 som gäller och eftersom det är ett tyskt företag som används mycket i europeisk offentlig sektor kan man anta att de kommer uppdatera produkten för att uppfylla kraven för 2.2 när det blir obligatoriskt.
Det är ändå en relevant fråga och viktigt att svenska myndigheter bidrar till verktygets tillgänglighetsarbete om vi börjar använda Nextcloud i större utsträckning.
-
Hej,
Numera jobbar jag på Ekonomistyrningsverkets datalabb och vi lanserar nästa version av vår applikation Hitta remissvar på torsdag kl.9.
Anmälningslänk (digitalt eller fysiskt i Stockholm)
Hitta remissvar gör det enkelt att söka i statliga utredningar samt remissvar. Med hjälp av AI kan man hitta liknande förslag och synpunkter, även från mycket äldre utredningar och remissvar.
Under seminariet kommer vi kort presentera applikationens nya funktioner men vi vill gärna använda tiden till en öppen diskussion i AI:s tillämpningar i statsförvaltningen.
Att publicera datamängderna som skapas av applikationen ligger också på bordet och vi vill gärna höra era behov kring det
-
Frankrike fortsätter att trycka principen om en öppen digitalisering både på nationell mark och i EU. Och det gäller såklart även utvecklingen av stora språkmodeller.
Kan vi bygga en liknande rörelse i Sverige med aktörer som AI Sweden, politiker och myndigheter/kommuner?
-
Jag har velat visualisera ESVs budgetdata i flera år! Det är faktiskt synt att de gjorde insatsen att publicera det för så länge sedan men det användes aldrig. Det har kanske påverkat deras motivering att publicera mer.
Förhoppningsvis hinner jag i år och med AI i någon form.
Om du letar efter innovativa användningar av ESVs data kan jag rekommendera datalabbets projekt. Det fanns tidigare dashboards för budgeten. Och de har även använt AI för att strukturera data om remissprocessen. Om du vill återanvända remissdata är dock mitt projekt OpenRemiss fortfarande en bättre källa
-
Väldigt bra inspel Mattias!
Först tänkte jag säga att Sverige fick tydliga riktlinjer av OGP angående denna co-creation process. Jag bedömer som osannolikt att detta enda möte blir tillfredsställande. Vissa riktlinjer är verkligen enkla att uppfylla så jag kan bara rekommendera till NOD och InfraDep att kolla noggrant och åtminstone försöka "tick the boxes". Annars kommer Sverige få en till varning från OGP.
När det gäller mötet själv var det fortfarande oklart vad som kommer finnas i nästa handlingsplan. Frågorna vi fick jobba med handlade mycket om hur man kan skapa en bättre dialog, lyssna bättre på civilsamhällets behov och uppmuntra dem att använda mer det befinnande öppna data. Många deltagare bidrog med kloka tankar.
Det blev också återigen mycket bra inspel med vilka datamängder bör öppnas. Men de flesta finns redan tydligt kartlagda i DIGGs arbete och inom projekt som NOSAD, NSÖD, ÖDIS Dataverkstaden.
Från dessa har vi åtminstone 4-5 olika kartläggningar av viktiga datamängder som behöver öppnas.
Målet med Sveriges handlingsplan ska vara att bestämma över konkreta åtgärder som faktiskt leder till publiceringen av fler av dessa datamängder. Annars finns det en risk att Sveriges plan kritiseras igen av OGP och att vi till slut utesluts av organisationen.
Flera datakataloger och leverans till dataportal
Dataportal och NGP
Some open source products ESV's datalab uses to innovate with AI
Följer NextCloud Tillgänglighetsdirektivet?
21/3 kl.9 - ESV:s datalabb bjuder på frukostseminarium om AI
Open source AI i Europa, kan vi bygga in samma principer i Sverige?
Använda data från esv
Digital dialog kring Sveriges insatser och åtaganden för en mer öppen och transparent offentlig sektor