Skip to content

Commit e92ec3e

Browse files
debug: add debug log for assess gemini stream response delay and fix compose prod
1 parent a3dbbc4 commit e92ec3e

File tree

4 files changed

+38
-26
lines changed

4 files changed

+38
-26
lines changed

docker-compose.dev.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
services:
2-
postgres:
2+
cairo-coder-postgres:
33
image: pgvector/pgvector:pg17
4-
container_name: 'postgresql'
4+
container_name: 'cairo-coder-postgres'
55
shm_size: 1g
66
env_file:
77
- .env
@@ -19,8 +19,8 @@ services:
1919
retries: 5
2020
start_period: 10s
2121

22-
backend:
23-
container_name: 'backend'
22+
cairo-coder-backend:
23+
container_name: 'cairo-coder-backend'
2424
build:
2525
context: .
2626
dockerfile: backend.dockerfile
@@ -31,19 +31,19 @@ services:
3131
env_file:
3232
- packages/backend/.env
3333
depends_on:
34-
postgres:
34+
cairo-coder-postgres:
3535
condition: service_healthy
3636
restart: unless-stopped
3737
networks:
3838
- cairo_coder
3939

40-
ingester:
40+
cairo-coder-ingester:
4141
build:
4242
context: .
43-
dockerfile: ingest.dockerfile
43+
dockerfile: ingester.dockerfile
4444
profiles: ['ingester']
4545
depends_on:
46-
postgres:
46+
cairo-coder-postgres:
4747
condition: service_healthy
4848
networks:
4949
- cairo_coder

docker-compose.prod.yml

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ services:
44
container_name: cairo-coder-postgres
55
shm_size: 1g
66
env_file:
7-
- .env
7+
- ./config/.env
88
volumes:
99
- postgres_data:/var/lib/postgresql/data
1010
restart: unless-stopped
@@ -18,15 +18,13 @@ services:
1818
start_period: 10s
1919

2020
cairo-coder-backend:
21-
image: gchr.io/repo/cairo-coder-backend:123456
21+
image: ghcr.io/kasarlabs/cairo-coder/backend:sha-7e38821
2222
container_name: cairo-coder-backend
23-
env_file:
24-
- packages/backend/.env
25-
expose:
26-
- 3001
2723
depends_on:
28-
- postgres:
29-
condition: service_healthy
24+
cairo-coder-postgres:
25+
condition: service_healthy
26+
volumes:
27+
- ./config/config.toml:/app/packages/agents/config.toml
3028
restart: unless-stopped
3129
networks:
3230
- cairo_coder
@@ -38,19 +36,22 @@ services:
3836
labels:
3937
- 'traefik.enable=true'
4038
- 'traefik.docker.network=services'
41-
- 'traefik.http.routers.proxy.rule=Host(cairo-coder.kasar.io)'
42-
- 'traefik.http.routers.proxy.entrypoints=websecure'
43-
- 'traefik.http.routers.proxy.tls.certresolver=letsencrypt'
44-
- 'traefik.http.services.proxy.loadbalancer.server.port=3001'
39+
- 'traefik.http.routers.cairo-coder-backend.rule=Host(`cairo-coder.kasar.io`)'
40+
- 'traefik.http.routers.cairo-coder-backend.entrypoints=websecure'
41+
- 'traefik.http.routers.cairo-coder-backend.tls.certresolver=letsencrypt'
42+
- 'traefik.http.services.cairo-coder-backend.loadbalancer.server.port=3001'
4543

4644
cairo-coder-ingester:
47-
image: gchr.io/repo/cairo-coder-ingester:123456
45+
image: ghcr.io/kasarlabs/cairo-coder/ingester:sha-7e38821
4846
container_name: cairo-coder-ingester
47+
profiles: ['ingester']
48+
volumes:
49+
- ./config/config.toml:/app/packages/agents/config.toml
4950
depends_on:
50-
- postgres:
51-
condition: service_healthy
52-
- backend:
53-
condition: service_started
51+
cairo-coder-postgres:
52+
condition: service_healthy
53+
cairo-coder-backend:
54+
condition: service_started
5455
restart: 'no'
5556
networks:
5657
- cairo_coder

packages/agents/src/core/pipeline/answerGenerator.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,11 @@ export class AnswerGenerator {
2828
logger.debug('Final Prompt:' + prompt);
2929

3030
// Use stream instead of invoke, and pipe through StringOutputParser
31+
logger.debug('Before streaming response');
32+
const startTime = Date.now();
3133
const stream = await this.llm.stream(prompt);
3234
logger.debug('Started streaming response');
35+
logger.debug(`Time to stream: ${Date.now() - startTime}ms`);
3336
return stream;
3437
}
3538

packages/agents/src/core/pipeline/ragPipeline.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
import { Embeddings } from '@langchain/core/embeddings';
2-
import { RagInput, StreamHandler, RagSearchConfig, LLMConfig } from '../../types';
2+
import {
3+
RagInput,
4+
StreamHandler,
5+
RagSearchConfig,
6+
LLMConfig,
7+
} from '../../types';
38
import { QueryProcessor } from './queryProcessor';
49
import { DocumentRetriever } from './documentRetriever';
510
import { AnswerGenerator } from './answerGenerator';
@@ -61,10 +66,13 @@ export class RagPipeline {
6166

6267
// Step 3: Generate the answer as a stream
6368
const stream = await this.answerGenerator.generate(input, retrieved);
69+
const startTime = Date.now();
6470
for await (const chunk of stream) {
6571
handler.emitResponse(chunk);
72+
logger.debug(`Time to get chunk: ${Date.now() - startTime}ms`);
6673
}
6774
logger.debug('Stream ended');
75+
logger.debug(`Total time: ${Date.now() - startTime}ms`);
6876
handler.emitEnd();
6977
} catch (error) {
7078
logger.error('Pipeline error:', error);

0 commit comments

Comments
 (0)