Heat the olive oil in a medium-size pot on medium-high heat, and add the leeks, celery and garlic.
Saute the vegetables until tender, about 5 minutes.
Add the chicken or vegetable stock and bring to a boil. Reduce the heat and simmer for about 10 minutes or until the vegetables are soft.
Chill the soup well, and then transfer it to a blender. Add about half of the cucumber and cilantro and blend well to combine.
Add half of the avocado and Greek yogurt if using, and blend again until the soup is smooth.
Stir in the additional diced cucumber, cilantro and avocado and serve immediately.