Skip to content

darklordVirtual/aicodesamples

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AI og Integrasjoner - Kodeeksempler

Komplett kodebase for boken "AI og Integrasjoner: Fra grunnleggende til avansert" av Stian Skogbrott.

πŸ“š Om Prosjektet

Dette repositoryet inneholder alle kodeeksemplene fra boken, organisert i en modulær og testbar struktur som følger beste praksis for produksjonsklar Python-kode.

πŸ—οΈ Prosjektstruktur

aicodesamples/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ fundamentals/          # Del 1: Grunnleggende (Kap 1-3)
β”‚   β”‚   β”œβ”€β”€ ai_basics.py       # AI-klienter og grunnleggende bruk
β”‚   β”‚   β”œβ”€β”€ prompt_engineering.py
β”‚   β”‚   └── embeddings.py      # Embeddings og semantisk sΓΈk
β”‚   β”‚
β”‚   β”œβ”€β”€ vector_db/             # Del 2: Vektordatabaser (Kap 4-5)
β”‚   β”‚   β”œβ”€β”€ chromadb_basics.py
β”‚   β”‚   β”œβ”€β”€ advanced_chromadb.py
β”‚   β”‚   └── chunking.py
β”‚   β”‚
β”‚   β”œβ”€β”€ mcp/                   # Del 3: MCP (Kap 6-7)
β”‚   β”‚   β”œβ”€β”€ simple_server.py
β”‚   β”‚   β”œβ”€β”€ tripletex_server.py
β”‚   β”‚   └── tripletex_client.py
β”‚   β”‚
β”‚   β”œβ”€β”€ integrations/          # Del 4: Avanserte integrasjoner (Kap 8-10)
β”‚   β”‚   β”œβ”€β”€ rag_system.py
β”‚   β”‚   β”œβ”€β”€ agents.py
β”‚   β”‚   └── production.py      # FeilhΓ₯ndtering, retry, rate limiting
β”‚   β”‚
β”‚   β”œβ”€β”€ optimization/          # Del 5: Optimalisering (Kap 11-12)
β”‚   β”‚   β”œβ”€β”€ cost_optimization.py
β”‚   β”‚   └── testing.py
β”‚   β”‚
β”‚   β”œβ”€β”€ case_studies/          # Del 6: Case Studies (Kap 13-16)
β”‚   β”‚   β”œβ”€β”€ invoice_processing.py
β”‚   β”‚   β”œβ”€β”€ customer_support.py
β”‚   β”‚   β”œβ”€β”€ multimodal.py
β”‚   β”‚   └── ethics.py
β”‚   β”‚
β”‚   └── utils/                 # Felles verktΓΈy
β”‚       β”œβ”€β”€ config.py
β”‚       β”œβ”€β”€ logging_config.py
β”‚       └── security.py
β”‚
β”œβ”€β”€ tests/                     # Tester
β”‚   β”œβ”€β”€ test_fundamentals/
β”‚   β”œβ”€β”€ test_vector_db/
β”‚   β”œβ”€β”€ test_mcp/
β”‚   β”œβ”€β”€ test_integrations/
β”‚   └── test_case_studies/
β”‚
β”œβ”€β”€ examples/                  # Praktiske eksempler
β”‚   β”œβ”€β”€ 01_basic_ai_query.py
β”‚   β”œβ”€β”€ 02_chromadb_demo.py
β”‚   β”œβ”€β”€ 03_rag_demo.py
β”‚   └── 04_agent_demo.py
β”‚
β”œβ”€β”€ data/                      # Eksempeldata
β”œβ”€β”€ docs/                      # Dokumentasjon
β”œβ”€β”€ .env.example
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ pytest.ini
└── README.md

πŸš€ Kom i Gang

1. Klon Repositoryet

git clone https://github.com/luftfiber/ai-integrasjoner-norsk.git
cd ai-integrasjoner-norsk

2. Opprett Virtuelt MiljΓΈ

python -m venv venv
source venv/bin/activate  # PΓ₯ Windows: venv\Scripts\activate

3. Installer Avhengigheter

pip install -r requirements.txt

4. Konfigurer Environment

cp .env.example .env
# Rediger .env og legg til dine API-nΓΈkler

5. Verifiser Installasjonen

pytest tests/ -v

πŸ“– Brukseksempler

Grunnleggende AI-bruk

from src.fundamentals.ai_basics import AIClient

client = AIClient()
response = client.query("Forklar hva en vektordatabase er")
print(response)

Embeddings og Semantisk SΓΈk

from src.fundamentals.embeddings import EmbeddingService

service = EmbeddingService()
embedding = service.get_embedding("Fiberinstallasjon problemer")
similar = service.find_similar("Nettverksproblemer", n_results=5)

ChromaDB

from src.vector_db.chromadb_basics import KnowledgeBase

kb = KnowledgeBase()
kb.add_documents([
    "SLA garanterer 99.9% oppetid",
    "Installasjon tar 2-3 uker"
])
results = kb.search("Hva er oppetidsgarantien?")

RAG System

from src.integrations.rag_system import RAGSystem

rag = RAGSystem()
answer = rag.query("Hvordan installerer man fiber?")
print(answer['answer'])
print(answer['sources'])

Agent System

from src.integrations.agents import SimpleAgent

agent = SimpleAgent(tools={
    "get_customer": get_customer_func,
    "send_email": send_email_func
})

result = agent.run("Send pΓ₯minnelse til kunde #123")

πŸ§ͺ KjΓΈre Tester

# Alle tester
pytest

# Med coverage
pytest --cov=src --cov-report=html

# Spesifikk test-fil
pytest tests/test_fundamentals/test_ai_basics.py -v

# KjΓΈr kun raske tester (ekskluderer integrasjonstester)
pytest -m "not integration"

πŸ“ Kapittel-referanse

Kapittel Modul Beskrivelse
1-3 src/fundamentals/ AI-grunnlag, prompt engineering, embeddings
4-5 src/vector_db/ ChromaDB og vektordatabaser
6-7 src/mcp/ Model Context Protocol og Tripletex
8-10 src/integrations/ RAG, agenter, produksjonssikring
11-12 src/optimization/ Kostnader og testing
13-16 src/case_studies/ Fakturabehandling, kundesupport, etikk

πŸ”’ Sikkerhet

  • Alle API-nΓΈkler skal lagres i .env (aldri commit denne!)
  • Input-validering er implementert i src/utils/security.py
  • Prompt injection-sjekker er aktivert by default
  • GDPR-compliance fΓΈlger src/case_studies/ethics.py

🎯 MCP-servere

KjΓΈre Simple Customer Server

python src/mcp/simple_server.py

KjΓΈre Tripletex MCP Server

python src/mcp/tripletex_server.py

Konfigurer i Claude Desktop (~/.config/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "customer-db": {
      "command": "python3",
      "args": ["/full/path/to/src/mcp/simple_server.py"]
    },
    "tripletex": {
      "command": "python3",
      "args": ["/full/path/to/src/mcp/tripletex_server.py"]
    }
  }
}

πŸ“Š Performance

Systemet er optimalisert for:

  • ⚑ Rate limiting (konfigurerbart)
  • πŸ’Ύ Intelligent caching
  • πŸ”„ Automatisk retry med exponential backoff
  • πŸ“ˆ Batch-processing for store datamengder

πŸ“„ Lisens

All rights reserved

πŸ“§ Kontakt

πŸ™ Anerkjennelser

Takk til:

  • Anthropic for Claude API
  • OpenAI for embeddings API
  • ChromaDB-teamet
  • Tripletex for API-dokumentasjon

⭐ Hvis du finner dette nyttig, gi gjerne en star pΓ₯ GitHub!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages