Add comprehensive documentation for employee learning platform
- Created handover document outlining design decisions and application functionality. - Developed implementation plan detailing phased approach for service development. - Specified ingestion service responsibilities, API surface, and processing pipeline.
This commit is contained in:
9
app/services/ingestion/src/lib/anthropic.ts
Normal file
9
app/services/ingestion/src/lib/anthropic.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import Anthropic from '@anthropic-ai/sdk';
|
||||
|
||||
export const anthropic = new Anthropic({
|
||||
apiKey: process.env['ANTHROPIC_API_KEY'],
|
||||
});
|
||||
|
||||
export const MODELS = {
|
||||
SONNET: 'claude-sonnet-4-20250514',
|
||||
} as const;
|
||||
9
app/services/ingestion/src/lib/openai.ts
Normal file
9
app/services/ingestion/src/lib/openai.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import OpenAI from 'openai';
|
||||
|
||||
export const openai = new OpenAI({
|
||||
apiKey: process.env['OPENAI_API_KEY'],
|
||||
});
|
||||
|
||||
export const EMBEDDING_MODEL = 'text-embedding-3-small';
|
||||
export const EMBEDDING_DIMENSIONS = 1536;
|
||||
export const EMBEDDING_BATCH_SIZE = 100;
|
||||
14
app/services/ingestion/src/lib/pocketbase.ts
Normal file
14
app/services/ingestion/src/lib/pocketbase.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import PocketBase from 'pocketbase';
|
||||
|
||||
const POCKETBASE_URL = process.env['POCKETBASE_URL'] ?? '';
|
||||
const POCKETBASE_ADMIN_EMAIL = process.env['POCKETBASE_ADMIN_EMAIL'] ?? '';
|
||||
const POCKETBASE_ADMIN_PASSWORD = process.env['POCKETBASE_ADMIN_PASSWORD'] ?? '';
|
||||
|
||||
const pb = new PocketBase(POCKETBASE_URL);
|
||||
|
||||
export async function getPocketBase(): Promise<PocketBase> {
|
||||
if (!pb.authStore.isValid) {
|
||||
await pb.admins.authWithPassword(POCKETBASE_ADMIN_EMAIL, POCKETBASE_ADMIN_PASSWORD);
|
||||
}
|
||||
return pb;
|
||||
}
|
||||
14
app/services/ingestion/src/lib/qdrant.ts
Normal file
14
app/services/ingestion/src/lib/qdrant.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { QdrantClient } from '@qdrant/js-client-rest';
|
||||
|
||||
const QDRANT_URL = process.env['QDRANT_URL'] ?? '';
|
||||
const QDRANT_API_KEY = process.env['QDRANT_API_KEY'] ?? '';
|
||||
|
||||
export const qdrant = new QdrantClient({
|
||||
url: QDRANT_URL,
|
||||
...(QDRANT_API_KEY ? { apiKey: QDRANT_API_KEY } : {}),
|
||||
});
|
||||
|
||||
export const QDRANT_COLLECTIONS = {
|
||||
SOURCE_CHUNKS: 'source_chunks',
|
||||
TOPIC_SUMMARIES: 'topic_summaries',
|
||||
} as const;
|
||||
Reference in New Issue
Block a user